API Reference
A one-page reference for the Seaty API: every endpoint, the payment-method codes, the scopes, the error codes, and the rate limits.
Everything on one page. For the always-current interactive version, see https://developer.seaty.co.uk/docs.
- Base URL:
https://developer.seaty.co.uk/v1 - Auth:
Authorization: Bearer sk_live_... - Money: integer pence. Dates: ISO 8601 (UTC).
All endpoints
Reads (scope: read)
| Method | Path | Description | Guide |
|---|---|---|---|
| GET | /v1/events | List your events | Events |
| GET | /v1/events/{id} | Get one event | Events |
| GET | /v1/events/{id}/dates | List an event's dates | Events |
| GET | /v1/events/{id}/ticket-categories | List ticket categories | Events |
| GET | /v1/dates/{id} | Get one date | Dates |
| GET | /v1/dates/{id}/orders | List a date's orders | Dates |
| GET | /v1/dates/{id}/summary | Sales & attendance summary for a date | Dates |
| GET | /v1/orders/{id} | Get one order | Orders |
| GET | /v1/orders/{id}/tickets | List an order's tickets | Orders |
| GET | /v1/orders/{id}/payments | List an order's payments and refunds | Orders |
| GET | /v1/orders/{id}/discounts | List an order's discounts | Orders |
| GET | /v1/attendees | List distinct attendees | Attendees |
Writes (scope: write:balance_payments)
| Method | Path | Description | Guide |
|---|---|---|---|
| POST | /v1/events/{id}/balance-payments | Record an external balance payment | Balance payments |
Payment-method codes (type_id)
Used on payments and when recording a balance payment.
type_id | Method |
|---|---|
| 1 | Cash |
| 2 | Cheque |
| 3 | Card (taken outside Seaty) |
| 4 | Bank transfer |
When recording a balance payment, only 1–4 are accepted. Other codes you may see when reading payments (for example a Seaty card payment) are internal and cannot be set through the API.
Scopes
| Scope | Allows |
|---|---|
read | All read endpoints. Every key has this. |
write:balance_payments | Recording balance payments. Only keys created with this permission. |
Error codes
| Status | code | Meaning |
|---|---|---|
| 400 | bad_request | Malformed request. |
| 401 | unauthorized | Missing or invalid API key. |
| 403 | forbidden | Key is missing a required scope. |
| 404 | not_found | No such record in your organisation. |
| 409 | conflict | A balance payment with that idempotency key is already in progress. |
| 422 | unprocessable_entity | Valid request that could not be applied (e.g. payee has no order, or refund exceeds amount paid). |
| 429 | rate_limited | Too many requests; see Retry-After. |
| 502 | upstream_error | Temporary downstream problem; retry shortly. |
Rate limits
| Per minute | Burst | |
|---|---|---|
| Reads | 60 | 30 |
| Balance-payment writes | 30 | 10 |
Responses carry X-RateLimit-Limit and X-RateLimit-Remaining; a 429 carries Retry-After (seconds).
Pagination envelope
{
"data": [ ... ],
"links": { "first": "...", "last": "...", "prev": null, "next": "..." },
"meta": { "current_page": 1, "per_page": 10, "from": 1, "to": 10, "total": 42, "path": "/v1/..." }
}
page (default 1) and per_page (default 10, max 100) control paging. links.next is null on the last page.
Need help? Email support@seaty.co.uk.