Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.corti.ai/llms.txt

Use this file to discover all available pages before exploring further.

Corti uses standard HTTP status codes. 4xx errors indicate a problem with the request; 5xx errors indicate a problem on Corti’s side. Error responses are in JSON and differ between the SDKs and the REST API. The tabs below cover each.
Some Corti products handle errors and authentication differently than what is described below:
  • Admin API — Separate from the Corti API used for speech to text, text generation, and agentic workflows. See the Administration API reference for details. Please contact us if you have interest in this functionality or further questions.
  • Agents API — The JSON format of the error response is different. See the Agents API docs for more info.
  • Embedded Assistant — Authentication is handled differently. See the Embedded Assistant Authentication docs for those methods.
The SDK throws typed error classes on any non-2xx response or internal failure. Each class exposes a different set of attributes. See Error Handling for full details.

Error Classes

ClassThrown whenAttributes
CortiErrorAPI returned a non-2xx HTTP response (4xx / 5xx)message, statusCode, body, rawResponse
CortiSDKErrorSDK infrastructure error (e.g. localStorage unavailable)message, code, cause
ParseErrorInput validation failed (e.g. missing PKCE verifier, invalid JWT)message, errors
JsonErrorResponse body could not be parsed as JSONmessage, errors

HTTP Status Codes

Error codeWhen it occursHow to resolve
bad_requestThe request body or query parameters are malformed or missing required fields.Double check the fields submitted to be sure of correct format and necessary fields.
Token endpoint errors are returned as JSON in the response body. Corti API errors are returned in the WWW-Authenticate response header with no body. The header is not accessible from the exception directly; use .WithRawResponse() on the request if you need it.
Error codeWhen it occursHow to resolve
invalid_clientClient authentication failed. There is a problem with the client ID.Verify your client_id is correct.
unauthorized_clientClient authentication failed. There is a problem with the client secret.Verify your client_secret is correct.
invalid_tokenThe bearer token is invalid or has expired. Check the WWW-Authenticate header for error_description.Re-authenticate to obtain a fresh token and retry the request.
When it occursHow to resolve
Accessing a resource (interaction, recording, transcript, document) that belongs to a different client.Verify the resource ID was created by the authenticated client.
ErrorWhen it occursHow to resolve
Invalid '{resource_name}' '{resource_id}'The requested resource does not exist.Verify the ID and parent resource ID is correct and was created under the authenticated tenant.
Attempting to access a resource that belongs to a different OAuth client also returns a 404, not a 403. This is intentional. Returning a 403 would confirm that the resource exists, which is a security risk.
You have exceeded the rate limit for the API. The SDK automatically retries with exponential backoff. The default retry limit is 2. Override per request:
const response = await client.interactions.create(..., {
    maxRetries: 0, // disable retries for this request
});
If the error persists, reduce request frequency or contact support to discuss your rate limit requirements.
An unexpected error occurred on the Corti side. Double check the request format and retry the request. If the issue persists, contact support.
The service is temporarily unavailable. Retry with exponential backoff. Monitor the status page.