Looking for every endpoint and schema in one place? See the Full OpenAPI reference.
Status codes
| Status | Meaning |
|---|---|
| 200, 201 | Success; 201 when something was created. |
| 400 | Invalid input. Validation errors list the fields in the body. |
| 401 | Missing, invalid, disabled or expired API key. |
| 402 | Billing: starting a delivery needs a wallet top-up (INSUFFICIENT_FUNDS, BILLING_ERROR). |
| 403 | The key lacks the permission for this resource and action. |
| 404 | Not found, or not in your company (the API never reveals other companies’ records). |
| 409 | Conflict with the delivery’s current state (INVALID_TRANSITION, DRIVER_BUSY, NO_DRIVER, DRIVER_INACTIVE). |
| 410 | A tracking link that has expired. |
| 429 | Rate limit, stream cap or plan limit (PLAN_LIMIT_EXCEEDED) reached. |
| 500, 503 | A problem on our side; retry with backoff. |
Error bodies look like this:
{ "error": "Invalid transition", "code": "INVALID_TRANSITION", "message": "..." } Branch on code where there is one, and on the status otherwise. Do not parse message; its wording can change.
Rate limits
Every API key has a limit of a number of requests per time window, between 1 and 10,000 requests in a window of one minute to 24 hours, chosen when the key is created. The limit is counted separately for each endpoint and method. Above it, the API answers:
HTTP/1.1 429 Too Many Requests
{ "error": "Rate limit exceeded", "message": "Rate limit of 100 requests per 3600 seconds exceeded", "retryAfter": 1234 } Wait retryAfter seconds before retrying. If you need a higher limit, create a key with one, or contact us.
Plan limits
Your plan sets the number of drivers, API keys and webhook endpoints you can create. A request beyond a limit returns a warning in the
X-Plan-Warning header, or is refused with 429 and "code": "PLAN_LIMIT_EXCEEDED" (with the current
count and the limit in details) once limits are enforced for your account. Deliveries are not capped: beyond your plan’s monthly allowance they are charged per delivery from your prepaid balance. See pricing.
Other limits
| What | Limit |
|---|---|
| List page size | Up to 100 per page (default 50). |
| Customer CSV export | 30 exports per 15 minutes. |
| Public tracking streams | 5 per tracking link, 20 per IP address. |
| Company streams | 3 per API key; a fourth replaces the oldest. |
| SSE tokens | Valid for 5 minutes to 2 hours. |
| Webhook response time | 30 seconds. |