API Reference
The Entrello API is a RESTful API that provides public read access to event data. All responses are returned in JSON format. These endpoints are publicly accessible and do not require authentication.
All API requests should be made to the base URL. Dates are returned in RFC 3339 format. Monetary values are in cents.
Base URL
https://entrello.app/api/events
Content Type
All responses use application/json.
Authentication
These public endpoints require no authentication. Access is scoped by the organization slug in the URL.
curl https://entrello.app/api/events/?slug=my-org
List events
Returns a list of events for the organization. Events that share the same
sync_id are grouped together, with additional dates returned
in the dates array. This is the primary endpoint for building
event listing pages.
/events
"true" or "false"."true" or "false"."en", "de") to apply translations to event title, description, and location.0 = available, 0.9 = nearly sold out, 1.0 = completely sold out. See Status Codes & Flags for details.false, the event is hidden from the public listing. See Status Codes & Flags.sold_out = 1.0), customers can join a waiting list. See Status Codes & Flags.psc query parameter matches the event's pre-sale code (case-insensitive).curl https://entrello.app/api/events/?slug=my-org&lang=en
[ { "id": "evt_abc123", "org_id": "org_xyz", "title": "Hamlet", "description": "A Shakespeare classic...", "subtitle": "by William Shakespeare", "artist": "Royal Theatre Company", "on_sale": true, "soon_on_sale": false, "on_hold": false, "cancelled": false, "hidden": false, "sold_out": 0.45, "starts_at": "2026-04-15T19:30:00Z", "ends_at": "2026-04-15T22:00:00Z", "features": 0, "media_urls": [ { "url": "https://cdn.entrello.com/img/hamlet.jpg", "type": "cover" } ], "dates": [ { "id": "evt_abc124", "title": "Hamlet", "subtitle": "", "starts_at": "2026-04-16T19:30:00Z", "ends_at": null, "on_sale": true, "soon_on_sale": false, "on_hold": false, "cancelled": false, "sold_out": 0.2, "location": null } ], "labels": [ { "id": "lbl_001", "name": "Theatre", "color": "#e25950" } ], "location": { "name": "Grand Theatre", "description": "", "address": { "city": "Vienna", "country": "Austria", "street": "Ringstrasse 1", "postcode": "1010" } }, "settings": { ... }, "seating_plan": null, "available_languages": ["en", "de"], "pre_sale_code": null } ]
List events (flat)
Returns a flat list of events without grouping by sync_id.
Each event is returned as an individual record. Unlike /events,
synced events are not grouped together and the dates
array will be empty.
Use this endpoint when you need individual event records without date grouping, for example when building calendar views.
/events/flat
"true" or "false"."true" or "false".
Returns an array of Event objects with the same structure as
List events,
except that the dates array is always empty.
Each synced event appears as its own entry.
curl https://entrello.app/api/events/flat?slug=my-org
[ { "id": "evt_abc123", "org_id": "org_xyz", "title": "Hamlet", "description": "A Shakespeare classic...", "subtitle": "by William Shakespeare", "artist": "Royal Theatre Company", "on_sale": true, "soon_on_sale": false, "cancelled": false, "sold_out": 0.45, "starts_at": "2026-04-15T19:30:00Z", "ends_at": "2026-04-15T22:00:00Z", "dates": [], "labels": [...], "location": {...}, "settings": {...}, ... }, { "id": "evt_abc124", "title": "Hamlet", "starts_at": "2026-04-16T19:30:00Z", "dates": [], ... } ]
Retrieve an event
Retrieves a single event by its ID with full details. If the event belongs to
a sync group, all other dates in the group are included in the dates array.
/events/{id}
pre_sale_code.approved field in the response indicates whether the code was accepted.dates array. Default: 100.
Returns a single Event object with the same structure as
described in List events.
The dates array contains all other events sharing the same sync_id.
If the event has a pre-sale code, the pre_sale_code object will be present:
psc query parameter matches the event's pre-sale code (case-insensitive).curl https://entrello.app/api/events/evt_abc123?lang=en
curl https://entrello.app/api/events/evt_abc123?psc=EARLY2026
{ "id": "evt_abc123", "org_id": "org_xyz", "title": "Hamlet", "description": "A Shakespeare classic...", "subtitle": "by William Shakespeare", "artist": "Royal Theatre Company", "on_sale": true, "soon_on_sale": false, "on_hold": false, "cancelled": false, "hidden": false, "sold_out": 0.45, "starts_at": "2026-04-15T19:30:00Z", "ends_at": "2026-04-15T22:00:00Z", "features": 0, "media_urls": [ { "url": "https://cdn.entrello.com/img/hamlet.jpg", "type": "cover" } ], "dates": [ { "id": "evt_abc124", "title": "Hamlet", "subtitle": "", "starts_at": "2026-04-16T19:30:00Z", "ends_at": null, "on_sale": true, "soon_on_sale": false, "on_hold": false, "cancelled": false, "sold_out": 0.2, "location": null } ], "labels": [ { "id": "lbl_001", "name": "Theatre", "color": "#e25950" } ], "location": { "name": "Grand Theatre", "description": "", "public_transport": ["U1 Karlsplatz"], "has_wheelchair_access": true, "has_bar_on_site": true, "has_restaurant_on_site": false, "address": { "city": "Vienna", "country": "Austria", "street": "Ringstrasse 1", "postcode": "1010" } }, "settings": { "basic_settings": { "max_qty_per_order": 10, "close_sale_after_perc": 1.0, "require_ticket_holder_name": false, "available_concessions": [] }, "webshop_settings": { "is_visible": true, "waiting_list": false, "reservations": false, "seating_plan_enabled": true } }, "seating_plan": null, "available_languages": ["en", "de"], "pre_sale_code": { "required": true, "approved": true } }
Event Object
The Event object is the core data structure returned by all event endpoints. It contains comprehensive information about an event including scheduling, availability, settings, location, and media.
Attributes
{ "id": "evt_abc123", "org_id": "org_xyz", "title": "Hamlet", "description": "A Shakespeare classic...", "on_sale": true, "soon_on_sale": false, "cancelled": false, "sold_out": 0.0, "starts_at": "2026-04-15T19:30:00Z", "settings": { "webshop_settings": { "is_visible": true, "premiere": true, "waiting_list": false } } }
Status Codes & Flags
Events have various status indicators that control their behavior in the webshop and provide information about their availability and special characteristics.
Availability Status
These fields control whether an event can be purchased.
on_sale
Type: boolean
Description: When true, the event is open for sale on the webshop.
Customers can browse and purchase tickets. This is the primary indicator that an event
is currently available for purchase.
soon_on_sale
Type: boolean
Description: When true, the event will be available for purchase soon.
This typically indicates that the sale period has not yet started, but customers can see
the event in listings and prepare to purchase when it becomes available.
cancelled
Type: boolean
Description: When true, the event has been cancelled.
Cancelled events are typically not available for purchase and may be hidden from the webshop
or displayed with a cancellation notice.
sold_out
Type: number (0.0 to 1.0)
Description: Indicates the sold-out status of the event. This field has special meaning for certain values:
0or0.0- Tickets are available for purchase0.9- Nearly sold out (typically 90% or more tickets sold). This triggers a "Nearly Sold Out" or similar message in the webshop to create urgency1.0- Completely sold out. No tickets are available. Ifwaiting_listis enabled in webshop_settings, customers can join a waiting list- Other values between 0 and 1 represent the percentage of tickets sold
Visibility Control
is_visible
Type: boolean (in settings.webshop_settings)
Description: Controls whether the event appears in the public webshop.
When false, the event is hidden from listings and cannot be accessed by customers.
This is useful for draft events or events that should only be available through direct links.
Waiting List
waiting_list
Type: boolean (in settings.webshop_settings)
Description: Enables the waiting list feature for the event.
When combined with a sold-out event (sold_out = 1.0), customers can join
a waiting list to be notified if tickets become available. This feature is particularly
useful for high-demand events or to capture interest for additional showtimes.
Display Flags
These flags in settings.webshop_settings indicate special occasions or characteristics
of the event. They are purely for display purposes and do not affect the event's behavior or availability.
Use these to highlight special performances in your UI.
premiere
Type: boolean
Description: Indicates this is a premiere performance - the first public showing
of a new production. This flag can be used to display a "Premiere" badge or special styling.
last
Type: boolean
Description: Indicates this is the last performance of a production.
Use this to display a "Last Performance" or "Final Show" badge to create urgency.
special
Type: boolean
Description: Indicates this is a special event - such as a gala, charity performance,
or other unique showing. Use this to highlight the event with special styling or badges.
postponed
Type: boolean
Description: Indicates the event has been postponed from a previous date.
Display this information to inform customers that the event date has changed.
restaging
Type: boolean
Description: Indicates this is a restaging of a previous production.
This helps customers identify productions that have been performed before.
// Available event { "on_sale": true, "sold_out": 0, "cancelled": false } // Nearly sold out event { "on_sale": true, "sold_out": 0.9, "cancelled": false } // Sold out with waiting list { "on_sale": false, "sold_out": 1.0, "cancelled": false, "settings": { "webshop_settings": { "waiting_list": true } } } // Premiere event { "on_sale": true, "settings": { "webshop_settings": { "premiere": true, "is_visible": true } } }