APIError & Rate Limits

Errors & Rate Limits

Twenty2 uses standard HTTP status codes and returns consistent error objects so you can handle failures predictably in your integration.

Error response format

All errors follow this structure:

{
  "success": false,
  "statusCode": 422,
  "message": "Validation errors",
  "validationErrors": {
    "caller_phone": ["Required"]
  }
}
FieldTypeDescription
successbooleanAlways false for errors.
statusCodenumberHTTP status code.
messagestringHuman-readable description of what went wrong.
validationErrorsobjectPresent on 422 responses only. Lists each field that failed validation along with the reason.

HTTP status codes

StatusMeaning
2XXSuccess.
400Bad Request — missing or invalid parameters.
401Unauthorized — API key is missing or invalid.
403Forbidden — your API key does not have access to this resource.
404Not Found — the requested resource does not exist.
422Unprocessable Entity — the request is well-formed but contains invalid values. Check the validationErrors field for details.
429Too Many Requests — rate limit exceeded. Wait and retry.
500Internal Server Error — something went wrong on Twenty2's end.

Rate limits

LimitValue
Requests per minute60
Concurrent calls3

If you exceed the rate limit you will receive a 429 response. Wait a moment and retry. For higher limits, contact the Twenty2 team.