Documentation

Handle errors without losing the request context.

{
  "text": "Complex source content in the selected language.",
  "locale": "en",
  "mode": "simple-language"
}

SDK and cURL examples available

Uniform error messages

json
{
  "error": {
    "code": "invalid_request",
    "message": "Check the request fields."
  }
}

Most errors use the error envelope above. Rate-limit responses also include top-level limit, remaining, and reset fields.

json
{
  "error": {
    "code": "rate_limited",
    "message": "Too many requests."
  },
  "limit": 1000,
  "remaining": 0,
  "reset": 1787836800
}

For HTTP 429 rate limits, wait for the Retry-After header. allowance_exhausted instead includes error.details.used, limit, and periodEndsAt.

Error codes

These error codes use API version 2:

HTTPCodeMeaningClient action
400invalid_jsonThe request body is not valid JSONCorrect the JSON body
400invalid_requestA field is missing, unknown, or invalid, or text exceeds 5,000 charactersCorrect the request
400idempotency_key_requiredA job or batch request has no valid Idempotency-KeySend a unique key of at most 255 characters
400invalid_webhook_endpointThe selected webhook endpoint is missing or inactiveChoose an active endpoint or use polling
401invalid_api_keyThe Bearer token is missing, invalid, or revokedCheck or replace the API key
402billing_requiredBilling must be updated before processing can continueUpdate billing in the application
403feature_not_availableThe workspace has no active entitlementChoose a plan or contact support
403email_not_verifiedNo owner or administrator email is verifiedVerify an eligible account email
404job_not_foundThe job does not exist, belongs to another workspace, or has expiredStop the status query and start a new order if necessary
404batch_not_foundThe batch does not exist, belongs to another workspace, or has expiredStop polling and create a new batch if needed
429rate_limitedThe request rate has been reachedRespect Retry-After
429concurrency_limitToo many requests are processing at the same timeRetry after an active request finishes
429allowance_exhaustedThe monthly character limit is reached and additional usage is unavailable or disabledWait for the next billing period or enable additional usage on an eligible plan
502processing_failedThe service could not process the textRetry the request and contact support if the problem persists

Document for each error: can the request be repeated? are characters calculated? what is in the protocol? what information does support need?

On this page

Start using Simple8 for free.

Create your free account and use up to 15,000 characters free every month.