Operation
Update Seat
PATCH
/venues/{id}/layouts/{layoutId}/areas/{areaId}/seats/{seatId}Update a seat's properties within an area.
Change the seat label, row assignment, pricing category, or position
coordinates. Useful for fixing data entry mistakes or adjusting seat maps.
Changes to the layout template affect future events using this layout.
When to use this
- Correcting a seat's label or row number
- Moving a seat to a different pricing category
- Adjusting seat coordinates on visual maps
Path parameters
idstringRequired- Venue ID
layoutIdstringRequired- Layout ID
areaIdstringRequired- Area ID
seatIdstringRequired- Seat ID
Headers
Idempotency-KeystringOptional- Makes the write safe to retry. The first request with a key does the work and its response is stored for 24 hours; a repeat with the same key and the same request (method, path, query, X-Ticketlayer-Channel, TL-Version and body) gets that stored status and body back, marked `Idempotent-Replay: true`, without running again. The key is scoped to your organisation and your credential. The same key with a different request is 422 IDEMPOTENCY_KEY_REUSED; a repeat while the first is still running waits for it, then answers 409 IDEMPOTENT_REQUEST_IN_PROGRESS if it has not finished. Only a 2xx is stored: after an error the key is free again. Omit the header and the request behaves as it always has.
Body
sectionstringSection identifier
rowstringRow identifier
numberstringSeat 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
x*numberX coordinate on map
y*numberY coordinate on map
rotationnumber0-359 degrees
internalNotesstringInternal notes
publicNotesstringPublic notes shown to customers
Returns
Seat updated successfully
Errors
- 400
- Bad Request - Invalid input
- 401
- Unauthorized - Authentication required
- 403
- Forbidden - Insufficient permissions
- 404
- Not Found - Resource not found
- 500
- Internal Server Error
Every error names its code and links to it. All error codes
Notes
Note
Seat changes apply to the layout template, affecting new events using it.
Tip
Use categories to manage pricing tiers-easier than updating individual seat prices.
Related
import { BackstageClient } from '@ticketlayer/backstage';const client = new BackstageClient({ organisationSlug: 'your-org',});client.setAccessToken('YOUR_ACCESS_TOKEN');// Update seatinareaconst updated = await client.seatinarea.update('{{SEATINAREA_ID}}', { name: 'Updated Name', // Add fields to update});console.log(`Updated seatinarea: ${updated.name}`);Response 200
{
"seat": {
"id": "vlas_abc123",
"section": "Orchestra Center",
"row": "A",
"number": "15",
"label": "Orchestra Center, Row A, Seat 15",
"categoryId": "vlc_premium",
"status": "available",
"holdType": "string",
"attributes": [
"string"
],
"companionSeats": [
"string"
],
"companionTo": "string",
"position": {
"x": 0,
"y": 0,
"rotation": 0
},
"internalNotes": "string",
"publicNotes": "string"
}
}