Event series dates / Sub-events¶
Resource description¶
Events can represent whole event series if the has_subevents property of the event is active.
In this case, many other resources are additionally connected to an event date (also called sub-event).
The sub-event resource contains the following public fields:
Field |
Type |
Description |
|---|---|---|
id |
integer |
Internal ID of the sub-event |
name |
multi-lingual string |
The sub-event’s full name |
event |
string |
The slug of the parent event |
active |
boolean |
If |
is_public |
boolean |
If |
date_from |
datetime |
The sub-event’s start date |
date_to |
datetime |
The sub-event’s end date (or |
date_admission |
datetime |
The sub-event’s admission date (or |
presale_start |
datetime |
The sub-date at which the ticket shop opens (or |
presale_end |
datetime |
The sub-date at which the ticket shop closes (or |
frontpage_text |
multi-lingual string |
The description of the event (or |
location |
multi-lingual string |
The sub-event location (or |
geo_lat |
float |
Latitude of the location (or |
geo_lon |
float |
Longitude of the location (or |
item_price_overrides |
list of objects |
List of items for which this sub-event overrides the default price or settings |
├ item |
integer |
The internal item ID |
├ disabled |
boolean |
If |
├ available_from |
datetime |
Start of availability (or |
├ available_until |
datetime |
End of availability (or |
└ price |
money (string) |
The price or |
variation_price_overrides |
list of objects |
List of variations for which this sub-event overrides the default price or settings |
├ variation |
integer |
The internal variation ID |
├ disabled |
boolean |
If |
├ available_from |
datetime |
Start of availability (or |
├ available_until |
datetime |
End of availability (or |
└ price |
money (string) |
The price or |
meta_data |
object |
Values set for organizer-specific meta data parameters. |
seating_plan |
integer |
If reserved seating is in use, the ID of a seating
plan. Otherwise |
seat_category_mapping |
object |
An object mapping categories of the seating plan
(strings) to items in the event (integers or |
last_modified |
datetime |
Last modification of this object |
Changed in version 2023.8.0: For the organizer-wide endpoint, the search query parameter has been modified to filter sub-events by their parent events slug too.
Endpoints¶
- GET /api/v1/organizers/(organizer)/events/(event)/subevents/¶
Returns a list of all sub-events of an event.
Example request:
GET /api/v1/organizers/bigevents/events/sampleconf/subevents/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "count": 1, "next": null, "previous": null, "results": [ { "id": 1, "name": {"en": "First Sample Conference"}, "event": "sampleconf", "active": false, "is_public": true, "date_from": "2017-12-27T10:00:00Z", "date_to": null, "date_admission": null, "presale_start": null, "presale_end": null, "seating_plan": null, "seat_category_mapping": {}, "location": null, "geo_lat": null, "geo_lon": null, "item_price_overrides": [ { "item": 2, "disabled": false, "available_from": null, "available_until": null, "price": "12.00" } ], "variation_price_overrides": [], "meta_data": {} } ] }
- Query Parameters:
page – The page number in case of a multi-page result set, default is 1
is_public – If set to
true/false, only subevents with a matching value ofis_publicare returned.active – If set to
true/false, only events with a matching value ofactiveare returned.is_future – If set to
true(false), only events that happen currently or in the future are (not) returned.is_past – If set to
true(false), only events that are over are (not) returned.date_from_after – If set to a date and time, only events that start at or after the given time are returned.
date_from_before – If set to a date and time, only events that start at or before the given time are returned.
date_to_after – If set to a date and time, only events that have an end date and end at or after the given time are returned.
date_to_before – If set to a date and time, only events that have an end date and end at or before the given time are returned.
ends_after – If set to a date and time, only events that happen during of after the given time are returned.
search – Only return events matching a given search query.
modified_since (datetime) – Only return objects that have changed since the given date. Be careful: This does not allow you to know if a subevent was deleted.
attr[meta_data_key] (array) – By providing the key and value of a meta data attribute, the list of sub-events will only contain the sub-events matching the set criteria. Providing
?attr[Format]=Seminarwould return only those sub-events having set theirFormatmeta data toSeminar,?attr[Format]=only those, that have no value set. Please note that this filter will respect default values set on organizer or event level.with_availability_for – If set to a sales channel identifier, the response will contain a special
best_availability_stateattribute with values of 100 for “tickets available”, values less than 100 for “tickets sold out or reserved”, andnullfor “status unknown”. These values might be served from a cache. This parameter can make the response slow.
- Parameters:
organizer – The
slugfield of a valid organizerevent – The
slugfield of the main event
- Status Codes:
200 OK – no error
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer does not exist or you have no permission to view it.
- POST /api/v1/organizers/(organizer)/events/(event)/subevents/¶
Creates a new subevent.
Permission required: “Can create events”
Example request:
POST /api/v1/organizers/bigevents/events/sampleconf/subevents/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript Content-Type: application/json { "name": {"en": "First Sample Conference"}, "active": false, "is_public": true, "date_from": "2017-12-27T10:00:00Z", "date_to": null, "date_admission": null, "presale_start": null, "presale_end": null, "location": null, "geo_lat": null, "geo_lon": null, "seating_plan": null, "seat_category_mapping": {}, "item_price_overrides": [ { "item": 2, "disabled": false, "available_from": null, "available_until": null, "price": "12.00" } ], "variation_price_overrides": [], "meta_data": {} }
Example response:
HTTP/1.1 201 Created Vary: Accept Content-Type: application/json { "id": 1, "name": {"en": "First Sample Conference"}, "active": false, "is_public": true, "date_from": "2017-12-27T10:00:00Z", "date_to": null, "date_admission": null, "presale_start": null, "presale_end": null, "location": null, "geo_lat": null, "geo_lon": null, "seating_plan": null, "seat_category_mapping": {}, "item_price_overrides": [ { "item": 2, "disabled": false, "available_from": null, "available_until": null, "price": "12.00" } ], "variation_price_overrides": [], "meta_data": {} }
- Parameters:
organizer – The
slugfield of a valid organizerevent – The
slugfield of the main event
- Status Codes:
201 Created – no error
400 Bad Request – The sub-event could not be created due to invalid submitted data.
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer does not exist or you have no permission to create this resource.
- GET /api/v1/organizers/(organizer)/events/(event)/subevents/(id)/¶
Returns information on one sub-event, identified by its ID.
Example request:
GET /api/v1/organizers/bigevents/events/sampleconf/subevents/1/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "id": 1, "name": {"en": "First Sample Conference"}, "event": "sampleconf", "active": false, "is_public": true, "date_from": "2017-12-27T10:00:00Z", "date_to": null, "date_admission": null, "presale_start": null, "presale_end": null, "location": null, "geo_lat": null, "geo_lon": null, "seating_plan": null, "seat_category_mapping": {}, "item_price_overrides": [ { "item": 2, "disabled": false, "available_from": null, "available_until": null, "price": "12.00" } ], "variation_price_overrides": [], "meta_data": {} }
- Parameters:
organizer – The
slugfield of a valid organizerevent – The
slugfield of the main eventid – The
idfield of the sub-event to fetch
- Status Codes:
200 OK – no error
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer/event does not exist or you have no permission to view it.
- PATCH /api/v1/organizers/(organizer)/events/(event)/subevents/(id)/¶
Updates a sub-event, identified by its ID. You can also use
PUTinstead ofPATCH. WithPUT, you have to provide all fields of the resource, other fields will be reset to default. WithPATCH, you only need to provide the fields that you want to change.Permission required: “Can change event settings”
Example request:
PATCH /api/v1/organizers/bigevents/events/sampleconf/subevents/1/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript Content-Type: application/json { "name": {"en": "New Subevent Name"}, "item_price_overrides": [ { "item": 2, "disabled": false, "available_from": null, "available_until": null, "price": "23.42" } ], }
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "id": 1, "name": {"en": "New Subevent Name"}, "event": "sampleconf", "active": false, "is_public": true, "date_from": "2017-12-27T10:00:00Z", "date_to": null, "date_admission": null, "presale_start": null, "presale_end": null, "location": null, "geo_lat": null, "geo_lon": null, "seating_plan": null, "seat_category_mapping": {}, "item_price_overrides": [ { "item": 2, "disabled": false, "available_from": null, "available_until": null, "price": "23.42" } ], "variation_price_overrides": [], "meta_data": {} }
- Parameters:
organizer – The
slugfield of a valid organizerevent – The
slugfield of the main eventid – The
idfield of the sub-event to update
- Status Codes:
200 OK – no error
400 Bad Request – The sub-event could not be created due to invalid submitted data.
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer/sub-event does not exist or you have no permission to update this resource.
- DELETE /api/v1/organizers/(organizer)/events/(event)/subevents/(id)/¶
Delete a sub-event. Note that events with orders cannot be deleted to ensure data integrity.
Permission required: “Can change event settings”
Example request:
DELETE /api/v1/organizers/bigevents/events/sampleconf/subevents/1/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript
Example response:
HTTP/1.1 204 No Content Vary: Accept
- Parameters:
organizer – The
slugfield of a valid organizerevent – The
slugfield of the main eventid – The
idfield of the sub-event to delete
- Status Codes:
204 No Content – no error
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer/sub-event does not exist or you have no permission to delete this resource.
- GET /api/v1/organizers/(organizer)/subevents/¶
Returns a list of all sub-events of any event series you have access to within an organizer account.
Example request:
GET /api/v1/organizers/bigevents/subevents/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "count": 1, "next": null, "previous": null, "results": [ { "id": 1, "name": {"en": "First Sample Conference"}, "event": "sampleconf", "active": false, "is_public": true, "date_from": "2017-12-27T10:00:00Z", "date_to": null, "date_admission": null, "presale_start": null, "presale_end": null, "location": null, "geo_lat": null, "geo_lon": null, "seating_plan": null, "seat_category_mapping": {}, "item_price_overrides": [ { "item": 2, "disabled": false, "available_from": null, "available_until": null, "price": "12.00" } ], "variation_price_overrides": [], "meta_data": {} } ] }
- Query Parameters:
page – The page number in case of a multi-page result set, default is 1
is_public – If set to
true/false, only subevents with a matching value ofis_publicare returned.active – If set to
true/false, only events with a matching value ofactiveare returned.event__live – If set to
true/false, only events with a matching value ofliveon the parent event are returned.is_future – If set to
true(false), only events that happen currently or in the future are (not) returned.is_past – If set to
true(false), only events that are over are (not) returned.date_from_after – If set to a date and time, only events that start at or after the given time are returned.
date_from_before – If set to a date and time, only events that start at or before the given time are returned.
date_to_after – If set to a date and time, only events that have an end date and end at or after the given time are returned.
date_to_before – If set to a date and time, only events that have an end date and end at or before the given time are returned.
ends_after – If set to a date and time, only events that happen during of after the given time are returned.
search – Only return events matching a given search query.
sales_channel – If set to a sales channel identifier, the response will only contain subevents from events available on this sales channel.
- Parameters:
organizer – The
slugfield of a valid organizerevent – The
slugfield of the event to fetch
- Status Codes:
200 OK – no error
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer does not exist or you have no permission to view it.