Errors and limits
What the API answers when a request fails, and how much it accepts.
On this page
Error format#
Every error has the same body. message is always a list.
{
"success": false,
"statusCode": 401,
"message": ["Invalid API key"],
"errors": null,
"timestamp": "2026-10-30T10:03:06.493Z"
} Status codes#
| Status | Meaning | What to do |
|---|---|---|
400 | A field has the wrong type, id is not valid, or an outcome has neither verdict nor outcome. | Fix the request. |
401 | The secret key is missing or wrong. | Check X-API-Key. |
404 | Antiro does not know this order or check, or an outcome names neither order_id nor assessment_id. | Check the id. |
429 | Too many requests. | Accept the order, and check it again shortly. |
5xx | Antiro could not answer. | Accept the order, and check it again later. |
Never lose an order to an error: see If no answer arrives.
Rate limits#
| Request | Limit |
|---|---|
POST /v1/assessments | 600 a minute for each store |
POST /v1/outcomes | 6,000 a minute for each key |
GET /v1/assessments/:id | 600 a minute for each key |
A 429 can also appear when too many checks run at the same moment. It is always temporary. If you need a higher limit, contact us.
Field limits#
Text longer than its limit is cut to that size, not refused.
| Field | Maximum characters |
|---|---|
session_token | 1,024 |
order_id | 128 |
phone | 64 |
ip | 64 |
name | 500 |
address | 3,000 |
wilaya, commune | 300 |