Pagination
All list endpoints support cursor-based pagination using two parameters:| Parameter | Type | Description |
|---|---|---|
limit | integer | Max items per page (default: 10, max: 100) |
after | string | Cursor for the next page — pass the next_cursor value from the previous response |
pagination object with a next_cursor field:
has_more is true, pass the next_cursor value as the after parameter to fetch the next page. When there are no more pages, next_cursor is null.
Example flow:
GET /v1/transactions?limit=10— returns records 1–10,"next_cursor": "txn_abc123"GET /v1/transactions?limit=10&after=txn_abc123— returns records 11–20,"next_cursor": "txn_xyz789"GET /v1/transactions?limit=10&after=txn_xyz789— returns records 21–25,"has_more": false,"next_cursor": null
"contracts", "transactions", "nominations", "customers").
Timestamps
All timestamps are ISO 8601 in UTC:Delivery Periods
Energy delivery uses the standard PTU (Programme Time Unit) convention with 15-minute intervals:slot_number_from and slot_number_to parameters.
Error Responses
All errors follow RFC 9457 — Problem Details for HTTP APIs and are returned withContent-Type: application/problem+json:
errors array:
unknown_field, read_only_field, required, invalid_type, invalid_enum_value, invalid_format, invalid_literal, value_too_small, value_too_large, validation_failed.
Standard HTTP status codes are used:
| Code | Description |
|---|---|
400 | Bad request — validation error or business rule violation |
401 | Unauthorized — missing or invalid API key |
403 | Forbidden — API key lacks required scopes |
404 | Not found — resource does not exist or caller has no access |
409 | Conflict — operation cannot be completed in the current state |
429 | Too many requests — rate limit exceeded |
500 | Internal server error |
Rate Limiting
API requests are rate-limited to 300 requests per 60-second window. Every response includes the following headers:| Header | Example | Description |
|---|---|---|
x-ratelimit-limit | 300 | Maximum requests allowed per window |
x-ratelimit-remaining | 299 | Remaining requests in the current window |
x-ratelimit-reset | 60 | Seconds until the window resets |
429 Too Many Requests.