Skip to main content

List status changes

Each time the status of an object changes (e.g. by holding, booking or releasing it), a status change is recorded in seats.io. Use the following API call to list the status changes for an event.

Status changes are returned paginated, with the most recent ones first. Response body contains the hold token if a hold token was passed in when doing the status change (e.g. to hold an object, or to release an object that was previously held).

We only return status changes that happened in the last 365 days. Older status changes are deleted.

GET https://api-{region}.seatsio.net/events/{eventKey}/status-changes

GET https://api-{region}.seatsio.net/events/{eventKey}/status-changes?filter=A-1

GET https://api-{region}.seatsio.net/events/{eventKey}/status-changes?sort=objectLabel:desc

More info: https://docs.seats.io/docs/api-pagination
  • filter: use this parameter to filter on object labels. E.g. if you pass in 'A-1', all status changes for objects that have 'A-1' in their name will be returned (e.g. 'A-11', 'A-1', 'Section A-A-1').
  • sort: by default, status changes are sorted by date, with the newest status changes coming first. You can change this to sort by object label (objectLabel) or by status (status). Sorting by date with the oldest status changes first is also possible (date:asc)

Example request

curl https://api-{region}.seatsio.net/events/anEvent/status-changes?limit=100&start_after_id=34 \
-u aSecretKey:
{
"next_page_starts_after": 122,
"items": [
{
"id": 169,
"eventId": 12,
"status": "booked",
"quantity": 1,
"objectLabel": "A-1",
"date": "2017-05-05T10:58:44.715Z",
"orderId": "anOrder",
"extraData": {
"userId": "123"
},
"origin": {
"type": "API_CALL",
"ip": "10.4.32.67"
},
"isPresentOnChart": true
},
{
"id": 168,
"eventId": 12,
"status": "reservedByToken",
"quantity": 1,
"objectLabel": "B-1",
"date": "2017-05-05T09:58:44.715Z",
"orderId": "anotherOrder",
"extraData": {
"userId": "456"
},
"holdToken": "wvXbB9MlHt",
"origin": {
"type": "HELD_BY_USER"
},
"isPresentOnChart": false,
"notPresentOnChartReason": "RENAMED_OR_DELETED"
},
...
]
}

origin can be either API_CALL, HELD_BY_USER, HOLD_RELEASED_BY_USER or HOLD_EXPIRED. An ip property is present when the type equals API_CALL.

isPresentOnChart indicates whether the object of the status change still exists on the chart, as a bookable object. E.g. a seat might still exist, but if its table is now bookable as a whole it's not bookable anymore.

If isPresentOnChart is false, notPresentOnChartReason is set to either:

  • RENAMED_OR_DELETED
  • SWITCHED_TO_BOOK_WHOLE_TABLE: the table seat was bookable, but now the table is bookable as a whole
  • SWITCHED_TO_BOOK_BY_SEAT: the table was bookable as a whole, but is now bookable by seat