Creating an Event
You can use the Eventbrite website to quickly and easily create a new Event. However, you can use the Eventbrite API if, for example, you want to create an Event within a workflow outside of Eventbrite such as in your CRM or CMS.
There are two ways to create Events using the Eventbrite API:
- Create an Event from scratch by defining an new Event object.
- Copy an Event already existing in your account and then update it.
Once you have created a new Event, you must create at least one Ticket Class object for the Event, and then publish the Event so that Attendees can access tickets. See below for information on both of these actions.
Authenticating Your Access to the Eventbrite API
To create an Event, you must authenticate your access to the Eventbrite API. To learn how, refer to Authenticating Your Access.
Creating an Event from Scratch
Every Event is created within an Organization. To create a new Event from scratch, you must have the ID of an Organization to which you (and the new Event should) belong. If you are on Eventbrite Music you can belong to multiple Organizations. For information on finding your Organization ID, refer to Organizations.
Create a new Event by using the call
curl -X POST https://www.eventbriteapi.com/v3/organizations/{organization_id}/events/ -H 'Authorization: Bearer PERSONAL_OAUTH_TOKEN' -H "Accept: application/json"
-d '{
"event": {
"name": {
"html": "My New Event"
},
"start":{
"timezone": "America/Los_Angeles",
"utc": "2019-12-01T02:00:00Z"
},
"end":{
"timezone": "America/Los_Angeles",
"utc": "2019-12-01T05:00:00Z"
},
"currency": "USD"
}
}'
The following fields are required when creating an Event, and should be appended to the end of the POST request URL:
Field | Type | Description |
---|---|---|
name | multipart-text | Event name (title), made up of two fields. |
start | datetime-tz | Event start date and time (must be a future date) made up of two fields. |
end | datetime-tz | Event end date and time (must be a future date after the start date) made up of two fields. |
currency | string | Event ISO 4217 currency code. |
The multipart-text
data type is an object with two fields.
Field | Type | Description |
---|---|---|
html | string | (Required) HTML format. |
text | string | (Optional) Plain text. |
The datetime-tz
data type is an object with two fields.
Field | Type | Description |
---|---|---|
timezone | string | The timezone |
utc | string | The time relative to UTC |
If the call is successful, the new Event object is returned. The id
attribute
is the unique ID of the new Event. You'll need the Event ID when using the API
to update the Event, add Ticket Classes and publish the Event, as explained
below.
Events created using the API call above will be standard events that occur one time. In order to create a series of events with multiple occurrences (also known as a "repeating event" or "recurring event"), you must first create one event to serve as the "series parent", then add occurrences to the series parent. For more information on how to create a series parent and add occurrences, please refer to the Create Event API.
Creating a New Event by Copying an Existing Event
To create a new Event by copying an existing Event, you need to have the ID of the Event you want to copy. For more information, refer to Getting Information on an Event.
Specify the Event ID of the Event you want to copy, as the basis for the new Event, in the request URL. The copied Event is created under the same Organization as the original Event.
curl -X POST https://www.eventbriteapi.com/v3/events/{event_id}/copy/ -H 'Authorization: Bearer PERSONAL_OAUTH_TOKEN'
If the call is successful, the copied Event object is returned with a new Event
ID (the id
attribute).
Updating an Event
You use the following API call, with the appropriate Event attributes of the fields you want to update. For example, updating the Event capacity to 200.
curl -X POST https://www.eventbriteapi.com/v3/events/{event_id}/ -H 'Authorization: Bearer PERSONAL_OAUTH_TOKEN' -H "Accept: application/json"
-d '{
"event": {
"capacity": 200
}
}'
Event Attributes
Field | Type | Description |
---|---|---|
name | multipart-text | Event name. |
summary | string | Event summary. Limited to 140 characters. |
description | multipart-text | (DEPRECATED) Event description. Description can be lengthy and have significant formatting. |
url | string | URL of the Event's Listing page on eventbrite.com. |
start | datetime-tz | Event start date and time. |
end | datetime-tz | Event end date and time. |
currency | string | Event ISO 4217 currency code. |
online_event | boolean | true = Specifies that the Event is online only (i.e. the Event does not have a Venue). |
listed | boolean | true = Allows the Event to be publicly searchable on the Eventbrite website. |
shareable | boolean | true = Event is shareable, by including social sharing buttons for the Event to Eventbrite applications. |
invite_only | boolean | true = Only invitees who have received an email inviting them to the Event are able to see Eventbrite applications. |
show_remaining | boolean | true = Provides, to Eventbrite applications, the total number of remaining tickets for the Event. |
password | string | Event password used by visitors to access the details of the Event. |
capacity | integer | Maximum number of tickets for the Event that can be sold to Attendees. The total capacity is calculated by the sum of the quantity_total of the Ticket Class. |
Creating a Ticket Class
Regardless of the method you use to create an new Event, you must create at least one Ticket Class (ticket type) for the new Event. For example, a Ticket Class that is a paid, \$10 ticket with the ticket name VIP.
You create a Ticket Class for an Event (identified by the Event ID) using the following API call
curl -X POST https://www.eventbriteapi.com/v3/events/{event_id}/ticket_classes/ -H 'Authorization: Bearer PERSONAL_OAUTH_TOKEN' -H "Accept: application/json"
-d '{
"ticket_class": {
"name": "VIP",
"quantity_total": 100,
"cost": "USD,1000"
}
}'
These fields are required to create a Ticket Class:
Field | Type | Description |
---|---|---|
name | string | Ticket Class name. |
quantity_total | integer | Number of this Ticket Class available for sale. |
free | boolean | (Only for free tickets) true = Ticket Class is Free. |
cost | string | (Only for paid tickets) Cost of the Ticket Class (example format: USD,1000 ) \$10 |
Publishing an Event
All new Events must be published so that Attendees can access tickets to your Event. Use the following API call, to publish an Event.
curl -X POST https://www.eventbriteapi.com/v3/events/{event_id}/publish/ -H 'Authorization: Bearer PERSONAL_OAUTH_TOKEN'