Errors and rate limits

Understand failures and request limits
View as Markdown

Error shape

API errors use the following structure:

1{
2 "status": "error",
3 "error_code": "400",
4 "message": "Missing campaign_id"
5}

error_code is the HTTP status code represented as a string. message contains a human-readable explanation intended for debugging and logs.

HTTP status codes

StatusMeaning
400The request is missing a required field or contains invalid input.
401The hollr-api-key header is missing or the key is not recognized.
403The key is valid but is not authorized for the requested resource.
404The requested campaign or conversation was not found or is not accessible to the account.
429A request or concurrency limit has been exceeded.
500An unexpected error occurred on HollrAI’s side.

Rate limits

The current API contract documents two limits:

60 requests / minute

Applies per API key across the API.

5 concurrent calls

Applies per API key to POST /v1/call/make-call. The bulk endpoint does not enforce this specific concurrency limit.

A 429 response uses the standard error shape.

1{
2 "status": "error",
3 "error_code": "429",
4 "message": "Too many requests. Please wait before trying again."
5}

If you need to trigger many calls, prefer /v1/call/bulk-calls rather than issuing many individual make-call requests in parallel.

Handling errors

  • Fix 400 errors before retrying.
  • Check your API key for 401 and 403 errors.
  • Confirm the campaign or conversation identifier for 404 errors.
  • Back off and retry when appropriate for 429 and transient 500 responses.