---
title: Submit a public form
description: Creates an idempotent ticket and returns its public reference. The
  request must come from an allowed browser origin and anonymous callers must
  pass BotID. A bearer credential is optional.
type: api-reference
source: ./openapi/inth-api.json
method: post
path: /v1/forms/{type}
operationId: submitPublicForm
server: https://api.inth.com
apiVersion: 1.0.0
tags:
  - Forms
canonicalUrl: https://inth.com/docs/api/rest-api/forms/submit-public-form
lastModified: "2026-09-01T00:39:09.538Z"
---
```http
POST /v1/forms/{type}
```

Server: `https://api.inth.com`

Operation ID: `submitPublicForm`

## Request

### Path Parameters

|Name|Type|Required|Description|
|:--|:--|:--|:--|
|`type`|"support" \|"sales" \|"feedback" \|"feature\_request"|required||

### Request Body

required

Content type: application/json

Schema: object | object | object | object

JSON Schema:

```json
{
  "oneOf": [
    {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "clientSubmissionId",
        "payload",
        "requesterEmail",
        "requesterName",
        "startedAt"
      ],
      "properties": {
        "attachments": {
          "type": "array",
          "maxItems": 5,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "oneOf": [
              {
                "properties": {
                  "mediaType": {
                    "type": "string",
                    "enum": [
                      "image/gif",
                      "image/jpeg",
                      "image/png",
                      "image/webp"
                    ]
                  },
                  "sizeBytes": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 10485760
                  }
                }
              },
              {
                "properties": {
                  "mediaType": {
                    "type": "string",
                    "enum": [
                      "video/mp4",
                      "video/quicktime",
                      "video/webm"
                    ]
                  },
                  "sizeBytes": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 104857600
                  }
                }
              }
            ],
            "required": [
              "clientAttachmentId",
              "fileName",
              "mediaType",
              "sizeBytes"
            ],
            "properties": {
              "clientAttachmentId": {
                "type": "string",
                "format": "uuid"
              },
              "fileName": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              },
              "mediaType": {
                "type": "string",
                "enum": [
                  "image/gif",
                  "image/jpeg",
                  "image/png",
                  "image/webp",
                  "video/mp4",
                  "video/quicktime",
                  "video/webm"
                ]
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 1,
                "maximum": 104857600
              }
            }
          }
        },
        "clientSubmissionId": {
          "type": "string",
          "format": "uuid"
        },
        "context": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "referrer": {
              "type": "string",
              "maxLength": 2048
            },
            "sourceUrl": {
              "type": "string",
              "maxLength": 2048
            },
            "utmCampaign": {
              "type": "string",
              "maxLength": 255
            },
            "utmContent": {
              "type": "string",
              "maxLength": 255
            },
            "utmMedium": {
              "type": "string",
              "maxLength": 255
            },
            "utmSource": {
              "type": "string",
              "maxLength": 255
            },
            "utmTerm": {
              "type": "string",
              "maxLength": 255
            }
          }
        },
        "payload": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "message",
            "subject"
          ],
          "properties": {
            "message": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64000
            },
            "subject": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            }
          }
        },
        "requesterEmail": {
          "type": "string",
          "format": "email",
          "maxLength": 255
        },
        "requesterName": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "startedAt": {
          "type": "string",
          "format": "date-time"
        },
        "website": {
          "type": "string",
          "maxLength": 255
        }
      }
    },
    {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "clientSubmissionId",
        "payload",
        "requesterEmail",
        "requesterName",
        "startedAt"
      ],
      "properties": {
        "attachments": {
          "type": "array",
          "maxItems": 5,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "oneOf": [
              {
                "properties": {
                  "mediaType": {
                    "type": "string",
                    "enum": [
                      "image/gif",
                      "image/jpeg",
                      "image/png",
                      "image/webp"
                    ]
                  },
                  "sizeBytes": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 10485760
                  }
                }
              },
              {
                "properties": {
                  "mediaType": {
                    "type": "string",
                    "enum": [
                      "video/mp4",
                      "video/quicktime",
                      "video/webm"
                    ]
                  },
                  "sizeBytes": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 104857600
                  }
                }
              }
            ],
            "required": [
              "clientAttachmentId",
              "fileName",
              "mediaType",
              "sizeBytes"
            ],
            "properties": {
              "clientAttachmentId": {
                "type": "string",
                "format": "uuid"
              },
              "fileName": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              },
              "mediaType": {
                "type": "string",
                "enum": [
                  "image/gif",
                  "image/jpeg",
                  "image/png",
                  "image/webp",
                  "video/mp4",
                  "video/quicktime",
                  "video/webm"
                ]
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 1,
                "maximum": 104857600
              }
            }
          }
        },
        "clientSubmissionId": {
          "type": "string",
          "format": "uuid"
        },
        "context": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "referrer": {
              "type": "string",
              "maxLength": 2048
            },
            "sourceUrl": {
              "type": "string",
              "maxLength": 2048
            },
            "utmCampaign": {
              "type": "string",
              "maxLength": 255
            },
            "utmContent": {
              "type": "string",
              "maxLength": 255
            },
            "utmMedium": {
              "type": "string",
              "maxLength": 255
            },
            "utmSource": {
              "type": "string",
              "maxLength": 255
            },
            "utmTerm": {
              "type": "string",
              "maxLength": 255
            }
          }
        },
        "payload": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "companyName",
            "companySize",
            "message",
            "role"
          ],
          "properties": {
            "companyName": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "companySize": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "message": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64000
            },
            "role": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            }
          }
        },
        "requesterEmail": {
          "type": "string",
          "format": "email",
          "maxLength": 255
        },
        "requesterName": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "startedAt": {
          "type": "string",
          "format": "date-time"
        },
        "website": {
          "type": "string",
          "maxLength": 255
        }
      }
    },
    {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "clientSubmissionId",
        "payload",
        "startedAt"
      ],
      "properties": {
        "attachments": {
          "type": "array",
          "maxItems": 5,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "oneOf": [
              {
                "properties": {
                  "mediaType": {
                    "type": "string",
                    "enum": [
                      "image/gif",
                      "image/jpeg",
                      "image/png",
                      "image/webp"
                    ]
                  },
                  "sizeBytes": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 10485760
                  }
                }
              },
              {
                "properties": {
                  "mediaType": {
                    "type": "string",
                    "enum": [
                      "video/mp4",
                      "video/quicktime",
                      "video/webm"
                    ]
                  },
                  "sizeBytes": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 104857600
                  }
                }
              }
            ],
            "required": [
              "clientAttachmentId",
              "fileName",
              "mediaType",
              "sizeBytes"
            ],
            "properties": {
              "clientAttachmentId": {
                "type": "string",
                "format": "uuid"
              },
              "fileName": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              },
              "mediaType": {
                "type": "string",
                "enum": [
                  "image/gif",
                  "image/jpeg",
                  "image/png",
                  "image/webp",
                  "video/mp4",
                  "video/quicktime",
                  "video/webm"
                ]
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 1,
                "maximum": 104857600
              }
            }
          }
        },
        "clientSubmissionId": {
          "type": "string",
          "format": "uuid"
        },
        "context": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "referrer": {
              "type": "string",
              "maxLength": 2048
            },
            "sourceUrl": {
              "type": "string",
              "maxLength": 2048
            },
            "utmCampaign": {
              "type": "string",
              "maxLength": 255
            },
            "utmContent": {
              "type": "string",
              "maxLength": 255
            },
            "utmMedium": {
              "type": "string",
              "maxLength": 255
            },
            "utmSource": {
              "type": "string",
              "maxLength": 255
            },
            "utmTerm": {
              "type": "string",
              "maxLength": 255
            }
          }
        },
        "payload": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "message",
            "rating"
          ],
          "properties": {
            "message": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64000
            },
            "rating": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5
            }
          }
        },
        "requesterEmail": {
          "type": "string",
          "format": "email",
          "maxLength": 255
        },
        "startedAt": {
          "type": "string",
          "format": "date-time"
        },
        "website": {
          "type": "string",
          "maxLength": 255
        }
      }
    },
    {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "clientSubmissionId",
        "payload",
        "startedAt"
      ],
      "properties": {
        "attachments": {
          "type": "array",
          "maxItems": 5,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "oneOf": [
              {
                "properties": {
                  "mediaType": {
                    "type": "string",
                    "enum": [
                      "image/gif",
                      "image/jpeg",
                      "image/png",
                      "image/webp"
                    ]
                  },
                  "sizeBytes": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 10485760
                  }
                }
              },
              {
                "properties": {
                  "mediaType": {
                    "type": "string",
                    "enum": [
                      "video/mp4",
                      "video/quicktime",
                      "video/webm"
                    ]
                  },
                  "sizeBytes": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 104857600
                  }
                }
              }
            ],
            "required": [
              "clientAttachmentId",
              "fileName",
              "mediaType",
              "sizeBytes"
            ],
            "properties": {
              "clientAttachmentId": {
                "type": "string",
                "format": "uuid"
              },
              "fileName": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              },
              "mediaType": {
                "type": "string",
                "enum": [
                  "image/gif",
                  "image/jpeg",
                  "image/png",
                  "image/webp",
                  "video/mp4",
                  "video/quicktime",
                  "video/webm"
                ]
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 1,
                "maximum": 104857600
              }
            }
          }
        },
        "clientSubmissionId": {
          "type": "string",
          "format": "uuid"
        },
        "context": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "referrer": {
              "type": "string",
              "maxLength": 2048
            },
            "sourceUrl": {
              "type": "string",
              "maxLength": 2048
            },
            "utmCampaign": {
              "type": "string",
              "maxLength": 255
            },
            "utmContent": {
              "type": "string",
              "maxLength": 255
            },
            "utmMedium": {
              "type": "string",
              "maxLength": 255
            },
            "utmSource": {
              "type": "string",
              "maxLength": 255
            },
            "utmTerm": {
              "type": "string",
              "maxLength": 255
            }
          }
        },
        "payload": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "message",
            "productArea"
          ],
          "properties": {
            "message": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64000
            },
            "productArea": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            }
          }
        },
        "requesterEmail": {
          "type": "string",
          "format": "email",
          "maxLength": 255
        },
        "requesterName": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "startedAt": {
          "type": "string",
          "format": "date-time"
        },
        "website": {
          "type": "string",
          "maxLength": 255
        }
      }
    }
  ]
}
```

