Home Docs Introduction

API Reference

Understand general concepts, response codes, and authentication strategies.

Base URL

The Indieop API is built on REST principles. We enforce HTTPS in every request to improve data security, integrity, and privacy. The API does not support HTTP.

All requests contain the following base URL:

https://indieop.com/api/sdk

Authentication

To authenticate you need to add an X-API-Key header with your game's API key. You can find your API key in your game settings on the dashboard.

X-API-Key: your_game_api_key_here

Example Request

Here's an example of making an authenticated request using cURL:

curl -X GET "https://indieop.com/api/sdk/health" \
  -H "X-API-Key: your_game_api_key_here"

Important: Keep your API key secure and never expose it in client-side code. The API key should only be used in server-side or trusted environments like game engines.

Response Codes

Indieop uses standard HTTP codes to indicate the success or failure of your requests. In general, 2xx HTTP codes correspond to success, 4xx codes are for user-related failures, and 5xx codes are for infrastructure issues.

Status Description
200 Successful request.
201 Resource created successfully.
400 Bad request. Check that the parameters were correct.
401 The API key used was missing or invalid.
403 Forbidden. Your studio has reached its plan limits or the game is inactive.
404 The resource was not found.
405 HTTP method not allowed for this endpoint.
422 Validation failed. Check the error details in the response.
429 The rate limit was exceeded. Please slow down your requests.
5xx Indicates an error with Indieop servers.

Check Error Codes for a comprehensive breakdown of all possible API errors.

Response Format

All API responses are returned in JSON format with a consistent structure. Successful responses include a success field set to true, along with relevant data.

Success Response

{
  "success": true,
  "message": "Submission received successfully",
  "data": {
    "submission_id": "123e4567-e89b-12d3-a456-426614174000",
    "form_name": "Player Feedback",
    "form_tag": "feedback",
    "submitted_at": "2025-10-12T10:30:00.000000Z",
    "fields_count": 3
  }
}

Error Response

{
  "success": false,
  "message": "Validation failed",
  "errors": {
    "form_name": [
      "Form name is required."
    ],
    "fields": [
      "At least one field is required."
    ]
  }
}

Rate Limit

The default rate limit is 100 requests per minute per API key. If you exceed this limit, you'll receive a 429 response error code.

Rate limits are calculated per API key (per game) and reset every minute. We recommend implementing exponential backoff in your client code when handling rate limit errors.

Need higher limits? If your game requires a higher rate limit, please contact our support team at support@indieop.com to discuss your needs.

Learn more about our rate limits.

Available Endpoints

The Indieop API provides the following endpoints:

GET /api/sdk/health

Health check endpoint to verify API connectivity and authentication.

GET /api/sdk/forms

Retrieve all available forms for your game.

POST /api/sdk/submit

Submit form data from your game to collect player feedback, bug reports, or other data.

Getting Started

To start using the Indieop API:

  1. Create a game in your dashboard
  2. Copy your game's API key from the game settings
  3. Make HTTP requests to the API endpoints with your API key in the X-API-Key header
  4. Start collecting player feedback!

Using a game engine?

While you can use the API directly with any HTTP client, we also provide pre-built SDKs for popular game engines like Godot and Unity to make integration even easier. Check our documentation for SDK installation guides.