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)

MethodPathDescriptionGuide
GET/v1/eventsList your eventsEvents
GET/v1/events/{id}Get one eventEvents
GET/v1/events/{id}/datesList an event's datesEvents
GET/v1/events/{id}/ticket-categoriesList ticket categoriesEvents
GET/v1/dates/{id}Get one dateDates
GET/v1/dates/{id}/ordersList a date's ordersDates
GET/v1/dates/{id}/summarySales & attendance summary for a dateDates
GET/v1/orders/{id}Get one orderOrders
GET/v1/orders/{id}/ticketsList an order's ticketsOrders
GET/v1/orders/{id}/paymentsList an order's payments and refundsOrders
GET/v1/orders/{id}/discountsList an order's discountsOrders
GET/v1/attendeesList distinct attendeesAttendees

Writes (scope: write:balance_payments)

MethodPathDescriptionGuide
POST/v1/events/{id}/balance-paymentsRecord an external balance paymentBalance payments

Payment-method codes (type_id)

Used on payments and when recording a balance payment.

type_idMethod
1Cash
2Cheque
3Card (taken outside Seaty)
4Bank transfer

When recording a balance payment, only 14 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

ScopeAllows
readAll read endpoints. Every key has this.
write:balance_paymentsRecording balance payments. Only keys created with this permission.

Error codes

StatuscodeMeaning
400bad_requestMalformed request.
401unauthorizedMissing or invalid API key.
403forbiddenKey is missing a required scope.
404not_foundNo such record in your organisation.
409conflictA balance payment with that idempotency key is already in progress.
422unprocessable_entityValid request that could not be applied (e.g. payee has no order, or refund exceeds amount paid).
429rate_limitedToo many requests; see Retry-After.
502upstream_errorTemporary downstream problem; retry shortly.

Rate limits

Per minuteBurst
Reads6030
Balance-payment writes3010

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.