## Code Examples

### cURL

```bash
curl -X POST "https://api.inth.com/v1/forms/support" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### JavaScript

```ts
const response = await fetch("https://api.inth.com/v1/forms/support", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({}),
});
const data = await response.json();
```

## Responses

### 201

Form ticket created, or the original result returned for an idempotent retry.

Content type: application/json

|Property|Type|Required|Description|
|:--|:--|:--|:--|
|`success`|boolean|required||
|`data`|object|required||
|`data.attachments`|object\[]|required||
|`data.attachments[].attachmentId`|string|required||
|`data.attachments[].clientAttachmentId`|string (uuid)|required||
|`data.attachments[].upload`|object|required||
|`data.attachments[].upload.expiresAt`|string (date-time)|required||
|`data.attachments[].upload.mediaType`|string|required||
|`data.attachments[].upload.method`|string|required||
|`data.attachments[].upload.url`|string (uri)|required||
|`data.reference`|string|required||

Example:

```json
{
  "success": true,
  "data": {
    "attachments": [
      {
        "attachmentId": "string",
        "clientAttachmentId": "123e4567-e89b-12d3-a456-426614174000",
        "upload": {
          "expiresAt": "2024-01-15T09:30:00Z",
          "mediaType": "string",
          "method": "string",
          "url": "https://example.com"
        }
      }
    ],
    "reference": "string"
  }
}
```

JSON Schema:

```json
{
  "type": "object",
  "required": [
    "success",
    "data"
  ],
  "properties": {
    "success": {
      "type": "boolean",
      "const": true
    },
    "data": {
      "type": "object",
      "required": [
        "attachments",
        "reference"
      ],
      "properties": {
        "attachments": {
          "type": "array",
          "maxItems": 5,
          "items": {
            "type": "object",
            "required": [
              "attachmentId",
              "clientAttachmentId",
              "upload"
            ],
            "properties": {
              "attachmentId": {
                "type": "string",
                "pattern": "^sat_[1-9a-km-z]+$"
              },
              "clientAttachmentId": {
                "type": "string",
                "format": "uuid"
              },
              "upload": {
                "type": "object",
                "required": [
                  "expiresAt",
                  "mediaType",
                  "method",
                  "url"
                ],
                "properties": {
                  "expiresAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "mediaType": {
                    "type": "string"
                  },
                  "method": {
                    "type": "string",
                    "const": "PUT"
                  },
                  "url": {
                    "type": "string",
                    "format": "uri"
                  }
                }
              }
            }
          }
        },
        "reference": {
          "type": "string",
          "pattern": "^(?:SUP|SAL|FDB|FEA)-(?:[0-9]{6,}|[1-9A-KM-Z]{12})$"
        }
      }
    }
  }
}
```

### 400

The request payload or parameters are invalid.

Content type: application/json

|Property|Type|Required|Description|
|:--|:--|:--|:--|
|`success`|boolean|required||
|`error`|object|required||
|`error.code`|"UNAUTHORIZED" \|"FORBIDDEN" \|"INSTANCE\_LIMIT\_REACHED" \|"PLAN\_LIMIT\_REACHED" \|"PLAN\_REQUIRED" \|"INVALID\_ORIGIN" \|"INVALID\_REGION" \|"INVALID\_PAYLOAD" \|"NOT\_FOUND" \|"CONFLICT" \|"KEY\_LIMIT\_REACHED" \|"PAYLOAD\_TOO\_LARGE" \|"RATE\_LIMITED" \|"SERVICE\_UNAVAILABLE" \|"INTERNAL\_ERROR"|required||
|`error.message`|string|required||
|`error.details`|unknown|optional|Optional structured error details.|

Example: default

```json
{
  "success": false,
  "error": {
    "code": "INVALID_PAYLOAD",
    "message": "Invalid request payload",
    "details": [
      {
        "code": "too_small",
        "message": "Too small: expected string to have >=1 characters",
        "path": [
          "name"
        ]
      }
    ]
  }
}
```

JSON Schema:

```json
{
  "type": "object",
  "required": [
    "success",
    "error"
  ],
  "properties": {
    "success": {
      "type": "boolean",
      "const": false
    },
    "error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "UNAUTHORIZED",
            "FORBIDDEN",
            "INSTANCE_LIMIT_REACHED",
            "PLAN_LIMIT_REACHED",
            "PLAN_REQUIRED",
            "INVALID_ORIGIN",
            "INVALID_REGION",
            "INVALID_PAYLOAD",
            "NOT_FOUND",
            "CONFLICT",
            "KEY_LIMIT_REACHED",
            "PAYLOAD_TOO_LARGE",
            "RATE_LIMITED",
            "SERVICE_UNAVAILABLE",
            "INTERNAL_ERROR"
          ]
        },
        "message": {
          "type": "string"
        },
        "details": {
          "description": "Optional structured error details."
        }
      }
    }
  }
}
```

### 401

Authentication is missing, invalid, or expired.

Content type: application/json

|Property|Type|Required|Description|
|:--|:--|:--|:--|
|`success`|boolean|required||
|`error`|object|required||
|`error.code`|"UNAUTHORIZED" \|"FORBIDDEN" \|"INSTANCE\_LIMIT\_REACHED" \|"PLAN\_LIMIT\_REACHED" \|"PLAN\_REQUIRED" \|"INVALID\_ORIGIN" \|"INVALID\_REGION" \|"INVALID\_PAYLOAD" \|"NOT\_FOUND" \|"CONFLICT" \|"KEY\_LIMIT\_REACHED" \|"PAYLOAD\_TOO\_LARGE" \|"RATE\_LIMITED" \|"SERVICE\_UNAVAILABLE" \|"INTERNAL\_ERROR"|required||
|`error.message`|string|required||
|`error.details`|unknown|optional|Optional structured error details.|

Example: default

```json
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Authentication required"
  }
}
```

JSON Schema:

```json
{
  "type": "object",
  "required": [
    "success",
    "error"
  ],
  "properties": {
    "success": {
      "type": "boolean",
      "const": false
    },
    "error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "UNAUTHORIZED",
            "FORBIDDEN",
            "INSTANCE_LIMIT_REACHED",
            "PLAN_LIMIT_REACHED",
            "PLAN_REQUIRED",
            "INVALID_ORIGIN",
            "INVALID_REGION",
            "INVALID_PAYLOAD",
            "NOT_FOUND",
            "CONFLICT",
            "KEY_LIMIT_REACHED",
            "PAYLOAD_TOO_LARGE",
            "RATE_LIMITED",
            "SERVICE_UNAVAILABLE",
            "INTERNAL_ERROR"
          ]
        },
        "message": {
          "type": "string"
        },
        "details": {
          "description": "Optional structured error details."
        }
      }
    }
  }
}
```

### 403

The authenticated principal cannot access the resource.

Content type: application/json

|Property|Type|Required|Description|
|:--|:--|:--|:--|
|`success`|boolean|required||
|`error`|object|required||
|`error.code`|"UNAUTHORIZED" \|"FORBIDDEN" \|"INSTANCE\_LIMIT\_REACHED" \|"PLAN\_LIMIT\_REACHED" \|"PLAN\_REQUIRED" \|"INVALID\_ORIGIN" \|"INVALID\_REGION" \|"INVALID\_PAYLOAD" \|"NOT\_FOUND" \|"CONFLICT" \|"KEY\_LIMIT\_REACHED" \|"PAYLOAD\_TOO\_LARGE" \|"RATE\_LIMITED" \|"SERVICE\_UNAVAILABLE" \|"INTERNAL\_ERROR"|required||
|`error.message`|string|required||
|`error.details`|unknown|optional|Optional structured error details.|

Example:

```json
{
  "success": true,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "string",
    "details": {}
  }
}
```

JSON Schema:

```json
{
  "type": "object",
  "required": [
    "success",
    "error"
  ],
  "properties": {
    "success": {
      "type": "boolean",
      "const": false
    },
    "error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "UNAUTHORIZED",
            "FORBIDDEN",
            "INSTANCE_LIMIT_REACHED",
            "PLAN_LIMIT_REACHED",
            "PLAN_REQUIRED",
            "INVALID_ORIGIN",
            "INVALID_REGION",
            "INVALID_PAYLOAD",
            "NOT_FOUND",
            "CONFLICT",
            "KEY_LIMIT_REACHED",
            "PAYLOAD_TOO_LARGE",
            "RATE_LIMITED",
            "SERVICE_UNAVAILABLE",
            "INTERNAL_ERROR"
          ]
        },
        "message": {
          "type": "string"
        },
        "details": {
          "description": "Optional structured error details."
        }
      }
    }
  }
}
```

### 404

The requested resource was not found.

Content type: application/json

|Property|Type|Required|Description|
|:--|:--|:--|:--|
|`success`|boolean|required||
|`error`|object|required||
|`error.code`|"UNAUTHORIZED" \|"FORBIDDEN" \|"INSTANCE\_LIMIT\_REACHED" \|"PLAN\_LIMIT\_REACHED" \|"PLAN\_REQUIRED" \|"INVALID\_ORIGIN" \|"INVALID\_REGION" \|"INVALID\_PAYLOAD" \|"NOT\_FOUND" \|"CONFLICT" \|"KEY\_LIMIT\_REACHED" \|"PAYLOAD\_TOO\_LARGE" \|"RATE\_LIMITED" \|"SERVICE\_UNAVAILABLE" \|"INTERNAL\_ERROR"|required||
|`error.message`|string|required||
|`error.details`|unknown|optional|Optional structured error details.|

Example:

```json
{
  "success": true,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "string",
    "details": {}
  }
}
```

JSON Schema:

```json
{
  "type": "object",
  "required": [
    "success",
    "error"
  ],
  "properties": {
    "success": {
      "type": "boolean",
      "const": false
    },
    "error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "UNAUTHORIZED",
            "FORBIDDEN",
            "INSTANCE_LIMIT_REACHED",
            "PLAN_LIMIT_REACHED",
            "PLAN_REQUIRED",
            "INVALID_ORIGIN",
            "INVALID_REGION",
            "INVALID_PAYLOAD",
            "NOT_FOUND",
            "CONFLICT",
            "KEY_LIMIT_REACHED",
            "PAYLOAD_TOO_LARGE",
            "RATE_LIMITED",
            "SERVICE_UNAVAILABLE",
            "INTERNAL_ERROR"
          ]
        },
        "message": {
          "type": "string"
        },
        "details": {
          "description": "Optional structured error details."
        }
      }
    }
  }
}
```

### 409

The request conflicts with the current resource state.

Content type: application/json

|Property|Type|Required|Description|
|:--|:--|:--|:--|
|`success`|boolean|required||
|`error`|object|required||
|`error.code`|"UNAUTHORIZED" \|"FORBIDDEN" \|"INSTANCE\_LIMIT\_REACHED" \|"PLAN\_LIMIT\_REACHED" \|"PLAN\_REQUIRED" \|"INVALID\_ORIGIN" \|"INVALID\_REGION" \|"INVALID\_PAYLOAD" \|"NOT\_FOUND" \|"CONFLICT" \|"KEY\_LIMIT\_REACHED" \|"PAYLOAD\_TOO\_LARGE" \|"RATE\_LIMITED" \|"SERVICE\_UNAVAILABLE" \|"INTERNAL\_ERROR"|required||
|`error.message`|string|required||
|`error.details`|unknown|optional|Optional structured error details.|

Example:

```json
{
  "success": true,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "string",
    "details": {}
  }
}
```

JSON Schema:

```json
{
  "type": "object",
  "required": [
    "success",
    "error"
  ],
  "properties": {
    "success": {
      "type": "boolean",
      "const": false
    },
    "error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "UNAUTHORIZED",
            "FORBIDDEN",
            "INSTANCE_LIMIT_REACHED",
            "PLAN_LIMIT_REACHED",
            "PLAN_REQUIRED",
            "INVALID_ORIGIN",
            "INVALID_REGION",
            "INVALID_PAYLOAD",
            "NOT_FOUND",
            "CONFLICT",
            "KEY_LIMIT_REACHED",
            "PAYLOAD_TOO_LARGE",
            "RATE_LIMITED",
            "SERVICE_UNAVAILABLE",
            "INTERNAL_ERROR"
          ]
        },
        "message": {
          "type": "string"
        },
        "details": {
          "description": "Optional structured error details."
        }
      }
    }
  }
}
```

### 413

The request body exceeds the 1 MB limit.

Content type: application/json

|Property|Type|Required|Description|
|:--|:--|:--|:--|
|`success`|boolean|required||
|`error`|object|required||
|`error.code`|"UNAUTHORIZED" \|"FORBIDDEN" \|"INSTANCE\_LIMIT\_REACHED" \|"PLAN\_LIMIT\_REACHED" \|"PLAN\_REQUIRED" \|"INVALID\_ORIGIN" \|"INVALID\_REGION" \|"INVALID\_PAYLOAD" \|"NOT\_FOUND" \|"CONFLICT" \|"KEY\_LIMIT\_REACHED" \|"PAYLOAD\_TOO\_LARGE" \|"RATE\_LIMITED" \|"SERVICE\_UNAVAILABLE" \|"INTERNAL\_ERROR"|required||
|`error.message`|string|required||
|`error.details`|unknown|optional|Optional structured error details.|

Example:

```json
{
  "success": true,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "string",
    "details": {}
  }
}
```

JSON Schema:

```json
{
  "type": "object",
  "required": [
    "success",
    "error"
  ],
  "properties": {
    "success": {
      "type": "boolean",
      "const": false
    },
    "error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "UNAUTHORIZED",
            "FORBIDDEN",
            "INSTANCE_LIMIT_REACHED",
            "PLAN_LIMIT_REACHED",
            "PLAN_REQUIRED",
            "INVALID_ORIGIN",
            "INVALID_REGION",
            "INVALID_PAYLOAD",
            "NOT_FOUND",
            "CONFLICT",
            "KEY_LIMIT_REACHED",
            "PAYLOAD_TOO_LARGE",
            "RATE_LIMITED",
            "SERVICE_UNAVAILABLE",
            "INTERNAL_ERROR"
          ]
        },
        "message": {
          "type": "string"
        },
        "details": {
          "description": "Optional structured error details."
        }
      }
    }
  }
}
```

### 429

The rate limit was exceeded. API key limits are set by plan tier (Starter 600/min, Pro 1500/min, Enterprise 3000/min). Check the Retry-After header before retrying.

Content type: application/json

|Property|Type|Required|Description|
|:--|:--|:--|:--|
|`success`|boolean|required||
|`error`|object|required||
|`error.code`|"UNAUTHORIZED" \|"FORBIDDEN" \|"INSTANCE\_LIMIT\_REACHED" \|"PLAN\_LIMIT\_REACHED" \|"PLAN\_REQUIRED" \|"INVALID\_ORIGIN" \|"INVALID\_REGION" \|"INVALID\_PAYLOAD" \|"NOT\_FOUND" \|"CONFLICT" \|"KEY\_LIMIT\_REACHED" \|"PAYLOAD\_TOO\_LARGE" \|"RATE\_LIMITED" \|"SERVICE\_UNAVAILABLE" \|"INTERNAL\_ERROR"|required||
|`error.message`|string|required||
|`error.details`|unknown|optional|Optional structured error details.|

Example: default

```json
{
  "success": false,
  "error": {
    "code": "RATE_LIMITED",
    "message": "API key rate limit exceeded"
  }
}
```

JSON Schema:

```json
{
  "type": "object",
  "required": [
    "success",
    "error"
  ],
  "properties": {
    "success": {
      "type": "boolean",
      "const": false
    },
    "error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "UNAUTHORIZED",
            "FORBIDDEN",
            "INSTANCE_LIMIT_REACHED",
            "PLAN_LIMIT_REACHED",
            "PLAN_REQUIRED",
            "INVALID_ORIGIN",
            "INVALID_REGION",
            "INVALID_PAYLOAD",
            "NOT_FOUND",
            "CONFLICT",
            "KEY_LIMIT_REACHED",
            "PAYLOAD_TOO_LARGE",
            "RATE_LIMITED",
            "SERVICE_UNAVAILABLE",
            "INTERNAL_ERROR"
          ]
        },
        "message": {
          "type": "string"
        },
        "details": {
          "description": "Optional structured error details."
        }
      }
    }
  }
}
```

### 500

An unexpected internal error occurred.

Content type: application/json

|Property|Type|Required|Description|
|:--|:--|:--|:--|
|`success`|boolean|required||
|`error`|object|required||
|`error.code`|"UNAUTHORIZED" \|"FORBIDDEN" \|"INSTANCE\_LIMIT\_REACHED" \|"PLAN\_LIMIT\_REACHED" \|"PLAN\_REQUIRED" \|"INVALID\_ORIGIN" \|"INVALID\_REGION" \|"INVALID\_PAYLOAD" \|"NOT\_FOUND" \|"CONFLICT" \|"KEY\_LIMIT\_REACHED" \|"PAYLOAD\_TOO\_LARGE" \|"RATE\_LIMITED" \|"SERVICE\_UNAVAILABLE" \|"INTERNAL\_ERROR"|required||
|`error.message`|string|required||
|`error.details`|unknown|optional|Optional structured error details.|

Example: default

```json
{
  "success": false,
  "error": {
    "code": "INTERNAL_ERROR",
    "message": "Internal server error"
  }
}
```

JSON Schema:

```json
{
  "type": "object",
  "required": [
    "success",
    "error"
  ],
  "properties": {
    "success": {
      "type": "boolean",
      "const": false
    },
    "error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "UNAUTHORIZED",
            "FORBIDDEN",
            "INSTANCE_LIMIT_REACHED",
            "PLAN_LIMIT_REACHED",
            "PLAN_REQUIRED",
            "INVALID_ORIGIN",
            "INVALID_REGION",
            "INVALID_PAYLOAD",
            "NOT_FOUND",
            "CONFLICT",
            "KEY_LIMIT_REACHED",
            "PAYLOAD_TOO_LARGE",
            "RATE_LIMITED",
            "SERVICE_UNAVAILABLE",
            "INTERNAL_ERROR"
          ]
        },
        "message": {
          "type": "string"
        },
        "details": {
          "description": "Optional structured error details."
        }
      }
    }
  }
}
```

## Related

* [REST API overview](/docs/api/rest-api): Every operation in this API.
