Skip to content
Docs
Operation

Get Event

GET/events/{id}
Retrieve a single event by its ID. Use the `expand` parameter to include related data like venue details in the response.

When to use this

  • Displaying event details on a detail page
  • Fetching current event state before making updates
  • Verifying an event exists after creation

Path parameters

idstringRequired
Event ID

Query parameters

includearrayOptional
Comma-separated: occurrences (dates, times, timezone and status of each occurrence; no prices), venue (the event venue as a page states it), prices (what a buyer pays for one ticket, fees included, from the offers engine: with a channel, the from-to for that channel; on the get with no channel, a from-to per channel listing the event; on the list a channel is required, and without one it is 400 CHANNEL_REQUIRED). An unknown value is 400

Headers

X-Ticketlayer-ChannelstringOptional
Slug of the sales channel to act through. A channel-scoped credential supplies its own channel and this header, when sent, must agree with it. On a read it filters to what that channel sells, at its resolved prices; on a cart it is required; on an order operation it is derived from the order and may only confirm it, never contradict it.

Returns

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

Tip
Use `expand=venue` to include full venue details in a single request.

Related

import { BackstageClient } from '@ticketlayer/backstage';const client = new BackstageClient({  organisationSlug: 'your-org',});client.setAccessToken('YOUR_ACCESS_TOKEN');// Get event with venue detailsconst event = await client.events.get('evt_abc123', {  expand: 'venue',});console.log(`${event.name} at ${event.venue?.name}`);console.log(`Status: ${event.status}`);
Response 200
{
  "event": {
    "id": "evt_abc123",
    "organisationId": "org_xyz789",
    "accountId": "acc_def456",
    "name": "Summer Music Festival",
    "subtitle": "Three days. Fifty artists. One field.",
    "description": "A three-day music festival",
    "shortDescription": "Top artists across three days.",
    "status": "draft",
    "images": {
      "card": {
        "url": "https://api.ticketlayer.com/assets/o/org_xyz789/tempest-card.jpg",
        "width": null,
        "height": null,
        "alt": "The Tempest",
        "contentType": "image/jpeg"
      },
      "hero": null
    },
    "imageUrl": "https://api.ticketlayer.com/assets/o/org_xyz789/tempest-card.jpg",
    "heroImageUrl": null,
    "presentation": {
      "heroLayout": {
        "type": "cinema",
        "size": "large"
      },
      "buttonSize": "large"
    },
    "venueId": "vnu_ghi789",
    "venueName": "The Globe",
    "timezone": "Europe/London",
    "rules": {
      "discoverable": {
        "open": true,
        "windows": [
          {
            "from": null,
            "until": null,
            "audienceTags": [],
            "audience": null
          }
        ]
      },
      "visible": {
        "open": true,
        "windows": [
          {
            "from": null,
            "until": null,
            "audienceTags": [],
            "audience": null
          }
        ]
      },
      "sellable": {
        "open": true,
        "windows": [
          {
            "from": null,
            "until": null,
            "audienceTags": [],
            "audience": null
          }
        ]
      }
    },
    "ticketTypes": [
      {
        "id": "tty_abc123",
        "name": "Adult",
        "description": "Ages 16+",
        "displayOrder": 0,
        "visibility": "hidden",
        "unlockTags": [
          "member"
        ],
        "requiredBenefit": "member",
        "tags": [
          "child"
        ],
        "taxCategory": "admission"
      }
    ],
    "defaultPriceSchemeId": "tps_abc123",
    "occurrenceCount": 3,
    "ticketCount": 0,
    "productCount": 0,
    "tags": [
      "music",
      "festival"
    ],
    "isDeleted": false,
    "createdAt": "2024-12-28T10:30:00Z",
    "updatedAt": "2024-12-28T14:45:00Z",
    "contentUpdatedAt": "2024-12-29T09:12:44.512Z",
    "createdBy": "usr_abc123",
    "version": 14,
    "listing": {
      "id": "schl_abc123",
      "discoverable": true,
      "visible": true,
      "sellable": true,
      "opensAt": null,
      "closesAt": null,
      "priceFrom": 2500,
      "currency": "GBP",
      "nextOccurrenceAt": "2026-11-01T19:30:00.000Z"
    },
    "occurrences": [
      {
        "id": "eoc_abc123",
        "startsAt": "2026-11-01T19:30:00.000Z",
        "endsAt": "2026-11-01T22:00:00.000Z",
        "timezone": "Europe/London",
        "startDate": "2026-11-01",
        "startTime": "19:30:00",
        "endDate": "2026-11-01",
        "endTime": "22:00:00",
        "status": "on_sale",
        "venueId": null,
        "venueName": null
      }
    ],
    "occurrencesTruncated": false,
    "venue": {
      "id": "vnu_ghi789",
      "name": "The Globe",
      "streetAddress": "21 New Globe Walk",
      "city": "London",
      "country": "GB",
      "coordinates": {
        "latitude": 51.5081,
        "longitude": -0.0972
      },
      "timezone": "Europe/London",
      "website": "https://www.shakespearesglobe.com"
    },
    "prices": {
      "currency": "GBP",
      "from": 1890,
      "to": 2625,
      "feesIncluded": true,
      "state": "on_sale",
      "sellable": true,
      "byChannel": [
        {
          "channel": {},
          "currency": "GBP",
          "from": 1890,
          "to": 2625,
          "feesIncluded": true,
          "state": "on_sale",
          "sellable": true
        }
      ]
    }
  },
  "channel": {
    "id": "sch_abc123",
    "slug": "box-office",
    "name": "Box office"
  }
}

Try it in test mode

Path parameters
Event ID
Query parameters
Comma-separated: occurrences (dates, times, timezone and status of each occurrence; no prices), venue (the event venue as a page states it), prices (what a buyer pays for one ticket, fees included, from the offers engine: with a channel, the from-to for that channel; on the get with no channel, a from-to per channel listing the event; on the list a channel is required, and without one it is 400 CHANNEL_REQUIRED). An unknown value is 400