Skip to main content

Create Event

POST/events
Create a new event within your organisation. Events are the top-level entity that represents a ticketed experience - a concert, conference, sporting event, or any occasion where you'll sell tickets. After creating an event, you'll typically want to: 1. Add **occurrences** (specific dates and times) 2. Configure **price schemes** (ticket types and pricing) 3. Set the event status to `published` when ready to sell

When to use this

  • Creating events programmatically from an external calendar or booking system
  • Bulk importing events from a CSV or spreadsheet
  • Building a custom event management interface
  • Automating event creation based on venue schedules

Request Body

accountId*stringAccount ID that owns this event
name*stringEvent name
subtitlestringnullShort event subtitle / tagline
descriptionstringEvent description
shortDescriptionstringnullCard / listing summary
imageUrlstring,null (uri)Listing / card image URL
heroImageUrlstring,null (uri)Event-page hero image URL
presentationobjectnullEvent-level storefront design override
heroLayoutobject
cinemaGradientobject
twoColumnSplitarray
navbarobject
buttonSize"small" | "medium" | "large"
status"draft" | "published" | "on_sale" | "sold_out" | "completed" | "cancelled"Event status
venueIdstringnullVenue ID (link to formal venue)
venueNamestringnullVenue name (text-only, alternative to venueId)
timezonestringEvent timezone
onSaleDatestring (date-time)When tickets go on sale
offSaleDatestring (date-time)When sales close
tagsstring[]Event tags
ticketTypesobject[]Ticket types for this event (e.g., Adult, Child)
idstringTicket type ID (auto-generated if not provided)
name*stringTicket type name
descriptionstringTicket type description
displayOrder*integerDisplay order
layoutobjectEvent layout with categories and capacity areas
categoriesobject[]Pricing categories for this event
areasobject[]Capacity areas (GA and/or allocated)
venueLayoutTemplateIdstringSource venue layout template ID (if imported)

Response

Event created successfully

Notes

ℹ️Events must belong to a venue. Make sure to create the venue first if it doesn't exist.
💡Use a descriptive `slug` for SEO-friendly URLs. If not provided, one will be generated from the event name.
⚠️Events are created in `draft` status by default. Update the status to `published` when ready for ticket sales.
Code Samples

Create events using the TypeScript SDK:

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

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

// Create a new event
const event = await client.events.create({
name: 'Summer Festival 2025',
slug: 'summer-festival-2025',
venueId: 'venue_abc123',
description: 'The biggest music festival of the summer!',
status: 'draft',
});

console.log(`Created event: ${event.id}`);
// Now add occurrences and price schemes...

Try It

Request Body
Account ID that owns this event
Event name
Short event subtitle / tagline
Event description
Card / listing summary
Listing / card image URL
Event-page hero image URL
Event-level storefront design override
Event status
Venue ID (link to formal venue)
Venue name (text-only, alternative to venueId)
Event timezone
When tickets go on sale
When sales close
Event tags
Ticket types for this event (e.g., Adult, Child)
Event layout with categories and capacity areas

Related