Skip to content

Errors

Use the error object on non-2xx responses for programmatic error handling. It includes a stable error code, retry guidance, a human-readable message, optional structured details, and a request id for support.


{
"detail": "Invalid API key",
"error": {
"code": "INVALID_API_KEY",
"status_code": 401,
"retryable": false,
"message": "Invalid API key",
"details": {},
"request_id": null
}
}

FieldTypeDescription
error.codestringStable machine-readable error code.
error.status_codenumberHTTP status code returned by the request.
error.retryablebooleanWhether retrying the same request may succeed.
error.messagestringHuman-readable error message.
error.detailsobjectAdditional structured details when available.
error.request_idstring or nullRequest id for support. This is null when the request failed before a request record was created.

For failed async tasks, poll /task_status/{task_id} and read task_error.

{
"task_id": "9649d202-03ac-437a-80e8-ff91ff4ace67",
"task_status": "FAILURE",
"task_result": null,
"task_info": null,
"task_error": {
"code": "EXPORT_FAILED",
"status_code": 500,
"retryable": true,
"message": "The presentation export failed.",
"details": {},
"request_id": "cmqf2lohi00017wlp3du979zt"
}
}

CodeStatusRetryableMeaning
MISSING_API_KEY401NoThe X-API-Key header was not provided.
INVALID_API_KEY401NoThe API key is invalid or inactive.
NO_API_SUBSCRIPTION402NoNo active API subscription was found.
INSUFFICIENT_API_CREDITS403NoThe API key does not have enough credits for the request. details carries required_credits and available_credits.
USER_NOT_FOUND400NoThe user behind the API key could not be resolved.
CodeStatusRetryableMeaning
VALIDATION_FAILED422NoThe request body, query, or path parameters failed validation. details.errors lists the failures.
INVALID_LENGTH422NoThe requested presentation length is not valid for this request.
INVALID_LAYOUT400NoA layout name was given for a template that does not support it.
INVALID_SLIDE_POSITION422NoThe slide position is outside the presentation.
UNSUPPORTED_SLIDE_EDIT422NoCover and table-of-contents slides cannot be edited.
UNSUPPORTED_FILE_TYPE400NoThe uploaded file type is not supported.
FILENAME_REQUIRED400NoThe uploaded file is missing a filename.
FILE_TOO_LARGE413NoThe uploaded file exceeds the allowed size.
CodeStatusRetryableMeaning
DOCUMENT_NOT_FOUND404NoOne or more referenced documents were not found or are unavailable.
VERSION_NOT_FOUND404NoThe version_id does not exist, is older than the 90-day retention window, or belongs to another API key.
TASK_ID_NOT_FOUND404NoThe task id does not exist or is not visible to this API key.
REQUEST_NOT_FOUND404NoThe presentation request id was not found.
REUSABLE_SECTION_NOT_ACCESSIBLE403NoThe reusable section is not available to this user.
DESIGN_KIT_NOT_ACCESSIBLE403NoThe design kit is not available to this user.

These are the only codes worth retrying. Retry with exponential backoff.

CodeStatusRetryableMeaning
REQUEST_NOT_READY404YesThe request exists but does not have a result yet. Keep polling.
DOWNLOAD_NOT_AVAILABLE404YesA download URL is not available yet. Keep polling.
RATE_LIMITED429YesToo many requests. Back off and retry.
GENERATION_FAILED500YesPresentation generation failed after the task started.
EXPORT_FAILED500YesThe presentation export failed after the task started.
TASK_FAILED500YesThe async task failed and no more specific error was stored.
INTERNAL_ERROR500YesAn unexpected server error occurred.