Skip to main content

Sync Seats

PUT/venues/{id}/layouts/{layoutId}/areas/{areaId}/seats/sync
Synchronise seats in an area with an external data source. This is a powerful "upsert" operation-seats that exist are updated, new seats are created, and seats not in your data can optionally be removed. Ideal for keeping your seat maps in sync with venue management systems or CAD drawings.

When to use this

  • Syncing with a venue's master seating database
  • Importing updates from architectural plans
  • Keeping multiple systems in sync automatically

Parameters

idpathrequired
string

Venue ID

layoutIdpathrequired
string

Layout ID

areaIdpathrequired
string

Area ID

Request Body

seats*object[]Array of seats to sync
idstringExisting seat ID (if updating) or temporary editor ID
sectionstringSection identifier
row*stringRow identifier
number*stringSeat number
labelstringDisplay label
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[]
companionTostring
positionobject
internalNotesstring
publicNotesstring
clearExistingbooleanWhether to clear existing seats before syncing (default: true)

Response

Seats synced successfully

Notes

⚠️Be careful with the delete option-it removes seats not in your sync data.
💡Run a dry-run first to preview changes before applying them.
Code Samples

Sync Seats In Area using the TypeScript SDK:

import { BackstageClient } from '@ticketlayer/backstage';

const client = new BackstageClient({
organisationSlug: 'your-org',
});
client.setAccessToken('YOUR_ACCESS_TOKEN');

// Sync Seats In Area
const result = await client.seatsinarea.syncSeatsInArea('{{ID}}', { /* request body */ });

console.log('Operation completed:', result);

Try It

Path Parameters
Venue ID
Layout ID
Area ID
Request Body
Array of seats to sync
Whether to clear existing seats before syncing (default: true)

Related