General API specifications
Data format
- Data format:
application/jsonortext/json - All responses are UTF-8 encoded.
HTTP methods
GETendpoints can return either a single object or a list (array).PUTendpoints can update either a single object or a list (array). Some endpoints automatically create a new object if the provided identifier is not found.POSTendpoints can create either a single object or a list (array).DELETEendpoints can be used to delete data.
Dates and times
Date
YYYY-MM-DD
Date and time with time zone
YYYY-MM-DDTHH:mm:ss±HH:mm
Example:
2025-10-16T09:25:32+03:00
Responses
All successful requests return HTTP status code 200 OK.
Typical response structure:
{ "data": { ... } }
or
{ "data": [ ... ] }
In error cases, an HTTP status code and an error code are returned.
Error structure
{
"error": "ERROR_CODE",
//optional, not returned for most errors
"details": [ "OPTIONAL_DETAIL_1", "OPTIONAL_DETAIL_2", ... ]
}
Error codes
| HTTP status code | Error code | Description |
|---|---|---|
| 400 | INVALID_ID | Invalid identifier |
| 400 | PARSE_ERROR | Invalid format |
| 400 | INVALID_DATA | Invalid content |
| 401 | INVALID_CREDENTIALS | Invalid credentials |
| 403 | UNAUTHORIZED | Not authorized |
| 404 | NOT_FOUND | Resource not found |
| 429 | RATE_LIMIT | Too many requests |
| 500 | ERROR | Unexpected error |
Rate limiting
- Maximum 1000 requests per hour.
- If the limit is exceeded, the API returns HTTP status code 429 Too Many Requests.