Bulk Add Seats
POST
/venues/{id}/layouts/{layoutId}/areas/{areaId}/seats/bulkAdd multiple seats to an area in a single request.
Pass an array of seat definitions and create them all at once. This is much
faster than making individual API calls for each seat.
Use this when you have a list of seats to import from another system or when
the auto-generate function doesn't fit your seating layout.
When to use this
- Importing seats from a CSV or spreadsheet
- Migrating from another ticketing system
- Creating complex seating arrangements
Parameters
idpathrequiredVenue ID
layoutIdpathrequiredLayout ID
areaIdpathrequiredArea ID
Request Body
sectionstringSection identifier
row*stringRow identifier
number*stringSeat number
labelstringDisplay label (auto-generated if not provided)
categoryIdstringCategory ID for pricing
status"available" | "blocked" | "accessible" | "held" | "removed"Seat status
holdTypestringHold type if status is held
attributes"aisle_left" | "aisle_right" | "accessible" | "wheelchair_space" | "companion_seat" | "easy_access" | "obstructed_view" | "restricted_view" | "excellent_view" | "stage_view" | "extra_legroom" | "premium_comfort" | "front_row" | "back_row" | "center"[]Seat attributes
companionSeatsstring[]IDs of companion seats (for wheelchair spaces)
companionTostringID of wheelchair space this is companion to
internalNotesstringInternal notes
publicNotesstringPublic notes shown to customers
Response
Seats added successfully
Notes
ℹ️Maximum 500 seats per request for performance reasons.
💡For standard row-based seating, generateSeatsForArea is usually easier.
Code Samples
Bulk Add Seats To Area using the TypeScript SDK:
import { BackstageClient } from '@ticketlayer/backstage';
const client = new BackstageClient({
organisationSlug: 'your-org',
});
client.setAccessToken('YOUR_ACCESS_TOKEN');
// Bulk Add Seats To Area
const result = await client.addseatstoarea.bulkAddSeatsToArea('{{ID}}', { /* request body */ });
console.log('Operation completed:', result);