Catalogue Endpoints
Spektrix calls the catalogue endpoints when the client's staff import events from your source system, and when they map ticket types and price bands. These endpoints tell Spektrix what's on sale. They don't cover availability or prices, which come from the availability endpoints.
An import calls the endpoints in this order:
List instances
GET instances?startFrom={startFrom}&startTo={startTo}
Lists the instances (performances) that the agent can sell in a date range. This is where every import starts.
| Query parameter | Required | Description |
|---|---|---|
startFrom | Yes | Return instances starting on or after this local date and time, for example 2026-03-01T00:00:00. |
startTo | No | Return instances starting on or before this local date and time. If it's omitted, return everything from startFrom onwards. |
Return cancelled instances as well, with cancelled set to true, so Spektrix can mark them as cancelled. If an instance that was imported earlier no longer appears in the response, Spektrix treats it as removed.
Example request
GET https://connector.example.com/v1/instances?startFrom=2026-03-01T00%3A00%3A00&startTo=2026-06-30T23%3A59%3A59
X-Api-Key: ••••••••
Response: 200 OK
[
{
"id": "2AEBCDFG",
"eventId": "1AEBCDFG",
"start": "2026-03-01T19:30:00",
"cancelled": false,
"seatingPlanId": "3AEBCDFG"
}
]
| Field | Type | Description |
|---|---|---|
id | string | Your id for the instance. |
eventId | string | The event this is an instance of. Spektrix fetches it with get events. |
start | date-time | Local start date and time at the venue. |
cancelled | boolean | true if the instance has been cancelled in the source system. |
seatingPlanId | string | The seating plan the instance uses. Spektrix fetches it with get seating plan. Many instances usually share one plan. |
Get events
GET events?ids={eventIds}
Returns the events with the given ids. Spektrix calls this with the eventId values of the instances being imported.
| Query parameter | Required | Description |
|---|---|---|
ids | Yes | Comma-separated event ids, for example 1AEBCDFG,4AEBCDFG. |
Leave out any ids your connector doesn't recognise. Don't return an error for them.
Response: 200 OK
[
{
"id": "1AEBCDFG",
"name": "The Tempest"
}
]
| Field | Type | Description |
|---|---|---|
id | string | Your id for the event. |
name | string | The event's name, as staff and customers will see it in Spektrix. |
List ticket types
GET ticket-types
Lists every ticket type the agent can sell, such as Adult or Concession. The client's staff see these names when they map your ticket types to their own Spektrix ticket types, so use the names the source system's own users would recognise.
Response: 200 OK
[
{ "id": "5AEBCDFG", "name": "Adult" },
{ "id": "6AEBCDFG", "name": "Concession" }
]
| Field | Type | Description |
|---|---|---|
id | string | Your id for the ticket type. |
name | string | The ticket type's name. |
List price bands
GET price-bands
Lists the price bands used across your seating plans. As with ticket types, staff see these names when they map your price bands to their own.
Response: 200 OK
[
{ "id": "7AEBCDFG", "name": "Band A" },
{ "id": "8AEBCDFG", "name": "Band B" }
]
| Field | Type | Description |
|---|---|---|
id | string | Your id for the price band. |
name | string | The price band's name. |
Get venue
GET venues/{venueId}
Returns a venue. Spektrix calls this with the venueId of a seating plan.
Response: 200 OK
{
"id": "9AEBCDFG",
"name": "Theatre Royal",
"address": "12 Example Street, London, EX1 2MP"
}
| Field | Type | Description |
|---|---|---|
id | string | Your id for the venue. |
name | string | The venue's name. |
address | string | The venue's address, as a single line. |