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

StatusMeaningCommon cause
200OKSuccess (including some idempotent generate responses)
202AcceptedAudio generation queued or already in progress
400Bad requestMalformed JSON or missing query/body fields on public routes
401UnauthorizedMissing or invalid API key, or subscription not allowed for key auth
402Payment requiredPublic routes: subscription inactive or trial expired (domain-based)
403ForbiddenQuota / plan limits, or analytics limits
404Not foundUnknown domain, post, or audio row
422Unprocessable entityValidation failed
429Too many requestsRate limit exceeded
500Internal server errorUnexpected 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.