Home Docs POST Submit Form

Submit Form

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

POST
/ api/sdk/submit

Headers

X-API-Key
string required

Your game's API key for authentication. You can find this in your game settings on the dashboard.

Content-Type
string required

Must be set to application/json

Body Parameters

form_name
string required

Name of the form. Maximum 255 characters.

tag
string required

Unique identifier for the form. Used to group related submissions together. Maximum 100 characters.

form_type
string

Type of form being submitted. Allowed values:

  • general - General purpose forms
  • feedback - Player feedback
  • bug_report - Bug reports
player_identifier
string

Optional identifier for the player submitting the form (e.g., username, player ID). Maximum 255 characters.

game_version
string

Version of your game (e.g., "1.0.0", "v2.3.1"). Maximum 50 characters.

repository_version
string

Git commit hash or repository version (e.g., "abc123def", "main@1a2b3c4"). Maximum 100 characters.

fields
array required

Array of field objects containing the form data. Maximum 10 fields per submission. Each field must have unique keys.

Show nested properties
key
string required

Unique identifier for the field within this form. Must be distinct from other field keys. Maximum 100 characters.

label
string required

Display label for the field. Maximum 255 characters.

type
string required

Type of input field. Allowed values:

  • text - Free-form text input
  • dropdown - Select from predefined options
  • checkbox - Boolean yes/no value
  • rating - Numeric rating (1-5)
options
array conditional

Required only for dropdown field types. Array of string values representing the available options. Maximum 10 options, each up to 255 characters.

value
mixed required

The submitted value for this field. Type depends on field type:

  • text: string or number
  • checkbox: boolean (true, false) or boolean-like (1, 0, "true", "false")
  • dropdown: string that matches one of the provided options
  • rating: number between 1 and 5 (inclusive)

Request

curl -X POST "https://indieop.com/api/sdk/submit" \
  -H "X-API-Key: your_game_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "form_name": "Player Feedback",
    "tag": "feedback",
    "form_type": "feedback",
    "player_identifier": "player_12345",
    "game_version": "1.0.0",
    "repository_version": "abc123def",
    "fields": [
      {
        "key": "rating",
        "label": "Overall Rating",
        "type": "rating",
        "value": 5
      },
      {
        "key": "enjoyed",
        "label": "Did you enjoy the game?",
        "type": "checkbox",
        "value": true
      },
      {
        "key": "difficulty",
        "label": "Difficulty Level",
        "type": "dropdown",
        "options": ["Easy", "Medium", "Hard"],
        "value": "Medium"
      },
      {
        "key": "comments",
        "label": "Additional Comments",
        "type": "text",
        "value": "Great game! Really enjoyed the gameplay."
      }
    ]
  }'

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-13T10:30:00.000000Z",
    "fields_count": 4
  }
}

Response Schema

success
boolean

Indicates if the submission was successful.

message
string

Human-readable success message.

data
object

Container object with submission details.

Show nested properties
submission_id
string

Unique UUID identifier for this submission.

form_name
string

Name of the submitted form.

form_tag
string

Tag identifier for the submitted form.

submitted_at
string

ISO 8601 timestamp of when the submission was received.

fields_count
integer

Number of fields included in the submission.

Error Responses

401 Unauthorized

Missing or invalid API key.

403 Forbidden

Studio has reached its submission limit for the current billing period.

404 Not Found

Game not found or inactive.

422 Unprocessable Entity

Validation failed. Common issues:

  • Missing required fields
  • Invalid field types or values
  • Duplicate field keys
  • Exceeding maximum field count (10 fields)
  • Invalid dropdown value
  • Invalid rating value (must be 1-5)
429 Too Many Requests

Rate limit exceeded (100 requests per minute).

500 Internal Server Error

Something went wrong. Try again or contact support.

See Error Codes for detailed information about all possible errors.