API Request Limits
Each API in our system has its own specific rate limits. These limits are defined on a per-endpoint basis and can vary depending on the resource requirements and business constraints for each service.
Consumer Identification
For rate limiting purposes, a consumer is identified by a unique pair of client-id
and client-secret
credentials. All requests made using the same credentials are counted toward that consumer's rate limits.
Overall Rate Limit
In cases where an endpoint does not have an explicitly defined rate limit, the following default applies:
- 5 requests per minute per consumer
This ensures consistent and fair API access across all integrations.
Individual API Limits
Below are specific rate limits for individual APIs:
API | Endpoint | Rate Limit |
---|---|---|
Orders | Create an order (POST /orders/) | 100 requests/minute/consumer |
Orders | Update an order (PUT /orders/{order_uuid} ) | 100 requests/minute/consumer |
Tenders | Create a tender (POST /tenders/) | 100 requests/minute/consumer |
Tenders | Respond to load tender (POST /tenders/{tender_uuid} /response) | 100 requests/minute/consumer |
Shipments | Create a shipment (POST /shipments/) | 100 requests/minute/consumer |
Shipments | Find shipment UUIDs (GET /shipments/resolve-uuids) | 100 requests/minute/consumer |
Shipments | Create a shipment charge (POST /shipments/{shipment_id} /charges) | 100 requests/minute/consumer |
Shipments | Submit a shipment milestone (POST /shipments/{shipment_id} /stop-events) | 100 requests/minute/consumer |
Shipments | Retrieve a shipment invoice (GET /shipments/{shipment_id} /invoices/{invoice_id} ) | 100 requests/minute/consumer |
Shipments | Cancel a shipment charge (POST /shipments/{shipment_id} /charges/{charge_id} /cancel) | 100 requests/minute/consumer |
Shipments | Cancel an active shipment (POST /shipments/{shipment_id} /cancel) | 100 requests/minute/consumer |
Shipments | Confirm an appointment (POST /shipments/{shipment_id} /appointments/{appt_uuid} /confirm) | 100 requests/minute/consumer |
Shipments | List appointments for a Shipment (GET /shipments/{shipment_id} /appointments) | 100 requests/minute/consumer |
Rates | Submit Rates (POST /rates/) | 100 requests/minute/consumer |
These limits may be more or less restrictive than the overall limit depending on the particular service.
Custom Rate Limits
Rate limits can be adjusted for specific consumers based on their needs. If you require higher limits than what is currently set, please contact our support team to explain your use case and requirements.
Exceeding Limits
When rate limits are exceeded, the API will return a 429 (Too Many Requests) status code. Clients should implement appropriate backoff and retry logic when encountering rate limit errors.