Rate Limiting
The Partner API enforces rate limits to ensure fair usage and platform stability.
Default Limits
| Endpoint | Limit (Production) | Limit (Sandbox) |
|---|---|---|
| General endpoints | 100 requests/min | 500 requests/min |
Order creation (POST /orders) | 10 requests/min | 50 requests/min |
The general limit can be raised per organization (maxRequestsPerMinute override). Contact Vignetim if your integration needs a higher throughput; the order-creation limit is fixed.
Response Headers
Every API response includes rate limit information in the following headers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum number of requests allowed in the current window |
X-RateLimit-Remaining | Number of requests remaining in the current window |
X-RateLimit-Reset | Unix timestamp (seconds) when the rate limit window resets |
Handling 429 Responses
When you exceed the rate limit, the API returns a 429 Too Many Requests response with a retryAfter field (seconds until the window resets):
{
"statusCode": 429,
"message": "Rate limit exceeded",
"retryAfter": 45
}Recommended Strategy
- Read the
X-RateLimit-Remainingheader to monitor your usage proactively. - When you receive a
429, waitretryAfterseconds (or untilX-RateLimit-Reset) before retrying. - Implement exponential backoff for retries to avoid repeated throttling.
- Cache product catalog responses where possible to reduce unnecessary requests.
Daily Order Limit
Independently of the per-minute limits, an organization can have a configurable daily cap on order creation. When the cap is exceeded, POST /orders fails with a 400:
{
"statusCode": 400,
"message": "Daily order limit (500) exceeded",
"error": "Bad Request"
}The counter resets at midnight (server time). No daily cap is applied unless one is configured for your organization.