Skip to main content

Sections & Rows

Once you have an event_id from the Discovery API, use these endpoints to retrieve available seating sections and rows. This gives you the data needed to present seat selection to your customer and to build a valid quote request.

Authentication Required

All endpoints require a valid Bearer token. See Authentication to get your token.


Endpoints​

MethodEndpointDescription
GET/v1/events/{event_id}/sectionsGet all available sections for an event
GET/v1/events/{event_id}/sections/{section_name}/rowsGet all available rows within a section

8.1 β€” Get Sections for an Event​

Returns all sections where Ticket Buyback has ticket inventory available for the given event.

Endpoint​

GET /v1/events/{event_id}/sections

Path Parameters​

ParameterTypeRequiredDescription
event_idstringYesEvent ID from the Discovery API

Request​

cURL
curl "https://api.ticketbuyback.com/partner/v1/events/5496123/sections" \
-H "Authorization: Bearer <token>" \
-H "Accept: application/json"
JavaScript
const response = await fetch(
"https://api.ticketbuyback.com/partner/v1/events/5496123/sections",
{
headers: {
Authorization: `Bearer ${token}`,
Accept: "application/json",
},
}
);

const { data } = await response.json();
// data = array of available sections

Response β€” 200 OK​

{
"success": true,
"data": [
{
"section_id": "sec_lower_101",
"section_name": "101",
"section_name_display": "Section 101"
},
{
"section_id": "sec_lower_102",
"section_name": "102",
"section_name_display": "Section 102"
},
{
"section_id": "sec_lower_ga",
"section_name": "GA",
"section_name_display": "General Admission"
}
],
"pagination": {
"total": 18,
"limit": 100,
"offset": 0,
"has_more": false
},
"meta": {
"request_id": "abc123",
"timestamp": "2026-02-26T10:30:00Z"
}
}

Response Fields​

FieldDescription
section_idUnique identifier for the section
section_nameSection name β€” use this value in the rows endpoint and quote request
section_name_displayHuman-readable label to show your customer
tip

Only sections with available inventory are returned. If a section is sold out it will not appear in this list.


8.2 β€” Get Rows for a Section​

Returns all available rows within a specific section for the given event.

Endpoint​

GET /v1/events/{event_id}/sections/{section_name}/rows

Path Parameters​

ParameterTypeRequiredDescription
event_idstringYesEvent ID from the Discovery API
section_namestringYesSection name from the Get Sections response (e.g. 101, GA)

Request​

cURL
curl "https://api.ticketbuyback.com/partner/v1/events/5496123/sections/101/rows" \
-H "Authorization: Bearer <token>" \
-H "Accept: application/json"
JavaScript
const eventId = "5496123";
const sectionName = "101";

const response = await fetch(
`https://api.ticketbuyback.com/partner/v1/events/${eventId}/sections/${sectionName}/rows`,
{
headers: {
Authorization: `Bearer ${token}`,
Accept: "application/json",
},
}
);

const { data } = await response.json();
// data = array of available rows

Response β€” 200 OK​

{
"success": true,
"data": [
{
"row_name": "A",
"row_name_display": "Row A"
},
{
"row_name": "B",
"row_name_display": "Row B"
},
{
"row_name": "C",
"row_name_display": "Row C"
}
],
"meta": {
"request_id": "abc123",
"timestamp": "2026-02-26T10:30:00Z"
}
}

Response Fields​

FieldDescription
row_nameRow identifier β€” use this value in the quote request
row_name_displayHuman-readable label to show your customer
tip

row_name is optional when creating a quote. If you omit it, Ticket Buyback will automatically assign the best available row for the requested section and quantity.


Error Scenarios​

ScenarioHTTP StatusError Code
Missing or invalid Bearer token401UNAUTHORIZED
Token expired401TOKEN_EXPIRED
Event not found404EVENT_NOT_FOUND
Section not found404SECTION_NOT_FOUND
No inventory available200Empty data array
note

When there is no inventory available for a section or row, the API returns 200 OK with an empty data array β€” not an error.


Full Seat Selection Flow​

Here is a complete example that chains both endpoints to build a seat selector:

JavaScript β€” Full seat selection
async function getSeatOptions(eventId) {
// Step 1 β€” get all available sections
const sectionsRes = await fetch(
`https://api.ticketbuyback.com/partner/v1/events/${eventId}/sections`,
{ headers: { Authorization: `Bearer ${token}` } }
);
const { data: sections } = await sectionsRes.json();

// Step 2 β€” get rows for the first section
const firstSection = sections[0];
const rowsRes = await fetch(
`https://api.ticketbuyback.com/partner/v1/events/${eventId}/sections/${firstSection.section_name}/rows`,
{ headers: { Authorization: `Bearer ${token}` } }
);
const { data: rows } = await rowsRes.json();

return {
section: firstSection,
rows,
};
}

Next Step​

With a section_name and row_name selected, generate a price quote:

β†’ Create Quote