Get event objects
Returns the published chart’s objects and category definitions independent of live status (C1). Use it to join each object’s categoryKey to your own data (e.g. pricing) — including for free seats — before they are held. An unpublished chart returns empty arrays (200, not 404). Pass ?labels=A-12,A-13 to narrow the response.
curl -X GET "https://seatbuilder.org/api/v1/events/string/objects"{
"eventKey": "evt_q3-2026-jazz-night",
"categories": [
{
"key": "premium",
"label": "Premium",
"color": "#8B5CF6"
},
{
"key": "lawn",
"label": "Lawn",
"color": "#10B981"
}
],
"objects": [
{
"objectLabel": "A-12",
"categoryKey": "premium",
"objectType": "seat",
"sectionKey": "orchestra",
"sectionLabel": "Orchestra"
},
{
"objectLabel": "GA-LAWN",
"categoryKey": "lawn",
"objectType": "generalAdmission",
"capacity": 500,
"label": "The Lawn",
"remaining": 448
}
]
}{
"statusCode": 0,
"error": "string",
"message": "string",
"code": "validation_failed",
"failed": [
{
"objectLabel": "string",
"reason": "string",
"eventKey": "string",
"environment": "string",
"booked": 0,
"held": 0
}
],
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
}
}{
"statusCode": 0,
"error": "string",
"message": "string",
"code": "validation_failed",
"failed": [
{
"objectLabel": "string",
"reason": "string",
"eventKey": "string",
"environment": "string",
"booked": 0,
"held": 0
}
],
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
}
}{
"statusCode": 0,
"error": "string",
"message": "string",
"code": "validation_failed",
"failed": [
{
"objectLabel": "string",
"reason": "string",
"eventKey": "string",
"environment": "string",
"booked": 0,
"held": 0
}
],
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
}
}{
"statusCode": 0,
"error": "string",
"message": "string",
"code": "validation_failed",
"failed": [
{
"objectLabel": "string",
"reason": "string",
"eventKey": "string",
"environment": "string",
"booked": 0,
"held": 0
}
],
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
}
}Status
read-only snapshots of seat availability and reports for an event.
Get event status GET
Returns one entry per non-free object of an event. Objects absent from the response are `free` (lazy initialization); expired holds count as free. This is the endpoint the SDK polls to render the live seat map. Seat entries: `{ objectLabel, objectType: "seat", status, categoryKey, holdExpiresAt? }`. General-admission areas are ONE aggregated entry per area (emitted once anything is held or booked): `{ objectLabel, objectType: "generalAdmission", status, categoryKey, capacity, held, booked, remaining }` where `status` is `free` while `remaining > 0`, `booked` when bookings fill the capacity, otherwise `held`. `categoryKey` comes from the published chart. Hold tokens are never returned. Pass `?holdToken=<your token>` to have your own live holds flagged: `mine: true` on seats, `mineQuantity` on GA areas (a token that matches nothing simply adds no flags). `extraData` is included for secret-key callers only. Pass `?labels=A-12,A-13` to narrow to specific objects (free objects are still omitted — see /objects for the full layout).