Skip to content
Track That Ride
Menu

API documentation

Errors and rate limits

The Track That Ride API uses standard HTTP status codes. Errors return JSON with an error field and usually a message or a machine-readable code. Each API key has its own rate limit, set when the key is created, and a 429 response tells you how many seconds to wait. Plans limit drivers, API keys and webhook endpoints.

Looking for every endpoint and schema in one place? See the Full OpenAPI reference.

Status codes

StatusMeaning
200, 201Success; 201 when something was created.
400Invalid input. Validation errors list the fields in the body.
401Missing, invalid, disabled or expired API key.
402Billing: starting a delivery needs a wallet top-up (INSUFFICIENT_FUNDS, BILLING_ERROR).
403The key lacks the permission for this resource and action.
404Not found, or not in your company (the API never reveals other companies’ records).
409Conflict with the delivery’s current state (INVALID_TRANSITION, DRIVER_BUSY, NO_DRIVER, DRIVER_INACTIVE).
410A tracking link that has expired.
429Rate limit, stream cap or plan limit (PLAN_LIMIT_EXCEEDED) reached.
500, 503A 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

WhatLimit
List page sizeUp to 100 per page (default 50).
Customer CSV export30 exports per 15 minutes.
Public tracking streams5 per tracking link, 20 per IP address.
Company streams3 per API key; a fourth replaces the oldest.
SSE tokensValid for 5 minutes to 2 hours.
Webhook response time30 seconds.