Raptor Comply returns standard HTTP status codes. Every error response includes a machine-readable JSON body with error and message fields.The Raptor Comply API uses standard HTTP status codes to communicate the outcome of every request. Codes in the
2xx range indicate success. Codes in the 4xx range mean your request could not be fulfilled as sent - check your headers, path, and request body. Codes in the 5xx range indicate an unexpected problem on our end. Every error response includes a consistent JSON body so you can programmatically detect and handle failures without parsing the response text.
Error response schema
Every error response - regardless of status code - follows this shape:A short, machine-readable code identifying the error type. Use this field for programmatic error handling and conditional logic in your integration.
A human-readable sentence describing what went wrong. This field is intended to help you debug quickly; its exact wording may change between releases, so do not match on it programmatically.
4xx Client errors
These errors originate in your request. Fix the issue described in themessage field and retry.
401 Unauthorized
The API could not authenticate you. This happens when theX-API-Key header is missing, the key value is not recognized, or the key has passed its expiry date.
Common causes:
X-API-Keyheader not included in the request- Key value typo or copied with extra whitespace
- Key has expired and has not been rotated
403 Forbidden
Your API key is valid, but it does not have permission to perform the requested operation on the specified resource. API keys in Raptor Comply are scoped to a single organization and granted theapi_user role in that tenant’s permission model. If you believe you should have access, contact your organization admin to verify your key’s permissions.
404 Not Found
The resource you requested does not exist, or it exists in a different organization than the one identified by your API key. Double-check the ID in the path and confirm it belongs to your tenant.422 Unprocessable Entity
The request was well-formed and authenticated, but the body failed validation. A required field may be missing, a field value may be the wrong type, or a referenced ID may not exist in your organization. Themessage field will identify which part of the payload was rejected.
429 Too Many Requests
You have exceeded the API’s rate limit. Slow down your request cadence and retry after a delay. See Rate limiting below for the recommended retry strategy.5xx Server errors
These errors originate in Raptor Comply infrastructure. You do not need to change your request. Retry with exponential backoff; if the error persists, contact Raptor Comply support.500 Internal Server Error
An unexpected error occurred on our end while processing your request. This is not caused by anything in your request payload or headers. Raptor Comply engineers are automatically alerted to elevated500 rates.
Authentication errors in detail
The three authentication-specific failures each return a401 Unauthorized status with a stable error value of Unauthorized. Match on HTTP status and the error field; the message field is informational and may change between releases.
Missing X-API-Key header - 401 Unauthorized
401 Unauthorized
401 Unauthorized
Rate limiting
The Raptor Comply API enforces rate limits to ensure reliable performance for all tenants. If you receive a429 Too Many Requests response, your integration must back off before retrying. Use exponential backoff: wait a base interval (for example, one second) after the first 429, then double the wait time on each subsequent 429 received for the same request, up to a reasonable ceiling (for example, 60 seconds). Add a small random jitter to avoid synchronized retry storms if you run multiple workers.
Do not simply loop and retry immediately - doing so will extend the period during which your requests are rate-limited.