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/events/{id}/seating-plansList an event's seating plansSeating
GET/v1/events/{id}/sectionsList an event's seating sectionsSeating
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
GET/v1/venuesList the venues used by your eventsVenues
GET/v1/venues/{id}Get one venueVenues

Writes

MethodPathScopeDescriptionGuide
POST/v1/events/{id}/balance-paymentswrite:balance_paymentsRecord an external balance paymentBalance payments and refunds
POST/v1/events/{id}/balance-refundswrite:balance_paymentsRecord an external balance refundBalance payments and refunds
PATCH/v1/orders/{id}write:ordersUpdate an order's back-office admin noteOrders

Webhooks

Push, not pull. Subscribe in the dashboard (not via the API); Seaty sends a signed POST to your https URL when a subscribed event happens. See Webhooks for the envelope, signature verification and the event catalogue (balance.payment_recorded, balance.refund_recorded, order.placed, ticket.checked_in, request.made).

Payment-method codes (type_id)

Used on payments and when recording a balance payment or refund.

type_idMethod
1Cashsettable
2Chequesettable
3Card (taken outside Seaty)settable
4Bank transfersettable
5Card (taken through Seaty)read-only

When recording a balance payment, only 14 are accepted. Code 5 (and any other internal code) can appear when reading payments but cannot be set through the API; such payments read back with method: "other".

Scopes

ScopeAllows
readAll read endpoints. Every key has this.
write:balance_paymentsRecording balance payments and refunds. Only keys created with this permission.
write:ordersUpdating an order's back-office admin note. 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
Writes (balance payments, order notes)3010

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.