Skip to main content

Rate Limits & Error Reference

Rate Limits

Rate limits are enforced per tenant (per API Key) within a 1-minute sliding window.

LimitValue
Max requests per minute5,000
Max requests per minute (file entities*)500
Max cumulative response size per minute500 MB

*File entities include: Certificates, ArchivedCertificates, Documents, ArchivedDocuments.

When a rate limit is exceeded, the API returns HTTP status 429 Too Many Requests with a Retry-After header indicating how many seconds to wait before retrying.

OData Error Codes

StatusMeaningWhat to Do
400Invalid request body or key mismatchCheck your request payload and key format
401Missing or invalid API KeyVerify your API Key is correct and included in the request
403Insufficient permissionsYour API Key may have Reader role — Writer is required for POST/PUT/PATCH/DELETE
404Entity not foundThe record with the specified key does not exist
409Duplicate keyA record with the same primary key already exists (POST only)
422Value too long for fieldThe value exceeds the field's maximum length, check the maxLength in the Swagger schema
429Rate limit exceededWait for the time indicated in the Retry-After header
503Database unavailableThe tenant database is temporarily unavailable — try again later
504Query timeoutThe query took too long to execute, try adding filters or reducing the data scope

GraphQL Error Codes

GraphQL always returns HTTP 200. Errors are included in the errors array of the response body.

CodeMeaningWhat to Do
AUTH_NOT_AUTHENTICATEDMissing or invalid API KeyVerify your API Key in the HTTP Headers
AUTH_INVALID_CREDENTIALSInvalid API Key credentialsCheck that the API Key value is correct
AUTH_FORBIDDENInsufficient permissionsContact your administrator to verify your access role
DB_CONNECTION_FAILEDDatabase connection unavailableThe tenant database may be temporarily down — try again later
DB_TIMEOUTQuery execution timeout (30s)Simplify your query — reduce filters, depth, or requested fields
DB_ERRORGeneral database errorCheck query syntax and field names
NAVIGATION_NOT_CONFIGUREDRelationship not configuredThe requested navigation property is not available for this entity
MISSING_KEY_ARGUMENTMissing primary key in _by_pkProvide all required key fields for the _by_pk lookup
REQUEST_TIMEOUTRequest cancelled or timed outSimplify the query or try again
UNEXPECTED_ERRORUnhandled errorContact support with the full error response