Enterprise plan required
REST API access is available on the Enterprise plan. Includes full API access, higher rate limits, and dedicated support.
Error codes
Errors return JSON with success: false and a message string. Validation failures use HTTP 422 with message: "Validation failed" and field errors under errors.
HTTP status codes
| Status | Meaning | Common cause |
|---|---|---|
200 | OK | Success (including some idempotent generate responses) |
202 | Accepted | Audio generation queued or already in progress |
400 | Bad request | Malformed JSON or missing query/body fields on public routes |
401 | Unauthorized | Missing or invalid API key, or subscription not allowed for key auth |
402 | Payment required | Public routes: subscription inactive or trial expired (domain-based) |
403 | Forbidden | Quota / plan limits, or analytics limits |
404 | Not found | Unknown domain, post, or audio row |
422 | Unprocessable entity | Validation failed |
429 | Too many requests | Rate limit exceeded |
500 | Internal server error | Unexpected server error |
Error body format
// General error
{
"success": false,
"message": "Invalid API key",
"data": null
}
// Validation error (422)
{
"success": false,
"message": "Validation failed",
"errors": {
"post_id": ["The post id field is required."],
"content": ["The content must be at least 50 characters."]
}
}✓
Handling errors in productionCheck the HTTP status first, then
message. For 5xx responses, retry with backoff. For 403 quota responses, surface the limit to your team and link to billing.