Skip to content
Docs
Operation

Update Event Occurrence

PATCH/events/{eventId}/occurrences/{occurrenceId}
Change the details of an existing occurrence. Need to reschedule a show? Adjust capacity? Change the doors-open time? This endpoint lets you update any aspect of an occurrence. Only the fields you include in the request will be updated-everything else stays the same.

When to use this

  • Rescheduling a show to a different time
  • Adjusting capacity based on venue changes
  • Updating status (e.g., marking as sold out)

Path parameters

eventIdstringRequired
Event ID
occurrenceIdstringRequired
Occurrence 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

startDatestring (date-time)Start date (ISO date)
startTimestringStart time (HH:mm:ss)
endDatestring (date-time)End date (ISO date)
endTimestringEnd time (HH:mm:ss)
timezonestringOccurrence timezone
venueIdstringnullVenue ID
venueLayoutIdstringnullVenue layout ID
ticketSchemeIdstringnullTicket scheme to use for this occurrence
priceSchemeIdstringnullPrice scheme to use (must belong to the ticket scheme)
categoryMappingarraynullCategory mapping for template mode ticket schemes
status"draft" | "on_sale" | "sold_out" | "completed" | "cancelled"Occurrence status

Returns

Event occurrence 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

Important
Changing the date or time of an occurrence with existing bookings may confuse customers. Consider communicating changes proactively.
Tip
Use PATCH semantics-only send the fields you want to change.

Related

import { BackstageClient } from '@ticketlayer/backstage';const client = new BackstageClient({  organisationSlug: 'your-org',});client.setAccessToken('YOUR_ACCESS_TOKEN');// Update eventoccurrenceconst updated = await client.eventoccurrence.update('{{EVENTOCCURRENCE_ID}}', {  name: 'Updated Name',  // Add fields to update});console.log(`Updated eventoccurrence: ${updated.name}`);
Response 200
{
  "eventOccurrence": {
    "id": "eoc_abc123",
    "organisationId": "org_xyz789",
    "accountId": "acc_def456",
    "eventId": "evt_ghi789",
    "startDate": "2025-06-15T00:00:00Z",
    "startTime": "19:00:00",
    "endDate": "2025-06-15T00:00:00Z",
    "endTime": "23:00:00",
    "timezone": "Europe/London",
    "venueId": "vnu_abc123",
    "status": "draft",
    "isDeleted": false,
    "createdAt": "2024-12-28T10:30:00Z",
    "updatedAt": "2024-12-28T14:45:00Z"
  }
}

Try it in test mode

Path parameters
Event ID
Occurrence ID
Body
Start date (ISO date)
Start time (HH:mm:ss)
End date (ISO date)
End time (HH:mm:ss)
Occurrence timezone
Venue ID
Venue layout ID
Ticket scheme to use for this occurrence
Price scheme to use (must belong to the ticket scheme)
Category mapping for template mode ticket schemes
Occurrence status