Appearance
Errors
The API uses standard HTTP status codes and returns a consistent error body.
Error response shape
json
{
"statusCode": 404,
"error": "TENDER_NOT_FOUND",
"message": "Tender with id 'abc' was not found"
}Error codes use SCREAMING_SNAKE_CASE and are stable across versions.
Common status codes
| Code | Meaning |
|---|---|
400 | Bad request — invalid parameters |
401 | Unauthorized — missing, invalid, disabled or expired API key |
403 | Forbidden — insufficient permissions, or a read-only key calling a write operation |
404 | Resource not found |
422 | Validation error |
429 | Too many requests — rate limit exceeded |
500 | Internal server error |
Rate limiting
Rate limits are applied per account and per endpoint: each endpoint has its own budget, shared by every key of the account. By default an account can make 30 requests per minute to each endpoint; a key with its own configured limit uses that limit instead. Get tender contacts allows at most 60 requests per minute.
When a limit is exceeded, the API answers 429 Too Many Requests with a Retry-After header giving the seconds to wait, and further requests to that endpoint are blocked for the rest of the 60-second window. To raise a limit, contact support@tendios.com.