Eventbrite MCP Server

by vishalsachdev
Verified
FORMAT: 1A HOST: https://www.eventbriteapi.com/v3/ # Eventbrite API v3 ## About our API | New to APIs? Check out [Intro to APIs](https://www.eventbrite.com/platform/docs/introduction) first to get up to speed. | | :---------------- | :---------------------------------- | :------------------------------------------------------------------------------------------------ | The Eventbrite API: * Is [REST](https://developer.mozilla.org/en-US/docs/Glossary/REST)-based (though we use POST instead of PUT). * Uses OAuth2 for authorization. * Always returns responses in [JSON](https://json.org/). All URLs referenced in the API documentation have the following base: https://www.eventbriteapi.com/v3. For the examples in this guide, we'll be using the [python-requests](https://github.com/kennethreitz/requests) library. ## Authentication 1. [Get a Private Token](#get-a-private-token) 2. [(For App Partners) Authorize your Users](#authorize-your-users) 3. [Authenticate API Requests](#authenticate-api-requests) <a name="get-a-private-token"></a> ### 1. Get a Private Token a. Log in to your Eventbrite account and visit [your API Keys page](https://www.eventbrite.com/platform/api-keys). b. Copy your private token. <a name="authorize-your-users"></a> ### 2. (For App Partners) Authorize your Users Note: These steps enable you to perform API requests on behalf of other users. To perform API requests on your own behalf, skip to [Authenticate API Requests](#authenticate-api-requests). #### Authorize Users What You'll Need: * API Key * Client Secret * Redirect URI Note: To find this information, visit [your API Key Management page](https://www.eventbrite.com/account-settings/apps). The Eventbrite API uses [OAuth 2.0](https://oauth.net/2/) for authorization. There are two ways to authorize users: Server-side and client-side. We strongly recommend handling authorization on the server side for security reasons. * Server-Side Authorization (Recommended) a. Redirect users to our authorization URL, while including your API key and redirect URI as query parameters: `https://www.eventbrite.com/oauth/authorize?response_type=code&client_id=YOUR_API_KEY&redirect_uri=YOUR_REDIRECT_URI` When the user authorizes your app, your redirect URI will receive a request from our authorization server with your access code included as a query parameter. Here's an example of the URI you will be redirected to (with the access code included as a query parameter): `http://localhost:8080/oauth/redirect?code=YOUR_ACCESS_CODE` b. Send a POST request to `https://www.eventbrite.com/oauth/token` that specifies the grant type and includes your access code, client secret, and API key. This data should be sent as part of your request header. Here's an example of a POST request using cURL: ``` curl --request POST \ --url 'https://www.eventbrite.com/oauth/token' \ --header 'content-type: application/x-www-form-urlencoded' \ --data grant_type=authorization_code \ --data 'client_id=API_KEY \ --data client_secret=CLIENT_SECRET \ --data code=ACCESS_CODE \ --data 'redirect_uri=REDIRECT_URI' ``` The server will verify the access code and call your redirect URI. The user's private token will be available in the JSON response. Use this private token to make API requests on behalf of this user. * Client-Side Authorization a. Redirect users to our authorization URL, while including your API key and redirect URI as query parameters: `https://www.eventbrite.com/oauth/authorize?response_type=token&client_id=YOUR_API_KEY&redirect_uri=YOUR_REDIRECT_URI` When the user authorizes your app, your redirect URI will receive a request with the private token included as a query parameter. Next up: Follow the steps in [Authenticate API Requests](#authenticate-api-requests). <a name="authenticate-api-requests"></a> ### 3. Authenticate API Requests To authenticate API requests, you'll need to include either your private token or your user's private token. There are two ways of including your token in an API request: * Authorization Header Include the following in your Authorization header (replacing MYTOKEN with your token): { Authorization: Bearer MYTOKEN } * Query Parameter Authentication Include the following at the end of the URL (replacing MYTOKEN with your token): /v3/users/me/?token=MYTOKEN For every user you would like to perform API requests on behalf of, repeat [(For App Partners) Authorize your Users](#authorize-your-users) and [Authenticate API Requests](#authenticate-api-requests). <a name="best-practices"></a> ### Best practices These best practices ensure that your authentication and access to the Eventbrite API is successful and secure. #### Do not use your private token directly in client-side code. Before you make your application publicly available, ensure that your client-side code does not contain private tokens or any other private information. #### Delete unneeded API keys To minimize your exposure to attack, delete any private tokens that you no longer need. ## Errors When an error occurs during an API request, you will receive: * An HTTP error status (in the 400-500 range) * A JSON response containing more information about the error A typical error response looks like this: <pre><code> { "error": "VENUE_AND_ONLINE", "error_description": "You cannot both specify a venue and set online_event", "status_code": 400 } </code></pre> See below for descriptions of what each line means: | Example | Description | | :--------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | { | | | "error": "VENUE_AND_ONLINE", | “VENUE_AND_ONLINE” is an example of a constant string value for the error. This constant value is what you should base your error handling logic on, because this string won’t change depending on the locale or as the API changes over time. | | "error_description": "You cannot both specify a venue and set online_event", | "You cannot both specify a venue and set online_event" is an example of an error description value. This string usually contains a description of the error, and should only be displayed to developers, not your users. | | "status_code": 400 | 400 is an example of a status code value. This value mirrors the HTTP status code you will receive. It’s included for convenience, in case your HTTP client makes it difficult to get status codes, or has one error handler for all error codes. | | } | | ### Common Errors You can find a listing of the individual errors for each endpoint on their endpoint entries, but there are also some common errors that all endpoints might return: | Status Code | Text | Description | | :---------- | :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 301 | PERMANENTLY_MOVED | Resource must be retrieved from a different URL. | | 400 | ACTION_NOT_PROCESSED | Requested operation not processed. | | 400 | ARGUMENTS_ERROR | There are errors with your arguments. | | 400 | BAD_CONTINUATION_TOKEN | Invalid continuation token passed. | | 400 | BAD_PAGE | Page number does not exist or is an invalid format (e.g. negative). | | 400 | BAD_REQUEST | The resource you’re creating already exists. | | 400 | INVALID_ARGUMENT | Invalid argument value passed. | | 400 | INVALID_AUTH | Authentication/OAuth token is invalid. | | 400 | INVALID_AUTH_HEADER | Authentication header is invalid. | | 400 | INVALID_BATCH | Batched request is missing or invalid. | | 400 | INVALID_BODY | A request body that was not in JSON format was passed. | | 400 | UNSUPPORTED_OPERATION | Requested operation not supported. | | 401 | ACCESS_DENIED | Authentication unsuccessful. | | 401 | NO_AUTH | Authentication not provided. | | 403 | NOT_AUTHORIZED | User has not been authorized to perform that action. | | 404 | NOT_FOUND | Invalid URL. | | 405 | METHOD_NOT_ALLOWED | Method is not allowed for this endpoint. | | 409 | REQUEST_CONFLICT | Requested operation resulted in conflict. | | 429 | HIT_RATE_LIMIT | Hourly rate limit has been reached for this token. Default rate limits are 2,000 calls per hour. | | 500 | EXPANSION_FAILED | Unhandled error occurred during expansion; the request is likely to succeed if you don’t ask for expansions, but <a href="https://www.eventbrite.com/platform/docs/contact" target="_blank">contact Eventbrite support</a> if this problem persists. | | 500 | INTERNAL_ERROR | Unhandled error occurred in Eventbrite. <a href="https://www.eventbrite.com/platform/docs/contact" target="_blank">contact Eventbrite support</a> if this problem persists. | ## Paginated Responses ### What's in a paginated response? An Eventbrite paginated response is made up of two main sections: A pagination header and a list of objects. Here's an example of a paginated response: ``` { "pagination": { "object_count": 4, "continuation": "AEtFRyiWxkr0ZXyCJcnZ5U1-uSWXJ6vO0sxN06GbrDngaX5U5i8XYmEuZfmZZYB9Uq6bSizOLYoV", "page_count": 2, "page_size": 2, "has_more_items": true, "page_number": 1 }, "categories": [ { "slug": "email", "name_localized": "Email", "name": "Email", "id": "7" }, { "slug": "website", "name_localized": "Website", "name": "Website", "id": "5" }, ] } ``` Here are descriptions of what each attribute within a pagination header means: | Attribute | Example | Description | | :---------------- | :---------------------------------- | :------------------------------------------------------------------------------------------------ | | `object_count` | `4` | The total number of objects found in your response, across all pages. | | `continuation` | `AEtFRyiWxkr0Z`<br>`XyCJcnZ5U1-uS`<br>`WXJ6vO0sxN06G`<br>`brDngaX5U5i8X`<br>`YmEuZfmZZYB`<br>`9Uq6bSizOLYoV` | The continuation token you'll use to get to the next set of results by making the same request again but including this token. Your results will always include a new continuation token that you can use to jump to the next page. When all records have been retrieved, the continuation token will return an empty list of objects. | | `page_count` | `2` | The total number of pages found in your response. | | `page_size` | `2` | The maximum number of objects that can be returned per page for this API endpoint. | | `has_more_items` | `true` | Boolean indicating whether or not there are more items in your response. In this example, the object is “true”, so there are more items. When all records have been retrieved, this attribute will be “false”. | | `page_number` | `1` | The page number you are currently viewing (always starts at 1). | ### Using a continuation token Here's how to use a continuation token to jump to the next page of results: 1. Make a call to any listing endpoint that retrieves a paginated response. <br> <br> Your format will vary, but it might look something like this: GET https://www.eventbriteapi.com/v3/categories/. 2. Verify that the “has_more_items” attribute is “true” before continuing. If it is “false”, there are no additional pages to retrieve, so you can stop here. 3. Copy the continuation token from your response. 4. Call the endpoint again, after adding a continuation token as a query string parameter to the URI. <br> <br> Your call format will vary, but it might look something like this: https://www.eventbriteapi.com/v3/categories/?**continuation=AEtFRyiWxkr0ZXyCJcnZ5U1-uSWXJ6vO0sxN06GbrDngaX5U5i8XYmEuZfmZZYB9Uq6bSizOLYoV** 5. Repeat until all desired records have been retrieved. ## Expansions Eventbrite has many models that refer to each other, and often you’ll want to fetch related data along with the primary model you’re querying—for example, you may want to fetch an organizer along with each event you get back. The way of doing this in the Eventbrite API is called "expansions": you can specify a set of relationships to additionally fetch with every call, which reduces the number of API requests you must make to obtain your data. When using expansions, note that each expansion you specify will slow down your API request slightly, so try to use as few expansions as possible to ensure faster response times. The available expansions are based on the type of object that the API is returning; each of the return formats lists available expansions, as you can see in the event and attendee documentation, for example. ### Requesting Expansions The Eventbrite API is currently undergoing an upgrade to its expansions system, so the ways you request an expansion varies based on the API endpoint. The two sections below describe the two different request formats, but important is determining which request format an API endpoint supports. If an endpoint's top-level response object contains an attribute named `_type`, that endpoint has been upgraded to Expansions v2 and also supports Expansions v1 for backwards compatibility. If the top-level response object does not contain an attribute named `_type`, it has not yet been upgraded and supports <em>only</em> Expansions v1 at this time. At some point in the future, after all endpoints have been upgraded to Expansions v2, Expansions v1 will be deprecated and then later removed. Eventbrite will communicate this deprecation period and removal date when the upgrade is complete and that decision has been made. #### Expansions v1 If you are already an API user, this is the expansions system with which you are likely already familiar. To request an expansion, pass a comma-separated list of expansion names as the `expand=` querystring argument in your URL. <em>For example, to fetch all my own events with organizers and venues expanded:</em> `/v3/users/me/owned_events/?expand=organizer,venue` Sometimes you might want to expand the attributes of an object that has itself been returned by an expansion. <em>For example, you may have a list of orders and want to retrieve the event for each of those orders and the venue for each of those events:</em> `/v3/users/me/orders/?expand=event.venue` Expansions can be nested in this way <b>up to four levels deep</b>. #### Expansions v2 (Recommended if Available) This new version of expansions is similar, but keys off the `_type` attributes in the response. A response contains either a top-level object or a list of top-level objects. In that object or those objects, attribute values might be other objects or lists of objects. All objects that support expansions will contain a `_type` attribute, and within a list of objects, the value of `_type` will be the same for all objects. When requesting an expansion, you pass a series of `expand.[value of _type]=` querystring arguments in the URL, with the value of each argument being the list of requested expansions for that object type. Given a normal, non-expanded response like this: <pre><code>{ "_type": "event", "name": "My Cool Event", "organizer_id": "1234", "venue_id": "5678", ... } </code></pre> You could expand the organizer and venue with the following argument: `?expand.event=organizer,venue` Which would result in the following change to the response: <pre><code>{ "_type": "event", "name": "My Cool Event", "organizer_id": "1234", "organizer": { "id": "1234", ... }, "venue_id": "5678", "venue": { "id": "5678", ... }, ... } </code></pre> Expansions v2 normally makes no distinction between top-level and nested expansions. Expansions belong to object types, not response levels, so you can achieve "nested" expansions by specifying expansions for all the object types you expect to receive and want to expand at any level. For example, given a normal, non-expanded response like this: <pre><code>{ "_type": "order", "event_id": "9012", ... } </code></pre> You can expand not only the order's event, but also the event's organizer and venue, with these arguments: `?expand.order=event&expand.event=organizer,venue` And receive a new response like this: <pre><code>{ "_type": "order", "event_id": "9012", "event": { "_type": "event", "name": "My Cool Event", "organizer_id": "1234", "organizer": { "id": "1234", ... }, "venue_id": "5678", "venue": { "id": "5678", ... }, ... }, ... } </code></pre> However, this will expand all order events and all event organizers and venues, at any level, which may not be what you wish to achieve. If you know you want an item expanded only at a certain level, you can instead use nested expansions. These arguments are equivalent to the previous example: `?expand.order=event,event.organizer,event.venue` All of these examples are just that—examples. The exact format of a response, and its available expansions, will depend entirely on which API endpoint you are calling. ## API Switches ### What do switches do? Switches allow for the dynamic modification of Eventbrite API endpoint behaviors. They can be used to enable new or experimental features, change response formats, and other behaviors. In general, switches are used to ease the process of phasing in new API features that would otherwise break clients. Clients may activate or deactivate switchable features by setting switch headers on API requests. ### Switch lifecycle A feature and its switch go through three phases: - Opt-in, in which a new switch will be available to turn on the new feature. - Opt-out, in which the feature will be on by default and the switch will be available to turn it off. - Fully integrated, at which time the switch will be deprecated. > Eventbrite will notify all API consumers before any switchable feature is introduced or enters a new phase. ### Public and protected switches Switches may be exposed only to certain clients, at Eventbrite’s discretion. Such switches will be restricted to a set of whitelisted API keys, and any client attempting to set a protected switch using a non-whitelisted API key will get a permission error. Switches that are not protected are available to be used by any client. ### Using switches #### Making a request using switch headers Clients use request headers to set switches on API requests. A switch header may contain any number of switch names, separated by commas. Switch names consist of letters, numbers and underscores, and are case-insensitive. To use the example of a switch called “EVENT_FORMAT_OCT_2016” that activates a new Event serialization format: <pre><code>GET /v3/events/12345/ Eb-Api-Switches-Enabled: EVENT_FORMAT_OCT_2016 This call will return the event with ID 12345 using the new format.</code></pre> If the same switch were opt-out, and the client needed to make a request using the old Event format, it would deactivate the switch like so: <pre><code>GET /v3/events/12345/ Eb-Api-Switches-Disabled: EVENT_FORMAT_OCT_2016 This call would return the event using the old format.</code></pre> ### Errors A request containing switch headers may return the following error codes: **409 REQUEST_CONFLICT:** Conflicting switches were passed. This happens if the client passes the same switch in both the Enabled and Disabled headers. **403 NOT_AUTHORIZED:** The client sent a header for a switch that it is not allowed to set. **400 BAD_REQUEST:** The client sent a header for a switch that does not exist or has been deprecated. ## Basic Types ### Integer `10` A standard JSON integer. ### Boolean `true` A standard JSON boolean. ### String `"Ihre Aal ist r\u00fcckw\u00e4rts"` A standard JSON string. (When POSTing data as `application/x-www-form-urlencoded`, use a UTF-8 encoded string instead rather than unicode escapes) ### Float `72.19381730` A standard JSON floating-point decimal. ### Decimal `"72.19381730"` An arbitrary-precision decimal number encoded as a standard JSON string. Decimals are used in cases where floating-point arithmetic inaccuracies could arise with standard JSON floating-point decimals. ### Date Types There are four types of date formats: * Date * Datetime * Local Datetime * Datetime with Timezone #### Date `"2010-01-31"` Date represents a date as a string in ISO8601 date format. If you wish to represent a time as well, you'll need to use Datetime, Local Datetime, or Datetime with Timezone. #### Datetime `"2010-01-31T13:00:00Z"` Datetime represents a date and time as a string in ISO8601 combined date and time format in UTC (Coordinated Universal Time). #### Local Datetime `"2010-01-31T13:00:00"` Local Datetime represents a date and time as a string in Naive Local ISO8601 date and time format in the timezone of the event. #### Datetime with Timezone This value is only used for fields where the timezone itself is important information (for example, event start times). <pre><code>{ "timezone": "America/Los_Angeles", "utc": "2018-05-12T02:00:00Z", "local": "2018-05-11T19:00:00" } </code></pre> | Value | Type | Description | | :------------------------------------- | :-------- | :-------------------------------------------- | | `"timezone": "America/Los_Angeles"` | `string` | A timezone value from the Olson specification | | `"utc": "2018-05-12T02:00:00Z"` | `datetime` | A datetime value in the UTC timezone | | `"local": "2018-05-11T19:00:00` | `datetime` | A datetime value in the named timezone | When being sent as a request: * `utc` and `timezone` are required * `local` is ignored ### List <pre><code>[1, 2, 3, 4] "1,2,3,4" </code></pre> A list of literal values. With a content-type of `application/json`, it should be a JSON array of literals, otherwise, for `application/x-www-form-urlencoded` it should be a string than is a comma separated list of values. ### Object List <pre><code>[{"name1": "val1", "name2": "val2"}, {...}] "[{\"name1\": \"val1\", \"name2\": \"val2\"}, {...}]" </code></pre> A JSON list of object values. With a content-type of `application/json`, it should be a JSON array, otherwise, for `application/x-www-form-urlencoded` it should be a string encoding of a JSON array. ### Dictionary <pre><code>{"key1": "value1", "key2": {"objectkey": "value"}, "key3": [list_values], {...}} "{\"key2\": {\"key3\": \"value\"}, \"key1\": \"value\", \"key4\": [\"value\", \"value\"]}" </code></pre> A JSON object representation of a dictionary. With a content-type of `application/json`, it should be a JSON object, otherwise, for `application/x-www-form-urlencoded` it should be a string encoding of a JSON object. ### Multipart Text <pre><code>{ "text": "Event Name", "html": "<b>Event</b> Name", } </code></pre> Returned for fields which represent HTML, like event names and descriptions. The `html` key represents the original HTML (which _should_ be sanitized and free from injected script tags etc., but as always, be careful what you put in your DOM), while the `text` key is a stripped version useful for places where you can't or don't need to display the full HTML version. ### Country Code `"AR"` The ISO 3166 alpha-2 code of a country. ### Currency Code `"USD"` An ISO 4217 3-character code of a currency ### Currency <pre><code>{ "currency": "USD", "value": 432, "major_value": "4.32", "display": "4.32 USD" } </code></pre> When submitting as form-encoded POST data, you can instead provide a string indicating the currency and the value separated by a comma, e.g. `USD,432` - however, when you submit a JSON POST body, you must submit this as a JSON object with the `currency` and `value` fields. Returned for monetary values, such as ticket prices, fees charged and tax amounts. Currencies are represented as their currency code and an integer value, where the code is the currency code as defined by `ISO 4217 <http://en.wikipedia.org/wiki/ISO_4217>`\_ and the integer value is the number of units of the minor unit of the currency (e.g. cents for US dollars). You can get a value in the currency's major unit - for example, dollars or pound sterling - by taking the integer value provided and shifting the decimal point left by the exponent value for that currency as defined in `ISO 4217 <http://en.wikipedia.org/wiki/ISO_4217>`\_. For example, the exponent for USD (the US dollar) is 2, so a value of `2311` becomes `$23.11`. For JPY (the Japanese yen) it's 0, so a value of `2311` becomes `¥2311`. Eventbrite does not currently sell tickets in non-decimal currencies, such as the Malagasy ariary (MGA), but any value for them would also be returned in minor units (for example, `("MGA", 7)` would mean 1.2 MGA, or 1 ariary and 2 francs). The `display` value is provided for your convenience; its formatting may change depending on the locale you query the API with (for example, commas for decimal separators in European locales). ### Address <pre><code>{ "address_1": "333 O'Farrell St", "address_2": "Suite 400", "city": "San Francisco", "region": "CA", "postal_code": "94102", "country": "US", "latitude": "37.7576792", "longitude": "-122.5078119", "localized_address_display": "333 O'Farrell St Suite 400, San Francisco, CA 94102", "localized_area_display": "San Francisco, CA", "localized_multi_line_address_display": ["333 O'Farrell St", "Suite 400", "San Francisco, CA 94102"] } </code></pre> Though address formatting varies considerably between different countries and regions, Eventbrite still has a common address return format to keep things consistent. In general, you should treat `address_1`, `address_2`, `city`, and `region` as opaque lines of the address printed in that order. The `postal_code` field contains the local postal or zip code equivalent, if available, and the `country` field contains the `ISO 3166 <http://en.wikipedia.org/wiki/ISO_3166-1>`\_ country code for the country (with the name of the country broken out for your convenience). All fields apart from `address_1` and `country` are optional. #### Address Fields | Field | Type | Description | | :------------------------------------- | :-------- | --------------------------------------------------------------------------------------------------------------------------- | | `address_1` | `string` | The street/location address (part 1) | | `address_2` | `string` | The street/location address (part 2) | | `city` | `string` | The city | | `region` | `string` | The ISO 3166-2 2- or 3-character region code for the state, province, region, or district | | `postal_code` | `string` | The postal code | | `country` | `string` | The ISO 3166-1 2-character international code for the country | | `latitude` | `decimal` | The latitude portion of the address coordinates | | `longitude` | `decimal` | The longitude portion of the address coordinates | | `localized_address_display` | `string` | The format of the address display localized to the address country | | `localized_area_display` | `string` | The format of the address's area display localized to the address country | | `localized_multi_line_address_display` | `list` | The multi-line format order of the address display localized to the address country, where each line is an item in the list | ### Object <pre><code>{ "resource_uri": "https://www.eventbriteapi.com/v3/events/3564383166/", "id": "3564383166", } </code></pre> The standard base representation for first-class objects in Eventbrite, such as :format:`event`, :format:`venue` and :format:`order`. The `resource_uri` is an absolute URL to the API endpoint that will return you the canonical representation of the event, and the `id` is a :format:`string` that represents a unique identifer for the event (note that it is not necessarily numeric). Other fields on objects are defined on their individual pages, but note that fields may not be present if their value is `null`; we have noted fields that may not contain a value with `(optional)`. ## Eventual Consistency The Eventbrite Platform is large and, as such, contains a great amount of data. In order to provide the fastest experience practicable to its users, the Platform employs a model known as [eventual consistency](https://en.wikipedia.org/wiki/Eventual_consistency). In short, new or updated data may not be available instantly after you submit changes. ### Implications of Eventual Consistency There are many implications associated with the use of eventual consistency—some of them positive, some of them unfortunate. The key positive to eventual consistency is that it makes the Platform faster and generally provides a better, more reliable, and more available experience for users and partners alike. The notable downside is that when you or someone else creates a new event, modifies an existing event, updates the profile for a venue, or otherwise modifies data on the Platform, those changes may not be immediately visible. When you submit a `POST` or `DELETE` request to alter data, the response you receive, if successful, will always contain the most-up-to-date data, reflecting your changes immediately. However, if you then instantly submit a `GET` request to obtain that same data, you may get a `404 Not Found` response (if it's new data you created), or the response may contain stale data (if it's existing data you updated). The time between when you submit your changes and when those changes are visible across the Platform can vary from as little as 1 second to as much as 5 minutes, depending on the data and the current amount of traffic the Platform is handling. In almost all circumstances, that time is less than 15 seconds. ### Use Waypoints for Immediate Consistency There are times where eventual consistency makes it difficult to use the API for rapidly making changes. For example, creating an event, adding ticket classes to that event, and updating images for that event, all with a set of API calls that occur over the series of several seconds. Eventbrite Waypoints allow Platform developers to request immediate consistency during such activities. A Waypoint is a sort of bookmark to tell the Platform when in the data timeline you expect your data to be found. When you submit a `POST` or `DELETE` request to alter data, the response you receive, if successful, will contain an HTTP header named `Eventbrite-API-Waypoint-Token`. The value of this header is the Waypoint for the data you just created or altered. It is encrypted, but its contents are not important. On the very next response, include a request header named `Eventbrite-API-Waypoint-Token` with the exact, unaltered value copied from the previous response header. You should do this even if your next request is a `GET` or another `POST` or `DELETE`. In this way, its use is very similar to a browser cookie. Continue to do this for subsequent responses and requests. Each time you receive a response containing the header `Eventbrite-API-Waypoint-Token`, submit your next request with the header value from that most-recent response. This will avoid errors commonly associated with eventual consistency, such as `404 Not Found`. There is a downside, however: submitting these tokens in your requests will slow down the requests by as much as 5 extra seconds on top of the normal request time for a given endpoint (though usually less than 1 second). You do not have to hold on to Waypoint tokens indefinitely, and you do not even have to use Waypoint tokens. Once about 5 minutes has passed since your last request, you can discard any Waypoint token you received in that response, and submit your next request with no Waypoint token header. Also, if eventual consistency does not pose any concerns to your workflow, you can safely ignore Waypoint tokens entirely. # Group Attendee <a name="attendee_object"></a> ## Attendee Object The Attendee object represents the details of Attendee (ticket holder to an [Event](#event_object)). The model is one Attendee per each sold ticket. If the Event is specified to only collect information on the [Order](#order_object) owner (the default), all returned Attendees have the same information, apart from the barcodes and [Ticket Class](#ticket_class_object) ID. Attendee objects are considered private; meaning that all Attendee information is only available to the [User](#user_object) and Order owner. #### Attendee Fields | Field | Type | Description | | :------------------ | :---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------| | `created` | `datetime` | Attendee creation date and time (i.e. when order was placed). | | `changed` | `datetime` | Date and time of last change to Attendee. | | `ticket_class_id` | `string` | Ticket Class used by Attendee when registering. | | `variant_id` | `string` | Variant of Ticket Class used by Attendee when registering. | | `ticket_class_name` | `string` | Name of Ticket Class used by Attendee when registering. | | `quantity` | `integer` | Always `1`. | | `costs` | [attendee_cost](#attendee_cost) | Attendee ticket cost breakdown. | | `profile` | [attendee-profile](#attendee_profile) | Attendee basic profile information. | | `addresses` | [attendee-addresses](#attendee_addresses) | Attendee address. | | `questions` | [attendee-questions](#attendee_questions) | (Optional) Custom questions for the Attendee. | | `answers` | [attendee-answers](#attendee_answers) | (Optional) Attendee's anwers to custom questions. | | `barcodes` | [attendee-barcodes](#attendee_barcodes) | Attendee's entry bar code. | | `team` | [attendee-team](#attendee_team) | (Optional) Attendee team information. | | `affiliate` | `attendee-affiliate` | (Optional) Attendee’s affiliate code. | | `checked_in` | `boolean` | true = Attendee checked in. | | `cancelled` | `boolean` | true = Attendee cancelled. | | `refunded` | `boolean` | true = Attendee receives a refund. | | `status` | `string` | Attendee status. | | `event_id` | `string` | Event ID of the Attendee's Event. | | `order_id` | `string` | Order ID under which this Attendee's ticket was purchased. | | `guestlist_id` | `string` | Guest list ID under which the Attendee is listed. A null value means that this Attendee is not a guest. | | `invited_by` | `string` | Attendee who invited guest. A null value means that this Attendee is not a guest. | | `delivery_method` | `string` | Ticket delivery method used for the Attendee. Can be `will_call`, `electronic`, `standard_shipping` or `third_party_shipping`. | <a name="attendee_cost"></a> #### Attendee Cost Fields Contains the Attendee’s cost breakdown. | Field | Type | Description | | :--------------- | :--------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `base_price` | `currency` | Attendee's ticket price excluding fees and tax. Do not expose to Attendee as it displays an incorrect value if the [Ticket Class](#ticket_class_object) `include_fee` field is used. | | `eventbrite_fee` | `currency` | Attendee's fee. Do not expose this field to Attendee as it displays an incorrect value if the [Ticket Class](#ticket_class_object) `include_fee` field is used. | | `tax` | `currency` | Amount of tax charged for the ticket. | | `payment_fee` | `currency` | Fee for ticket payment processing. | | `gross` | `currency` | Attendee total cost (`base_price` + `eventbrite_fee` + `payment_fee` + `tax`). | <a name="attendee_profile"></a> #### Attendee Profile Fields Contains Attendee personal information. | Field | Type | Description | | :------------ | :-------- | -------------------------------------------------------------------------------------------------------------------------- | | `name` | `string` | Attendee name. To ensure forward compatibility with non-Western names, use this field instead of `first_name`/`last_name`. | | `email` | `string` | Attendee email address. | | `first_name` | `string` | Attendee first name. Use `name` field instead. | | `last_name` | `string` | Attendee last name. Use `name` field instead. | | `prefix` | `string` | (Optional) Attendee title or honorific that appears at the front of the name, such as Mr., Ms. | | `suffix` | `string` | (Optional) Attendee suffix that appears at the end of the name (e.g. Jr., Sr.) | | `age` | `integer` | (Optional) Attendee age. | | `job_title` | `string` | (Optional) Attendee job title. | | `company` | `string` | (Optional) Attendee company name. | | `website` | `string` | (Optional) Attendee website address. | | `blog` | `string` | (Optional) Attendee blog address. | | `gender` | `string` | (Optional) Attendee gender, currently either “male” or “female”. | | `birth_date ` | `date` | (Optional) Attendee birth date. | | `cell_phone` | `string` | (Optional) Attendee cell/mobile phone number. | <a name="attendee_addresses"></a> #### Attendee Address Fields Contains home, shipping, and work addresses associated with the Attendee. All fields are optional. | Field | Type | Description | | :----- | :-------- | -------------------------- | | `home` | `address` | Attendee home address. | | `ship` | `address` | Attendee shipping address. | | `work` | `address` | Attendee work address. | <a name="attendee_questions"></a> #### Attendee Questions Fields Use to present custom questions to an Attendee. | Field | Type | Description | | :--------- | :-------- | -------------------------------------------------------------------------- | | `id` | `string` | Custom question ID. | | `label` | `string` | Custom question label. | | `type` | `string` | Can be `text`, `url`, `email`, `date`, `number`, `address`, or `dropdown`. | | `required` | `boolean` | true = Answer is required. | <a name="attendee_answers"></a> #### Attendee Answers Fields Contains information on an Attendee's answers to custom questions. | Field | Type | Description | | :------------ | :------- | ---------------------------------------------------------------------------------------------------------------- | | `question_id` | `string` | Custom question ID. | | `question` | `string` | Text of the custom question. | | `type` | `string` | Can be `text`, `url`, `email`, `date`, `number`, `address`, or `dropdown`. | | `answer` | varies | Answer type. Generally use the `string` value; except when an answer of `address` or `date` is more appropriate. | <a name="attendee_barcodes"></a> #### Attendee Barcodes Fields Represents the barcodes for this Attendee Order (usually one Attendee per each sold ticket). | Field | Type | Description | | :----------- | :--------- | ---------------------------------------------------------------------------------------------- | | `barcode` | `string` | Barcode contents. This field value is null when: <br />- User has turned off the printable tickets option. <br />- Method of ticket delivery does not match Attendee. <br />- Attendee method of ticket delivery is not electronic. <br />in order to prevent exposing the barcode value to the Attendee. When viewed by the User with “event.orders:read” permission, the barcode is always shown. | | `status` | `string` | Barcode status. Can be `unused`, `used`, or `refunded`. | | `created` | `datetime` | Attendee barcode creation date and time. | | `changed` | `datetime` | Last change date and time to Attendee barcode. | | `is_printed` | `boolean` | true = Ticket is printed. | <a name="attendee_team"></a> #### Attendee Team Fields Represents Attendee team information if the Event has teams configured. An Attendee team is a group of Attendees at an Event, for example a team at a sports tournament. | Field | Type | Description | | :------------ | :--------- | ------------------------------ | | `id` | `string` | Team ID. | | `name` | `string` | Team name. | | `date_joined` | `datetime` | When Attendee joined the team. | | `event_id` | `string` | Event the team is part of. | #### Attendee Assigned Unit Fields Contains details of Attendee seating assignment. | Field | Type | Description | | :--------------- | :------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `unit_id` | `string` | Attendee seating assignment ID. This value can never be `null`. | | `description` | `string` | Detailed description of seating assignment. This is concatenated from the 'labels' and 'titles' fields. This value can never be `null`. | | `location_image` | [unit-location-image] (#unit-location-image) | Physical location of seat assignment on the seatmap. This value is `null` or omitted if seatmap is not published for the Event. | | `labels` | `list` | Label of seating assignment. This value can never be `null`. | | `titles` | `list` | Title of seating assignment. This value can never be `null`. Number of titles are always equal to or more than the number of labels. If seat location is displayed in the grid view, API client is expected to group assigned locations by title and use a separate grid for each unique title. | #### Attendee Note Fields The Attendee note representes a free-form text note related to an Attendee. | Field | Type | Description | | :------------- | :--------- | -------------------------------------------------- | | `created` | `datetime` | Note creation date and time. | | `text` | `string` | Note content up to 2000 characters. | | `type` | `string` | This value is always ‘attendee’. | | `event_id` | `event` | Event associated with this Attendee note. | | `order_id` | `order` | Order associated with this Attendee note. | | `attendeee_id` | `attendee` | Attendee ID associated with this Attendee note. | | `author_name` | `string` | First and last name Attendee who created the note. | <a name="unit-location-image"></a> #### Unit Location Image Fields Seat assignment physical coordinate on the seatmap and the corresponding seatmap image URL. | Field | Type | Description | | :---- | :------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `url` | `string` | Fully qualified URL of the seatmap image. Currently all seatmap images are in 660x660 .png format. This value can never be `null`. | | `x` | `float` | Seat's x-coordinate location within the seatmap, as measured by % from the left edge of seatmap. The value ranges from 0.0 to 100.0. This value can never be `null`. | | `y` | `float` | Seat's y-coordinate location within the seatmap, as measured by % from the left edge of seatmap. The value ranges from 0.0 to 100.0. This value can never be `null`. | #### Expansions Information from expansions fields are not normally returned when requesting information. To receive this information in a request, expand the request. | Expansion | Source | Description | | :------------------------- | :---------------------------------- | --------------------------------------------------------------------------------- | | `event` | `event_id` | Attendee's Event. | | `order` | `order_id` | Attendee's Order. | | `promotional_code` | `promotional_code` | Promotional Code applied to Attendee's Order. | | `assigned_number` | `assigned_number` | Attendee bib number, if one exists for a race or endurance Event. | | `answers` | ` attendee-answers` | (Optional) Attendee answers to custom questions. | | `survey` | `attendee-questions` | (Optional) Custom questions presented to the Attendee. | | `survey_responses` | `attendee-survey-responses`(object) | (Optional) Attendee's responses to survey questions. | | `assigned_unit` | `attendee-assigned-unit` | (Optional) Attendee’s seating assignment details if Event has reserved seating. | | `contact_list_preferences` | `contact_list_preferences` | (Optional) Opt-in preferences for the email address associated with the Attendee. | ## Retrieve [/attendees/] ### Retrieve an Attendee [GET /events/{event_id}/attendees/{attendee_id}/] Retrieve an Attendee by Attendee ID. + Parameters + event_id: 12345 (string, required) - Event ID. + attendee_id: 12345 (string, required) - Attendee ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Attendee) ## List [/attendees-list/] ### List Attendees by Event [GET /events/{event_id}/attendees/] List Attendees by Event ID. Returns a paginated response. + Parameters + event_id: 12345 (string, required) - Event ID. + status (enum[string], optional) - Filter Attendees by status of either `attending`, `not attending` or `unpaid`. + Members + attending - Attendee's status is either `Attending` or `Checked In`. + not_attending - Attendee's status is `Not Attending` or `Deleted`. + unpaid - Attendee's Order is not paid. + changed_since (datetime, optional) - Filter Attendees changed on or after the specified time. + last_item_seen (number, optional) - When passed in conjunction with `changed_since`, filter Attendees changed on or after the specified time and with an ID later than the value of the`last_item_seen` field. + attendee_ids: ['',..] (array[string], optional) - Filter Attendees with the specified IDs. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + attendees (array[Attendee]) ### List Attendees by Organization [GET /organizations/{organization_id}/attendees/] List Attendees of an Organization's Events by Organization ID. Returns a paginated response. + Parameters + organization_id: 12345 (string, required) - Organization ID. + status (string, optional) - Filter Attendees by status of either `attending` or `not_attending`. + Members + attending - Attendee's status is either `Attending` or `Checked In`. + not_attending - Attendee's status is `Not Attending` or `Deleted`. + changed_since (datetime, optional) - Filter Attendees by resource changed on or after the time given. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + attendees (array[Attendee]) # Group Balance ## Balance [/balance/] Hosts - test: `https://balance-api.jjzbds0g.ext.evbqa.com` - dev: `https://balance-api.lxsadnd8.ext.evbdev.com` - preprod: `https://balance-api.xypz0s6q.ext.evbstage.com` - prod: `https://balance-api.fnii7z7a.ext.eventbrite.com` ### Remaining Balance [GET /balance/<public_organization_id>/events/<public_event_id>/] Given an organization id and an event id returns an event-level balance specific to the time the endpoint is called + Parameters + `public_organization_id`: `5130962065` (string, required) - Public organization ID + `public_event_id`: `751490729` (string, required) - Public event ID + Request + Headers Authorization: Bearer SOA_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes + `balance` + `currency`: `USD` (string) + `event_id`: `751490729` (string) + `latest_order_id`: `18995157` (string) + `latest_timestamp`: `2010-10-20T07:19:37` (string) + `organization_id`: `5130962065` (string) + `value`: 0 (number) + Response 500 (application/json) + Attributes (Error) + error (enum) + ServerError + satus_code: 500 (number) + Response 403 (application/json) + Attributes (Error) + error (enum) + NotAuthorized + satus_code: 403 (number) + Response 403 (application/json) + Attributes (Error) + error (enum) + SOATokenNotFound + satus_code: 403 (number) + Response 400 (application/json) + Attributes (Error) + error (enum) + BadParams + satus_code: 400 (number) + Response 404 (application/json) + Attributes (Error) + error (enum) + NotFound + satus_code: 404 (number) #### Permissions - `event.billing.payouts_summary` # Group Categories <a name="categories_object"></a> ## Category Object An overarching category that an event falls into (vertical). Examples are “Music”, and “Endurance”. ## Retrieve [/categories-get/] ### Category by ID [GET /categories/{id}/] Gets a `category` by ID as ``category``. + Parameters + id: 1234 (required, string) - Category ID + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes + category (Category) ### Subcategory by ID [GET /subcategories/{subcategory_id}/] Retrieve a Subcategory by Subcategory ID. + Parameters + subcategory_id: 12345 (required, string) - Subcategory ID + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes + subcategory (Subcategory) ## List [/categories/] ### List of Categories [GET /categories/] Returns a list of Category as categories, including subcategories nested. Returns a paginated response. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes + locale: en_US (string) + pagination (Pagination) + categories (array[Category]) ### List of Subcategories [GET /subcategories/] List all available Subcategories. Returns a paginated response. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes + locale: en_US (string) + pagination (Pagination) + subcategories (array[Subcategory]) + subcategory (Subcategory) # Group Discount <a name="discount_object"></a> ## Discount Object The Discount object represents a discount that an Order owner can use when purchasing tickets to an [Event](#event_object). A Discount can be used to a single [Ticket Class](#ticket_class_object) or across multiple Ticket Classes for multiple Events simultaneously (known as a cross event Discount). There are four types of Discounts: + **Public Discount.** Publically displays Discount to Order owner on the Event Listing and Checkout pages. Only used with a single Event. + **Coded Discount.** Requires Order owner to use a secret code to access the Discount. + **Access Code.** Requires Order owner to use a secret code to access hidden tickets. Access codes can also optionally contain a discount amount. + **Hold Discount.** Allows Order owner to apply or unlock Discount for seats on hold. The display price of a ticket is calculated as: \ `price_before_discount` - `discount_amount` = `display_price` Notes: * Public and Coded Discounts can specify either an amount off or a percentage off, but not both types discounts. * Public Discounts should not contain apostrophes or non-alphanumeric characters (except “-”, “_”, ” ”, “(”, ”)”, “/”, and “”). * Coded Discounts and Access Codes should not contain spaces, apostrophes or non-alphanumeric characters (except “-”, “_”, “(”, ”)”, “/”, and “”). #### Fields Use these fields to specify information about a Discount. | Field | Type | Description | | :-------------------- | :--------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `code` | `string` | Discount name for a Public Discount, or the code for a Coded Discount and Access Code. | | `type` | `string` | Discount type. Can be `access`, `coded`, `public` or `hold`. | | `end_date` | `datetime` | Date until which the Discount code is usable. Date is naive and assumed relative to the timezone of an Event. If null or empty, the discount is usable until the Event end_date. ISO 8601 notation: `YYYY-MM-DDThh:mm:ss`.| | `end_date_relative` | `integer` | End time in seconds before the start of the Event until which the Discount code is usable. If null or empty, the discount is usable until the Event end_date. | | `amount_off` | `decimal` | Fixed amount applied as a Discount. This amount is not expressed with a currency; instead uses the Event currency from 0.01 to 99999.99. Only two decimals are allowed. The default is `null` for an Access Code. | | `percent_off` | `decimal` | Percentage amount applied as a Discount. Displayed in the ticket price during checkout, from 1.00 to 100.00. Only two decimals are allowed. The default is `null` for an Access Code. | | `quantity_available` | `integer` | Number of times this Discount can be used; `0` indicates unlimited use. | | `quantity_sold` | `integer` | Number of times this Discount has been used. This is a read only field. | | `start_date` | `local datetime` | Date from which the Discount code is usable. If null or empty, the Discount is usable effective immediately. | | `start_date_relative` | `integer` | Start time in seconds before the start of the Event from which the Discount code is usable. If null or empty, the Discount is usable effective immediately. | | `ticket_class_ids` | `list` | List of discounted Ticket Class IDs for a single Event. Leave empty if you want to see all the tickets for the Event. | | `event_id` | `string` | Single Event ID to which the Discount can be used. Leave empty for Discounts. | | `ticket_group_id` | `string` | [Ticket Group](#ticket_group_object) ID to which the Discount can be used. | | `hold_ids` | `list` | List of hold IDs this discount can unlock. Null if this discount does not unlock a hold. | The following conditions define the extend of the Discount: * If `event_id` is provided and `ticket_class_ids` are not provided, a single Event Discount is created for all Event tickets. * If both `event_id` and `ticket_class_ids` are provided, a single Event Discount is created for the specific Event tickets. * If `ticket_group_id` is provided, a Discount is created for the Ticket Group. * If neither `event_id` nor `ticket_group_id` are provided, a Discount is created that applies to all tickets for an [Organization's](#organization_object) Events, including future Events. #### Expansions Information from expansions fields are not normally returned when requesting information. To receive this information in a request, expand the request. | Expansion | Source | Description | | :----------------- | :--------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `event` | `event_id` | Single Event to which the Discount can be used. | | `ticket_group` | `ticket_group_id` | Ticket Group to which the Discount can be used. | | `reserved_seating` | `ticket-reserved-seating-settings` | Reserved seating settings for the [Ticket Class](#ticket_class_object). This expansion is not returned for Ticket Classes that do not support reserved seasting. | ## Retrieve [/discounts/] ### Retrieve a Discount [GET /discounts/{discount_id}/] Retrieve a Discount by Discount ID. + Parameters + discount_id: 12345 (string) - Discount ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Discount) ## Create [/discounts-create/] ### Create a Discount [POST /organizations/{organization_id}/discounts/] Create a new Discount. + Parameters + organization_id: 12345 (string) - Organization ID. + Request + Attributes + discount (Discount Create) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Discount) + Response 400 (application/json) + Attributes (Discount Create Error) ## Update [/discounts-update/] ### Update a Discount [POST /discounts/{discount_id}/] Update a Discount by Discount ID. + Parameters + discount_id: 12345 (string) - Discount ID. + Request + Attributes + discount (Discount Create) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Discount) + Response 400 (application/json) + Attributes (Discount Create Error) ## List [/discounts-list/] ### Search Discounts by Organization [GET /organizations/{organization_id}/discounts/{?scope}] List Discounts by Organization ID. Returns a paginated response. + Parameters + organization_id: 12345 (string, required) - Organization ID. + scope: event (enum[string], required) - Discount scope. + Members + event + multi_events + user + `code_filter` (string, optional) - Filter Discounts by approximate match code or name. + code: abcde (string, optional) - Filter Discount by exact match code or name. + page_size: 1 (number, optional) - Number of records to display on each returned page. + type (enum[string], optional) - Discount type. + Members + coded - Discount with a code + access - Access codes + public - Public discounts + hold - Hold discount + ticket_group_id: 12345 (string, optional) - Filter Discounts by Ticket Group ID. + event_id: 12345 (string, optional) - Filter Discounts by Event ID. Required for the `event` scope. + order_by (enum[string], optional) - Response order. + Members + code_asc - By discount code, ascending + code_desc - By discount code, descending + discount_type_asc - By discount type, ascending + discount_type_desc - By discount type, descending + start_asc - By start date, ascending + start_desc - By start date, descending + hold_ids (array[string], optional) - Filter discounts to only those that apply to specified hold IDs. IDs are in composite id format for either hold class (H123) or hold inventory tier (I123) + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes + discounts (array[Discount]) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + Members + CODE_AND_CODE_FILTER_PROVIDED - Only one of code or code_filter may be provided at the same time. + INVALID + INVALID_USAGE_FOR_EVENT_ID - Event ID can not be used along with multi_events discount_scope. + ORDER_BY_NOT_SUPPORTED - Code is the only field by which results may be ordered. Exactly one of code or code_filter filters must be provided for sorting to be allowed. ## Delete [/discounts-delete/] ### Delete a Discount [DELETE /discounts/{discount_id}/] Delete a Discount. Only unused Discounts can be deleted. <b>Warning:</b> A Discount cannot be restored after being deleted. + Parameters + discount_id: 12345 (string) - Discount ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Discount) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + Members + DISCOUNT_CANNOT_BE_DELETED - A discount that has been used cannot be deleted. # Group Display Settings <a name="display_settings_object"></a> ## Display Settings Object The Display Settings object represents the settings that create the [Event](#event_object) display as shown on the Event Listing page. ## Retrieve [/display-settings/] ### Retrieve Display Settings [GET /events/{event_id}/display_settings/] Retrieve the Display Settings for an Event by Event ID. + Parameters + event_id: 12345 (string) - Event ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Display Settings) ## Update [/display-settings-update/] ### Update Display Settings [POST /events/{event_id}/display_settings/] Update Display Settings for an Event by Event ID. + Parameters + event_id: 12345 (string) - Event ID. + Request + Attributes + display_settings (Display Settings) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Display Settings) # Group Event Capacity ## Event Capacity [/capacity_tier/] A capacity tier is used for creating general admission holds against the event capacity rather than tiered inventory. If the event is using tiered inventory, GA holds should be created using the inventory tier endpoints and not capacity tier endpoints. ## Retrieve [/capacity_tier-retrieve/] ### Retrieve a Capacity Tier [GET /events/{event_id}/capacity_tier/] Retrieve the capacity tier for an event. + Parameters + event_id: 5678 (string, required) - Event ID + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Capacity Tier) + Response 403 (application/json) + Attributes (Error) + error (enum) + NOT_AUTHORIZED + Response 404 (application/json) + Attributes (Error) + error (enum) + NOT_FOUND - The event you requested does not exist. <a name="capacity_tier_update"></a> ## Update [/capacity_tier-update/] ### Update a Capacity Tier [POST /events/{event_id}/capacity_tier/] Update the capacity tier for an event. Partial updates are supported. Submit only attributes that are changed. These rules must apply when updating capacity tier: - Sum of `quantity_total` from capacity holds cannot exceed remaining capacity quantity - If the event is already oversold, new remaining capacity quantity cannot become further negative (oversold) To **create GA capacity hold inventory tiers** for an event, include payload with `holds`. `capacity_total` must be supplied if event does not have a capacity set. For example: ```json { "capacity_total": 100, "holds": [ { "name": "Marketing", "quantity_total": 10, "sort_order": 1, }, ] } ``` To **update/delete GA capacity hold inventory tiers** for an event, include payload with `holds` that contain `id` and fields of the hold tier to be updated. Deleting is the same as updating with `is_deleted` set to `true`. Deleting a hold tier that has tickets sold or associated with attendees will be denied. `quantity_total` for a hold tier cannot be reduced below the quantity used (`quantity_sold` + `quantity_pending`). Payload can contain partial data/partial hold inventory tiers to be updated/deleted. For example: ```json { "holds": [ {"id": "I987", "name": "Marketing"}, # update existing tier {"id": "I988", "is_deleted": true}, # delete existing tier {"name": "Accounting", "quantity_total": 10}, # create new tier ] } ``` + Parameters + event_id: 5678 (string, required) - Event ID + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Attributes (object) + capacity_tier (Capacity Tier Update) + Response 200 (application/json) + Attributes (Capacity Tier) + Response 400 (application/json) + Attributes (Error) + error (enum) + ARGUMENTS_ERROR - There are errors with your arguments. + HAS_ATTENDEES - You cannot delete a ticket class that has been purchased by attendees. + CAPACITY_TOTAL_TOO_SMALL - Capacity total is too small for oversold quantities + HOLD_QUANTITIES_EXCEEDS_REMAINING_CAPACITY - Sum of total remaining quantity from holds cannot exceed remaining capacity + Response 403 (application/json) + Attributes (Error) + error (enum) + NOT_AUTHORIZED + Response 404 (application/json) + Attributes (Error) + error (enum) + NOT_FOUND - The event you requested does not exist. # Group Event Description <a name="event_description"></a> ## Event Description Event Descriptions have two representations: 1. A fully-rendered HTML version of the event summary AND event description, and 2. A "raw" version of the description that is broken up into its distinct modules. To set and retrieve modules, please see the [Structured Content documentation](#structure_content_documentation). For more in depth description for how to set the event description, please see the [event description tutorial](https://www.eventbrite.com/platform/docs/event-description). | ### Retrieve [/event-description-retrieve/] ### Retrieve Full HTML Description [GET /events/{event_id}/description/] Returns the fully rendered description for an Event as a string of HTML. This endpoint will work with events created using New or Classic Create. ```json { "description: <div>Example summary!<\/div>\n<div><P>My <EM>event's<\/EM> description would go <STRONG>here<\/STRONG>.<\/P><\/div>" } ``` #### Permissions `event.details:read` + Parameters + event_id: 12345 (string, required) - Event ID. + Response 200 (application/json) + Attributes + description (string) + Response 400 (application/json) + Attributes + error (enum[string]) + NOT_AUTHORIZED - The user does not have permission to view details of this event. + ARGUMENTS_ERROR - event.id - INVALID: The identifier provided doesn't match a known event # Group Event Schedule <a name="schedule_object"></a> ## Event Schedule Object The Event Schedule object is a set of rules that is used to add occurrences to a series parent event. A series parent event may have multiple schedules associated with it. Each schedule may only be associated with one series parent event. <a name="schedules-create-api"></a> ## Create [/schedules-create/] ### Create an event schedule [POST /events/{event_id}/schedules/] Creating an event schedule requires that a series parent event has already been created. For instructions on how to create a series parent event, please refer to the [Create Event API](#events-create-api). Creating an event schedule will add occurrences to a series parent event, according to the pattern specified in the schedule. Each occurrence is backed by an [Event](#event_object), and will be associated with the series parent event specified in the request. If an occurrence specified by the schedule has the same date and time as an existing occurrence, the new occurrence is ignored and not created (the rest of the occurrences specified by the schedule are still created). + Parameters + event_id: 12345 (string, required) - Event ID. Must be a valid series parent event. + Request + Attributes + schedule (ScheduleBase) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Schedule) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + MISSING - May be raised on event_id, occurrence_duration, or recurrence_rule. Indicates that the corresponding field is missing from the request. + INVALID - May be raised on event_id, occurrence_duration, or recurrence_rule. When raised on event_id: event_id must be a valid series parent event. When raised on occurrence_duration: occurrence duration must be between 0 and 7 days. When raised on recurrence_rule: recurrence_rule must follow the iCalendar RFC. + DTSTART_MISSING - The DTSTART component is missing from the recurrence_rule field. + RECURRENCE_RULE_DATES_NOT_IN_UTC - The DTSTART component in the recurrence_rule field must be in UTC. If present, the UNTIL component in the recurrence_rule must be in UTC. + DTSTART_OUTSIDE_PERMITTED_RANGE - The start date of this schedule must be within 2 years from now. + LAST_OCCURRENCE_START_EXCEEDS_LIMIT - The final event occurrence generated by this schedule must be within 4 years from now. + EXCEEDS_MAX_OCCURRENCES - Adding the occurrences specified by this schedule would result in exceeding the maximum number of allowed occurrences for the series parent event. The limit is 120 occurrences for the entire series. + Response 403 (application/json) + Attributes (Error) + error (enum[string]) + NOT_AUTHORIZED - User does not have permission to perform this action. # Group Event Search <a name="event_search"></a> Lists public [Events](#event_object) from Eventbrite. ## List - deprecated [/event-search-list/] ### Search Events - deprecated [GET /events/search/] List public Events from Eventbrite. Returns a paginated response. >**Notice:** Access to this API was shut down at 11:59 pm PT on Thursday, December 12, 2019. For more information regarding the shut down, refer to our [changelog](https://www.eventbrite.com/platform/docs/changelog). + Parameters + q (string, optional) - Return only those Events matching the given keyword(s). Accepts any string as a keyword. + sort_by: date (enum[string], optional) - Sort order of list of Events. Prefix with a hyphen to reverse the sort order. + Members + date + distance + best + location.address (string, optional) - The address of the location you want to search for Events around. + location.within (string, optional) - The distance you want to search around the given location. This should be an integer followed by “mi” or “km”. + location.latitude (string, optional) - The latitude of the location you want to search for Events around. + location.longitude (string, optional) - The longitude of the location you want to search for Events around. + location.viewport.northeast.latitude (string, optional) - The latitude of the northeast corner of a viewport. + location.viewport.northeast.longitude (string, optional) - The longitude of the northeast corner of a viewport. + location.viewport.southwest.latitude (string, optional) - The latitude of the southwest corner of a viewport. + location.viewport.southwest.longitude (string, optional) - The longitude of the southwest corner of a viewport. + organizer.id (string, optional) - Filter Events organized by the given Organizer ID. + user.id (string, optional) - Filter Events owned by the given User ID. + categories (string, optional) - Filter Events under the given category IDs. This should be a comma delimited string of category IDs + subcategories (string, optional) - Filter Events under the given subcategory IDs. This should be a comma delimited string of subcategory IDs. + formats (string, optional) - Filter Events with the given format IDs. This should be a comma delimited string of format IDs. + price: free (enum[string], optional) - Filter Events that are “free” or “paid”. + Members + free + paid + `start_date.range_start` (local-datetime, optional) - Filter Events with start dates after the given date. + `start_date.range_end` (local-datetime, optional) - Filter Events with start dates before the given date. + `start_date.keyword`: today (enum[string], optional) - Filter Events with start dates within the given keyword date range. + Members + this_week + next_week + this_weekend + next_month + this_month + tomorrow + today + `date_modified.range_start` (datetime, optional) - Filter Events with modified dates after the given UTC date. + `date_modified.range_end` (datetime, optional) - Filter Events with modified dates before the given UTC date. + `date_modified.keyword`: today (enum[string], optional) - Filter Events with modified dates within the given keyword date range. + Members + this_week + next_week + this_weekend + next_month + this_month + tomorrow + today + `search_type`: promoted (string, optional) - Use the preconfigured settings for this type of search - Current option is “promoted”. + `include_all_series_instances` (boolean, optional) - Boolean for whether or not you want to see all instances of repeating Events in search results. + `include_unavailable_events` (boolean, optional) - Boolean for whether or not you want to see Events without tickets on sale. + `include_adult_events` (boolean, optional) - Boolean for whether or not you want to see Events with adult content. + `incorporate_user_affinities` (boolean, optional) - Incorporate additional information from the user’s historic preferences. + `high_affinity_categories` (string, optional) - Make search results prefer Events in these categories. This should be a comma delimited string of category IDs. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + events (array[Event]) # Group Event Series <a name="series_object"></a> ## Event Series Object An Event Series is a repeating [Event](#event_object) with a sequence of multiple and various dates. These dates may or may not be in a predictable order. An Event Series is made up of the parent Event, and child Events that represent each different date of the parent Event. Each child Event is created with the details of the parent Event. For instructions on how to create an Event Series, please refer to the [Create Event API](#events-create-api). ## Retrieve [/series/] ### Retrieve an Event Series [GET /series/{event_series_id}/] Retrieve the parent Event Series by Event Series ID. + Parameters + `event_series_id`: 12345 (string, required) - Event Series ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Event) + `series_dates` (array[Event Series Date], optional) - The series dates of the parent event. (requires the `series_dates` expansion) # Group Event Teams Work with the team information of an event ## List [/event-teams/] ### List by Event [GET /events/{event_id}/teams/] Returns a list of `teams` for the event. Returns a paginated response. + Parameters + `event_id`: 12345 (string, required) - The event ID that the teams will be retrieved from. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + `teams` (array[Event Team Response]) ## Retrieve [/event-team/] ### Retrieve Team [GET /events/{event_id}/teams/{team_id}/] Returns information for a single `team`. + Parameters + `event_id`: 12345 (string, required) - The event ID that the team will be retrieved from. + `team_id`: 1 (string, required) - The team ID that will be retrieved. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Event Team Response) ## Attendees by Team [/event-team-attendees/] ### List Attendees by Team [GET /events/{event_id}/teams/{team_id}/attendees/] Returns `attendee` for a single `team`. Returns a paginated response. + Parameters + `event_id`: 12345 (string, required) - The event ID that the team will be retrieved from. + `team_id`: 1 (string, required) - The team ID that will be retrieved. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + `attendees` (array[Attendee]) ## Create [/event-team-create/] ### Create a Team [POST /events/{event_id}/teams/create/] Create and returns a `team`. + Parameters + `event_id`: 12345 (string, required) - The event ID that the team will be created from. + Request + Attributes + public_event_id (string, required) - Public Event Id + name (string, optional) - Name of the team + password (string, optional) - Password of the team + preferred_start_time (string, optional) - Preferred start time the event + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (object) + `name` (string, required) - Team name + `id` (string, required) - Team ID + `token` (string, required) - Team token if has not password, else False + `spots_left` (number, required) - Return how many free spots are left on the team ## Check password [/event-team-check-password/] ### Verify password for a team [POST /events/{event_id}/teams/{team_id}/check_password/] Verify that the password of a team is correct, and if so, and returns the token of the team + Parameters + `event_id`: 12345 (string, required) - The event ID of the team which the password will be checked + `team_id`: 1 (string, required) - The team ID which the password will be checked + Request + Attributes + password (string, required) - Password to verify + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (object) + `token` (string) ## Search [/event-teams-search/] ### Search teams by name Team [GET /events/{event_id}/teams/search/?term={term}] Returns the teams of an event searched by name. Returns a paginated response. + Parameters + `event_id`: 12345 (string, required) - The event ID from which we want to search teams + `term`: team_search (string, required) - Search term. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + `teams` (array) + (object) + `id` (string, required) - Team ID + `token` (string, required) - Team token if has not password, else False + `name` (string, required) - Team name + `has_password` (boolean, required) - Determines if the team has password + `is_full` (boolean, required) - Determines if the team capacity is currently full, false if team has no maximum capacity. + `logo` (string, required) - Url address with thumbnail logo. Returns False if team has not logo + `spots_left` (number, required) - Return how many free spots are left on the team + `is_team_member` (boolean, required) - Returns if the logged user is a member of the team. # Group Event <a name="event_object"></a> ## Event Object The Event object represents an Eventbrite Event. An Event is owned by one [Organization](#organization_object). #### Public Fields Use these fields to specify information about an Event. For publicly listed Events, this information can be retrieved by all Eventbrite [Users](#user_object) and Eventbrite applications. | Field | Type | Description | | :---------------- | :--------------- | ------------------------------------------------------------------------------------------------------- | | `name` | `multipart-text` | Event name. | | `summary` | `string` | (Optional) Event summary. Short summary describing the event and its purpose. | | `description` | `multipart-text` | (*DEPRECATED*) (Optional) 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. | | `created` | `datetime` | Event creation date and time. | | `changed` | `datetime` | Date and time of most recent changes to the Event. | | `published` | `datetime` | Event publication date and time. | | `status` | `string` | Event status. Can be `draft`, `live`, `started`, `ended`, `completed` and `canceled`. | | `currency` | `string` | Event [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. | | `online_event` | `boolean` | true = Specifies that the Event is online only (i.e. the Event does not have a [Venue](#venue_object)). | | `hide_start_date` | `boolean` | If true, the event's start date should never be displayed to attendees. | | `hide_end_date` | `boolean` | If true, the event's end date should never be displayed to attendees. | #### Private Fields Use these fields to specify properties of an Event that are only available to the [User](#user_object). | Field | Type | Description | | :------------------- | :-------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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](#attendee_object). The total capacity is calculated by the sum of the quantity_total of the [Ticket Class](#ticket_class_object). | | `capacity_is_custom` | `boolean` | true = Use custom capacity value to specify the maximum number of Attendees for the Event. False = Calculate the maximum number of Attendees for the Event from the total of all Ticket Class capacities. | <a name="music_properties_object"></a> #### Music Properties The Music Properties object includes a few attributes of an event for Music clients. To retrieve Music Properties by Event ID, use the `music_properties` expansion. | Field | Type | Description | | :---------------- | :------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `age_restriction` | `enum` | Minimum age requirement of event attendees. | | `presented_by` | `string` | Main music event sponsor. | | `door_time` | `string` | Time relative to UTC that the doors are opened to allow people in the the day of the event. When not set, the event will not have any door time set. 2019-05-12T-19:00:00Z | <a name="event_expansions" /> #### Expansions Information from expansions fields are not normally returned when requesting information. To receive this information in a request, expand the request. | Expansion | Source | Description | | :------------------------ | :-------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `logo` | `logo_id` | Event image logo. | | `venue` | `venue_id` | Event [Venue](#venue_object). | | `organizer` | `organizer_id` | Event [Organizer](#organizer_object). | | `format` | `format_id` | Event [Format](#formats_object). | | `category` | `category_id` | Event [Category](#categories_object). | | `subcategory` | `subcategory_id` | Event [Subcategory](#subcategories_object). | | `bookmark_info` | `bookmark_info` | Indicates whether a user has saved the Event as a bookmark. Returns false if there are no bookmarks. If there are bookmarks, returns a a dictionary specifying the number of end-users who have bookmarked the Event as a count object like `{count:3}`. | | `refund_policy` | `refund_policy` | Event [Refund Policy](#refund_policy_object). | | `ticket_availability` | `ticket_availability` | Overview of availability of all Ticket Classes | | `external_ticketing` | `external_ticketing` | External ticketing data for the Event. | | `music_properties` | `music_properties` | Event [Music Properties](#music_properties_object) | | `publish_settings` | `publish_settings` | Event publish settings. | | `basic_inventory_info` | `basic_inventory_info`| Indicates whether the event has Ticket Classes, Inventory Tiers, Donation Ticket Classes, Ticket Rules, Inventory Add-Ons, and/or Admission Inventory Tiers. | | `event_sales_status` | `event_sales_status` | Event’s sales status details | | `checkout_settings ` | `checkout_settings` | Event checkout and payment settings. | | `listing_properties` | `listing_properties` | Display/listing details about the event | | `has_digital_content` | `has_digital_content` | Whether or not an event [Has Digital Content](#has_digital_content_object) | ### Retrieve [/events/] ### Retrieve an Event [GET /events/{event_id}/] Retrieve an Event by Event ID. > **Note**: If the Event being retrieved was created using the new version of Create, then you may notice that the Event’s description field is now being used to hold the event summary. To retrieve your event’s fully-rendered HTML description, you will need to make an additional API call to retrieve the Event's full HTML description. + Parameters + event_id: 12345 (required, string) - Event ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Event) ## Create [/events-create/] <a name="events-create-api"></a> ### Create an Event [POST /organizations/{organization_id}/events/] Create a new Event. By default, this API creates an event that occurs once. 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. Creating the series parent is done by calling the Create Event API with the `is_series` attribute set to `True`. Occurrences can then be added to the newly created series parent, using the [Event Schedule API](#schedules-create-api). + Parameters + organization_id: 12345 (string) - ID of the Organization that owns the Event. + Request + Attributes + event (Event Create) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Event) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + DATE_CONFLICT - Start date cannot be after end date + DIFFERENT_TIMEZONES - You have passed different timezones for the start and end times; they must be the same. + INVALID_DATE - Start and end dates cannot be in the past. + INVENTORY_TYPE_CONFLICT - Only a single inventory type may be set at once. + INVITE_CONFLICT - You have set both listed and invite_only; these two options are mutually exclusive, and you are only allowed to set one. + NO_DEFAULT_ORGANIZER - The event does not have an organizer ID, and no default organizer could be found for the user. + NO_PACKAGE_SELECTED - You need to select a package to create an event. Go to /organizations/{organization_id}/assortment/ to select a package. + NO_VENUE - You have attempted to create an event without a venue. + PASSWORD_CONFLICT - You have set both listed and password; these two options are mutually exclusive, and you are only allowed to set one. + SHARE_INVITE_CONFLICT - You have set both shareable and invite_only; these two options are mutually exclusive, and you are only allowed to set one. + UNSUPPORTED_TIMEZONE - The time zone for the start and end times does not exist. + VENUE_AND_ONLINE - You have set both online_event and venue_id; an event can event can either have a venue or be online, but not both at the same time. + SUMMARY_DESCRIPTION_CONFLICT - You have set values for both `summary` and `description`; these two options are mutually exclusive, and you may only set one. ## Update [/events-update/] ### Update an Event [POST /events/{event_id}/] Update Event by Event ID. Note that if the event is a series parent, updating `name`, `description`, `hide_start_date`, `hide_end_date`, `currency`, `show_remaining`, `password`, `capacity`, or `source` on the series parent will update these fields on all occurrences in the series. + Parameters + event_id: 12345 (string) - Event ID. + Request + Attributes + event (Event Update) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Event) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + CANNOT_UPDATE_CURRENCY - Cannot update event with paid sales or reserved seats. + CANNOT_UPDATE_SOURCE - An event’s source can only be set during creation. + DATE_CONFLICT - End date must be after start date. + DIFFERENT_TIMEZONES - You have passed different timezones for the start and end times; they must be the same. + INVALID_DATE - Start and end dates cannot be in the past. + INVENTORY_TYPE_CONFLICT - Only a single inventory type may be set at once. + INVITE_CONFLICT - You have set both listed and invite_only; these two options are mutually exclusive, and you are only allowed to set one. + NO_DEFAULT_ORGANIZER - The event does not have an organizer ID, and no default organizer could be found for the user. + NO_PAYMENT_OPTIONS - This event has paid tickets but no payment options configured. + NO_PACKAGE_SELECTED - You need to select a package to create an event. Go to /organizations/{organization_id}/assortment/ to select a package. + NO_VENUE - You have attempted to create an event without a venue. + PASSWORD_CONFLICT - You have set both listed and password; these two options are mutually exclusive, and you are only allowed to set one. + PAYMENT_OPTIONS_DEPRECATED_SPLIT_FEES - This event has split fees configured. Split fees are no longer supported, and you cannot create events with split fees enabled. + PAYMENT_OPTIONS_NO_COUNTRY - This event has paid tickets but no payment country configured. + PAYMENT_OPTIONS_NO_PAYMENT_TYPE - This event has paid tickets but no payment type configured. + PAYMENT_OPTIONS_PAYPAL_NO_EMAIL - This event has paid tickets and is configured to use PayPal, but no PayPal email address has been specified. + SHARE_INVITE_CONFLICT - You have set both shareable and invite_only; these two options are mutually exclusive, and you are only allowed to set one. + UNSUPPORTED_TIMEZONE - The time zone for the start and end times does not exist. + VENUE_AND_ONLINE - You have set both online_event and venue_id; an event can event can either have a venue or be online, but not both at the same time. + SUMMARY_DESCRIPTION_CONFLICT - You have set values for both `summary` and `description`; these two options are mutually exclusive, and you may only set one. + OCCURRENCE_TIMEZONE_UPDATE_NOT_ALLOWED - You are trying to change the timezone on a series occurrence. You may only change the timezone on the series parent. + SERIES_PARENT_START_END_DATE_EDIT - The start and end times on a series parent are calculated based on the start and end times of the first and last series occurrence, and therefore cannot be set. You may only change the timezone on a series parent. + OCCURRENCE_DURATION_TOO_LONG - You are trying to change the start or end dates on a series occurrence in a way that would make the event more than 7 days in duration. Series occurrences cannot be longer than 7 days. + IS_RESERVED_SEATING_UPDATE_NOT_ALLOWED_ON_SERIES_EVENTS - Reserved seating events cannot be recurring events. + IS_SERIES_UPDATE_NOT_ALLOWED_ON_RESERVED_EVENTS - Reserved seating events cannot be recurring events. + IS_SERIES_UPDATE_NOT_ALLOWED_ON_TICKETED_EVENTS - Delete all tickets to make this change. + IS_SERIES_UPDATE_NOT_ALLOWED_ON_PUBLISHED_EVENTS - Unpublish event to make this change. + IS_SERIES_UPDATE_NOT_ALLOWED_HAS_OCCURRENCES - Recurring events with occurrences cannot be changed to one-time events. Delete all event occurrences to make this change. + IS_SERIES_UPDATE_NOT_ALLOWED_ON_SERIES_OCCURRENCE - An occurrence of a recurring events cannot be changed to a one-time event. + ARGUMENTS_ERROR - These are errors with your argument. ## List [/events-list/] ### List Events by Venue [GET /venues/{venue_id}/events/] List Events by Venue ID. Returns a paginated response. + Parameters + venue_id: 1234 (string, required) - Venue ID. + status: live (array[enum[string]], optional) - Filter Events at the Venue by status. Specify multiple status values as a comma delimited string. + Members + draft - A preliminary form of a possible future Event. + live - The Event can accept registrations or purchases if ticket classes are available. + started - The Event start date has passed. + ended - The Event end date has passed. + completed - The funds for your Event have been paid out. + canceled - The Event has been canceled. + all - List Events with any status. + `order_by`: start_asc (enum[string], optional) - Sort order of list of Events at the Venue. + Members + start_asc + start_desc + created_asc + created_desc + `start_date` (Venue Date, optional) - Filter Events at the Venue by a specified date range. + `only_public`: true (boolean, optional) - True = Filter public Events at the Venue. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + events (array[Event]) ### List Events by Organization [GET /organizations/{organization_id}/events/] List Events by Organization ID. Returns a paginated response. + Parameters + organization_id: 1234 (string, required) - Organization ID. + name_filter (string, optional) - Filter Organization's Events by specified name. + currency_filter: USD (string, optional) - Filter Organization's Events by specified currency. + `order_by`: start_asc (enum[string], optional) - Sort order for the list of Events. + Members + start_asc + start_desc + created_asc + created_desc + name_asc + name_desc + series_filter: (array(enum[string]), optional) - Filter based on whether an event is not a series, a series, child series or parent series. This filter has higher precedence than `show series parent` filter. Default will use `show series parent` filter behavior. + Members + allevents - non-series & child series & parent series. This is equivalent to [children,parents,nonseries] or [allevents,nonseries] + children - only child series + parents - only parent series + nonseries - non-series events + allseries - only series events. This is equivalent to [children,parents] + show_series_parent: false (boolean, optional) - false (Default) = In the list, show the series children and not series parent. true = In the list, show the series parent instead of series children. + status: live (enum[string], optional) - Filter Organization's Events by status. Specify multiple status values as a comma delimited string. + Members + draft - A preliminary form of a possible future Event. + live - The Event can accept registrations or purchases if ticket classes are available. + started - The Event start date has passed. + ended - The Event end date has passed. + completed - The funds for your Event have been paid out. + canceled - The Event has been canceled. + all - List Events with any status. + event_group_id: (string, optional) - Filter Organization's Events by event_group_id. + `collection_id`: (string, optional) - Filter Organization's Events by collection_id. + page_size: 50 (number, optional) - Number of records to display on each page of the list. + time_filter: all (string, optional) - Limits the list results to either past or current and future Events. + Members + all + past + current_future + venue_filter (array, optional) - Filter Organization's Events by Venue ID. + organizer_filter (array, optional) - Filter Organization's Events by Organizer ID. + inventory_type_filter: (array(enum[string]), optional) - Filter Organization's Events by Inventory Type. + Members + limited - limited quantity inventory/GA + reserved - Reserved inventory + externally_ticketed - Externally ticketed event (no inventory) + event_ids_to_exclude: 1234, 5678 (array[string], optional) - IDs of events to exclude from the Organization's Events list. + event_ids: 1234, 5678 (array[string], optional) - IDs of events to include from the Organization's Events list. + `collection_ids_to_exclude`: 1234, 5678 (array[string], optional) - IDs of collections to exclude from the Organization's Events list. This will have precedence over `event_group_id` filter and `collection_id` filter. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + events (array[Event]) + Response 400 (application/json) + Attributes (Error) + error (enum) + ARGUMENTS_ERROR - There are errors with your arguments. + Response 404 (application/json) + Attributes (Error) + error (enum) + NOT_FOUND - The organization_id you requested does not exist. ### List Events by Series [GET /series/{event_series_id}/events/] List Events by Event Series ID. Returns a paginated response. + Parameters + `event_series_id`: 12345 (string, required) - Event Series ID. + `time_filter` (enum[string], optional) - Limits the list results to either past or current and future Events. + Members + all + past + `current_future` + `order_by` (enum[string]) - Sort order for the list of Events. + Members + `start_asc` + `start_desc` + `created_asc` + `created_desc` + `start_date.range_start` (datetime, optional) - Return only Events in the series past this date + `start_date.range_end` (datetime, optional) - Return only Events in the series before this date + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + events (array[Event]) ## Publish [/events-publish/] ### Publish an Event [POST /events/{event_id}/publish/] Publish an Event. In order for publish to be permitted, the event must have all necessary information, including a name and description, an organizer, at least one ticket, and valid payment options. This API endpoint will return argument errors for event fields that fail to validate the publish requirements. Returns a boolean indicating success or failure of the publish. If the event is a series parent, all occurrences in the series must be in a valid state to be published. Publishing the series parent will publish all series occurrences. Deleted Events can not be published. + Parameters + event_id: 12345 (string) - Event ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (object) + published: true (boolean) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + ALREADY_PUBLISHED_OR_DELETED - This event has already been published or deleted. + NO_PAYMENT_OPTIONS - This event has paid tickets but no payment options configured. + PAYMENT_OPTIONS_DEPRECATED_SPLIT_FEES - This event has split fees configured. Split fees are no longer supported, and you cannot publish events with split fees enabled. + PAYMENT_OPTIONS_NO_COUNTRY - This event has paid tickets but no payment country configured. + PAYMENT_OPTIONS_NO_PAYMENT_TYPE - This event has paid tickets but no payment type configured. + PAYMENT_OPTIONS_PAYPAL_NO_EMAIL - This event has paid tickets and is configured to use PayPal, but no PayPal email address has been specified. + PUBLISH_FREE_EVENT_FEATURE_DENIED - You have reached your limit of free events in Professional. + ERROR_CANNOT_PUBLISH_SERIES_WITH_NO_DATES - You must have at least one date scheduled to publish the series. ## Unpublish [/events-unpublish/] ### Unpublish an Event [POST /events/{event_id}/unpublish/] Unpublish an Event. Returns a boolean indicating the success or failure of the unpublish action. To unpublish a free Event, including a past free Event, the Event must not have any pending or completed orders. A completed and paid out paid Event can be unpublished. A paid Event that is not completed and paid out can only be unpublished if the Event does not have any pending or completed orders. If the event is a series parent, all occurrences in the series must be in a valid state to be unpublished. Unpublishing a series parent will unpublish all series occurrences. A series occurrence cannot be unpublished individually. + Parameters + event_id: 12345 (string) - Event ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (object) + unpublished: true (boolean) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + NOT_PUBLISHED - This event is not currently published and cannot be unpublished. + CANNOT_UNPUBLISH - You cannot unpublish an event that has pending or completed sales of paid tickets (and that is not in the past, completed, and paid out), or has pending or completed sales of free tickets. You cannot unpublish a series parent event if any of the occcurrences in the series are in the state listed above. You cannot unpublish an individual series occurrence. ## Copy [/events-copy/] ### Copy an Event [POST /events/{event_id}/copy/] Copy the Event, creating a duplicate version of the Event with a new Event ID. Use to create a new Event based on an existing Event. Returns the Event object for the newly created Event. The Event payment options, payout method, refund policy, and tax settings will copy to the new Event. + Parameters + event_id: 12345 (string) - Event ID. + Request + Attributes (Event Copy) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Event) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + INSUFFICIENT_PACKAGE - You need to upgrade your package to clone this event. Go to /users/{user_id}/assortment/ to select a package + INVALID_END_DATE - An event end date must be between 1 minute[s] and 365 day[s] after the event start time. + INVALID_START_DATE - An event start date must be between now and 10 years from now. + UNABLE_TO_COPY_EVENT - We are currently unable to copy this event. Recovery from this error is not possible. + UNSUPPORTED_TIMEZONE - The timezone provided for start and end times is not supported. ## Cancel [/events-cancel/] ### Cancel an Event [POST /events/{event_id}/cancel/] Cancel an Event. Returns a boolean indicating the success or failure of the cancel action. To cancel an Event, the Event must not have any pending or completed orders. If the event is a series parent, all series occurrences must be in a valid state to be canceled. Canceling the series parent will cancel all series occurrences. + Parameters + event_id: 12345 (string) - Event ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (object) + canceled: true (boolean) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + ALREADY_CANCELED - This event has already been canceled. + CANNOT_CANCEL - You have attempted to cancel an event that has pending or completed sales of tickets. The event cannot be canceled until all of these sales are refunded. Or, you have attempted to cancel a series parent where at least one of the occurrences in the series cannot be canceled due to the reasons listed above. ## Delete [/events-delete/] ### Delete an Event [DELETE /events/{event_id}/] Delete an Event if the delete is permitted. Returns a boolean indicating the success or failure of the delete action. To delete an Event, the Event must not have any pending or completed orders. If the event is a series parent, all series occurrences must be in a valid state to be deleted. Deleting the series parent will delete all series occurrences. + Parameters + event_id: 12345 (string) - Event ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + deleted: true (boolean) <!-- TODO: Add Data Structure --> + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + ALREADY_DELETED + CANNOT_DELETE - You cannot delete an event that has pending or completed orders, or a series parent where any of the occurrences in the series has pending or completed orders. # Group Formats <a name="formats_object"></a> ## Format Object The Format object represents an [Event](#event_object) type, for example seminar, workshop or concert. Specifying a Format helps website visitors discover a certain type of Event. ## Retrieve [/formats/] ### Retrieve a Format [GET /formats/{format_id}/] Retrieve a Format by Format ID. + Parameters + format_id: 2 (number) - Format ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Format) ## List [/formats-list/] ### List Formats [GET /formats/] List all available Formats. Returns a paginated response. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + locale: en_US (string) + formats (array [Format]) # Group Inventory Tiers "Tiered Inventory" allows organizer to define inventory (usually total quantity) to be shared by multiple ticket classes. For example, "Admission" inventory tier has total quantity of 100, which can be sold as Adult ticket, Child ticket, or Senior ticket. For the same event, another tier, "Parking", may have total quantity of 200 with VIP Parking ticket and Regular parking ticket. <a name="inventory_tier_object"></a> ## Inventory Tier Object The Inventory Tier object represents an entity that controls capacity (an allocation of total quantity) across multiple tickets to be sold. #### GA Holds Holds are tickets or capacity held back from the main sale inventory for other needs, such as for press, guests of the artist or the artist's label, etc. A hold tier could be created under a parent tier, and the quantity in the hold tier would be deducted from the parent tier. For example, "Lawn" inventory tier has a capacity total of 1000 and total quantity of 900 which can be sold as VIP, Adult, or Child ticket. 100 of the 1000 is held under "Marketing" hold inventory tier, which can be sold as Marketing VIP, Marketing Adult, or Marketing Child ticket. #### Expansions Information from expansions fields are not normally returned when requesting information. To receive this information in a request, expand the request. | Expansion | Source | Description | | :---------------- | :----------------- | --------------------------------------- | | `image` | `image_id` | Image for the Inventory Tier. | ## Retrieve [/inventory_tiers-retrieve] ### Retrieve an Inventory Tier [GET /events/{event_id}/inventory_tiers/{inventory_tier_id}/] Retrieve an Inventory Tier by ID for an Event. + Parameters + event_id: 5678 (string, required) - Event ID + inventory_tier_id: 1234 (string, required) - Inventory Tier ID + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + inventory_tier (Inventory Tier) + Response 403 (application/json) + Attributes (Error) + error (enum) + NOT_AUTHORIZED + Response 404 (application/json) + Attributes (Error) + error (enum) + NOT_FOUND - The event or inventory_tier_id you requested does not exist. ## Create [/inventory_tiers-create] ### Create an Inventory Tier [POST /events/{event_id}/inventory_tiers/] Create a new Inventory Tier for an Event. + Parameters + event_id: 1234 (string, required) - Event ID + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Attributes (object) + inventory_tier (Inventory Tier Create) + Response 200 (application/json) + Attributes (object) + inventory_tier (Inventory Tier) + Response 400 (application/json) + Attributes (Error) + error (enum) + EXCEED_MAXIMUM_INVENTORY_TIERS - You cannot create more than 100 tiers for an event. + EXCEED_MAXIMUM_TICKET_RULE_TICKETS - Number of ticket rule tickets cannot exceed 1000. + ARGUMENTS_ERROR - There are errors with your arguments. + Response 403 (application/json) + Attributes (Error) + error (enum) + NOT_AUTHORIZED + Response 404 (application/json) + Attributes (Error) + error (enum) + NOT_FOUND - The event you requested does not exist. ### Create Multiple Inventory Tiers [POST /events/{event_id}/inventory_tiers/] Create multiple Inventory Tiers for an event. + Parameters + event_id: 1234 (string, required) - Event ID + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Attributes (object) + inventory_tiers (array[Inventory Tier Create]) + Response 200 (application/json) + Attributes (object) + inventory_tiers (array[Inventory Tier]) + Response 400 (application/json) + Attributes (Error) + error (enum) + EXCEED_MAXIMUM_INVENTORY_TIERS - You cannot create more than 100 tiers for an event. + EXCEED_MAXIMUM_TICKET_RULE_TICKETS - Number of ticket rule tickets cannot exceed 1000. + ARGUMENTS_ERROR - There are errors with your arguments. + Response 403 (application/json) + Attributes (Error) + error (enum) + NOT_AUTHORIZED + Response 404 (application/json) + Attributes (Error) + error (enum) + NOT_FOUND - The event you requested does not exist. ## Update [/inventory_tiers-update] <a name="inventory_tier_update"></a> ### Update an Inventory Tier [POST /events/{event_id}/inventory_tiers/{inventory_tier_id}/] Update an existing Inventory Iier by ID for an Event. Partial updates are supported. Submit only attributes that are changed. + Parameters + event_id: 12345 (string, required) - Event ID + inventory_tier_id: 1234 (string, required) - Inventory Tier ID + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Attributes (object) + inventory_tier (Inventory Tier Update Base) + Response 200 (application/json) + Attributes (object) + inventory_tier (Inventory Tier) + Response 400 (application/json) + Attributes (Error) + error (enum) + ARGUMENTS_ERROR - There are errors with your arguments. + HOLD_QUANTITIES_EXCEEDS_CAPACITY_TOTAL - sum of quantity total must be smaller than tier capacity_total + Response 403 (application/json) + Attributes (Error) + error (enum) + NOT_AUTHORIZED + Response 404 (application/json) + Attributes (Error) + error (enum) + NOT_FOUND - The event or inventory_tier_id you requested does not exist. ### Update Multiple Inventory Tiers [POST /events/{event_id}/inventory_tiers/] Update multiple existing Inventory Tiers for an Event. Partial updates are supported. Submit only attributes that are changed. + Parameters + event_id: 12345 (string, required) - Event ID + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Attributes (object) + inventory_tiers (array[Inventory Tier Update]) + Response 200 (application/json) + Attributes (object) + inventory_tiers (array[Inventory Tier]) + Response 400 (application/json) + Attributes (Error) + error (enum) + ARGUMENTS_ERROR - There are errors with your arguments. + Response 403 (application/json) + Attributes (Error) + error (enum) + NOT_AUTHORIZED + Response 404 (application/json) + Attributes (Error) + error (enum) + NOT_FOUND - The event you requested does not exist. To **create GA hold inventory tiers** under an existing inventory tier for an event, include payload with `holds`. `holds` cannot be created unless `capacity_total` is specified. The existing parent inventory tier's `quantity_total` will be automatically adjusted accordingly. For example: ```json { "capacity_total": 100, "holds": [ { "name": "Marketing", "quantity_total": 10, "sort_order": 1, }, ] } ``` To **update/delete GA hold inventory tiers** under an existing inventory tier for an event, include payload with `holds` that contain `id` and fields of the hold tier to be updated. Deleting is the same as updating with `is_deleted` set to `true`. If quantity is adjusted at any time (e.g. changes to parent or hold tier's `quantity_total` or hold tier is deleted), `capacity_total` must be specified. Payload can contain partial data/partial hold inventory tiers to be updated/deleted. For example: ```json { "name": "Admission", "capacity_total": 100, "holds": [ {"id": "I987", "name": "Marketing"}, {"id": "I988", "is_deleted": true}, {"id": "I989", "name": "VIP"}, {"name": "Accounting", "quantity_total": 10}, # create new tier ] } ``` To **assign/reassign quantities between GA hold inventory tiers** under an existing inventory tier for an event, include payload with `holds` that contain `id` and `quantity_total` of the hold tier to be updated. `capacity_total` must be supplied. Payload can contain quantities for all tiers. In this case, supplying the existing parent inventory tier's `quantity_total` is recommended for validation. For example: ```json { "capacity_total": 1000, "quantity_total": 800, # used just for validation "holds": [ {"id": "I987", "quantity_total": 150}, {"id": "I989", "quantity_total": 50} ] } ``` Payload can contain a single quantity/partial quantities. In this case, the existing parent inventory tier's `quantity_total` will be automatically adjusted. For example: ```json { "capcaity_total": 1000, "holds": [ {"id": "I987", "quantity_total": 150}, ] } ``` ## List [/inventory_tiers-list] ### List Inventory Tiers by Event [GET /events/{event_id}/inventory_tiers/] Retrieves inventory tiers for an event. + Parameters + event_id: 1234 (string, required) - Event ID + seatmap_number: 1 (number, optional) - When specified, output is filtered by this tier group + count_against_event_capacity: true (boolean, optional) - If true, output is filtered by whether the tier counts toward the event capacity or not + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + inventory_tiers (array[Inventory Tier]) + Response 403 (application/json) + Attributes (Error) + error (enum) + NOT_AUTHORIZED + Response 404 (application/json) + Attributes (Error) + error (enum) + NOT_FOUND - The event you requested does not exist. ## Delete [/inventory_tiers-delete] ### Delete an Inventory Tier [DELETE /events/{event_id}/inventory_tiers/{inventory_tier_id}/] Mark an existing Inventory Tier as deleted. + Parameters + event_id: 12345 (string, required) - Event ID + inventory_tier_id: 1234 (string, required) - Inventory Tier ID + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + deleted: true (string) - True if inventory tier was deleted + Response 400 (application/json) + Attributes (Error) + error (enum) + HAS_ATTENDEES - You cannot delete a ticket class that has been purchased by attendees. + IS_STARTED_AFTER - Another ticket class is configured to start when this one ends, so it cannot be deleted. + LAST_TICKET - You cannot delete the last ticket while your event is live. + HAS_SEAT_ASSIGNMENTS - You cannot delete an inventory tier that are still assigned to seats. + Response 403 (application/json) + Attributes (Error) + error (enum) + NOT_AUTHORIZED + Response 404 (application/json) + Attributes (Error) + error (enum) + NOT_FOUND - The event or inventory_tier_id you requested does not exist. # Group Media <!-- Here is a tutorial on [Media Upload in EventBrite](https://www.eventbrite.com/developer/v3/resources/uploads/). --> <a name="media_object"></a> ## Media Object The Media object represents an image that can be included with an [Event](#event_object) listing, for example to provide branding or further information on the Event. ## Retrieve [/media/] ### Retrieve Media [GET /media/{media_id}/{?width,height}] Retrieve Media by Media ID. + Parameters + media_id: 12345 (number, required) - Media ID. + width: 10 (number, optional) - Thumbnail width. + height: 15 (number, optional) - Thumbnail height. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Image) ## Upload [/media-create-upload/] ### Upload a Media File [POST /media/upload/] Upload a Media image file. + Request + Attributes (Media Upload Post) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Media Upload Post) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + BAD_FILE - The file you are attempting to upload is not valid + BAD_FORMAT - The file format you are attempting to use is not supported + BAD_UPLOAD_TOKEN - The upload token you are attempting to use is invalid + S3_ERROR - We encountered an error while uploading to S3. Please try again ## Retrieve Upload [/media-retrieve-upload/] ### Retrieve a Media Upload [GET /media/upload/] Retrieve information on a Media image upload. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Media Upload) # Group Online Event Page <a name="online_event_page"></a> ## Online Event Page The Online Event Page (formerly known as the Digital Links Page, or Digital Content) is a feature that allows online event organizers to create a separate landing page for attendees of that event - and can include information pertinent to that event, such as webinar links, documents, etc. To understand better how to create the Online Event Page, please see the [Online Event Page Tutorial](https://www.eventbrite.com/platform/docs/online-event-page) For the api that powers Online Event Page, please see the [Structured Content documentation](#structure_content_documentation). <a name="has_digital_content_object"></a> ## Has Digital Content Object This is the object that is returned from the [Event Expansions](#event_expansions) | Field | Type | Description | | :---------------------| :-------- | ---------------------------------------------------------- | | `has_digital_content` | `boolean` | whether or not an event has digital content | | `digital_content_url` | `string` | The url to the Online Event Page for an event, only accessible if the attendee has purchased a ticket.| # Group Order <a name="order_object"></a> ## Order object The Order object represents an order made against Eventbrite for one or more [Ticket Classes](#ticket_class_object). In other words, a single Order can be made up of multiple tickets. The object contains an Order's financial and transactional information; use the [Attendee](#attendee_object) object to return information on Attendees. Order objects are considered private; meaning that all Order information is only available to the Eventbrite [User](#user_object) and Order owner. #### Order Fields | Field | Type | Description | | :--------------- | :---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | | `created` | `datetime` | Date and time the Order was placed and the Attendee created. | | `changed` | `datetime` | Date and time of the last change to Attendee. | | `name` | `string` | Order owner name. To ensure forward compatibility with non-Western names, use this field instead of `first_name`/`last_name`. | | `first_name` | `string` | Order owner first name. Use `name` field instead. | | `last_name` | `string` | Order owner last name. Use `name` field instead. | | `email` | `string` | Order owner email address. | | `costs` | [order-costs](#order_cost) | Cost breakdown of the Order. | | `event_id` | `string` | Order's [Event](#event_object) ID. | | `time_remaining` | `number` | Time remaining to complete Order (in seconds). | | `questions` | [order-questions](#order_questions) | (Optional) Custom questions shown to Order's owner. | | `answers` | [order-answers](#order_answers) | (Optional) Answers to custom questions shown to Order's owner. | | `promo_code` | `string` | (Optional) [Discount](#discount_object) code applied to Order. | | `status` | `string` | Order status. | <a name="order_cost"></a> #### Order Costs Fields Contains a breakdown of Order costs. | Field | Type | Description | | :---------------------- | :-------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `base_price` | `currency` | Order amount without fees and tax. Use instead the `display_price` field if the [Ticket Class](#ticket_class_object) `include_fee` field is used; otherwise an incorrect value is shown to the Order owner. | | `display_price` | `currency` | Order amount without fees and tax. This field shows the correct value to the Order owner when the Ticket Class `include_fee` field is used. | | `display_fee` | `currency` | Order amount with fees and tax included (absorbed) in the price as displayed. | | `gross` | `currency` | Total amount of Order. | | `eventbrite_fee` | `currency` | Eventbrite fee as portion of Order `gross` amount. Do not expose this field to Order owner. | | `payment_fee` | `currency` | Payment processor fee as portion of Order `gross` amount. | | `tax` | `currency` | Tax as portion of Order `gross` amount passed to Event [Organization](#organization_object). | | `display_tax` | [order-display-tax](#order_display_tax) | Order tax. Same value as `tax` field, but also includes the tax name. | | `price_before_discount` | `currency` | Order price before a [Discount](#discount_object) code is applied. If no discount code is applied, value should be equal to `display_price`. | | `discount_amount` | `currency` | Order total Discount. If no discount code is applied, discount_amount will not be returned. | | `discount_type` | `string` | Type of Discount applied to Order. Can be `null` or `coded`, `access`, `public` or `hold`. If no discount code is applied, discount_type will not be returned. | | `fee_components` | `Cost Component` (list) | List of price costs components that belong to the fee display group. | | `tax_components` | `Cost Component` (list) | List of price costs components that belong to the tax display group. | | `shipping_components` | `Cost Component` (list) | List of price costs components that belong to the shippig display group. | | `has_gts_tax` | `boolean` | Indicates if any of the tax_components is a gts tax. | | `tax_name` | `string` | The name of the tax that applies, if any. | <a name="order_display_tax"></a> #### Display Tax Fields | Field | Type | Description | | :----- | :--------- | ----------- | | `name` | `string` | Tax name. | | `tax` | `currency` | Tax amount. | #### Refund Request Fields The Order includes a refund request. | Field | Type | Description | | :------------- | :--------------------- | ------------------------------------------------------------------- | | `from_email` | `string` | Email used to create the refund request. | | `from_name` | `string` | Refund request name. | | `status` | `string` | Refund request status. | | `message` | `string` | Message associated with the refund request. | | `reason` | `string` | Refund request reason code. | | `last_message` | `string` | Last message associated with the last status of the refund request. | | `last_reason` | `string` | Last reason code of the refund request. | | `items` | list of [refund_item](#refund_item) | Requested refunded items of the refund request. | <a name="refund_item"></a> #### Refund Item Fields A Refund Request contains a refund item. | Field | Type | Description | | :----------------------- | :--------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `event_id` | `string` | Refund item Event. | | `order_id` | `string` | Refund item Order. Field can be `null`. | | `processed_date` | `datetime` | (Optional) The date and time this refund item was processed, if it has been processed. | | `item_type` | `string` | Refund item Order type. Use `order` for full refund, `attendee` for partial refund for the Attendee, or `merchandise` for partial refund as merchandise. | | `amount_processed` | `currency` | (Optional) The amount of money refunded. This will be absent if the refund has not been processed. | | `amount_requested` | `currency` | (Optional) The amount of money requested for refund. Only appears for attendee-initiated refunds. | | `quantity_processed` | `number` | (Optional) Quantity refunded. If the `item_type` field value is `order`, `quantity_processed` is always 1. If the `item_type` field value is `attendee` or `merchandise`, then the `quantity_processed` value displays the number of items processed. This will be absent if the refund has not been processed. | | `quantity_requested` | `number` | (Optional) Quantity requested to be refunded. If the `item_type` is `order`, `quantity_requested` is always 1. If the `item_type` is `attendee` or `merchandise`, then the `quantity_requested` value displays the number of items requested for a refund. Only appears for attendee-initiated refund items. | | `refund_reason_code` | `string` | A descriptive code for the refund reason | | `status` | `string` | Refund item status, one of `pending`, `processed`, or `error` | <a name="order_questions"></a> #### Order Questions Fields Use to present Custom Questions to an Attendee. | Field | Type | Description | | :--------- | :-------- | ------------------------------------------------------------------------- | | `id` | `string` | Custom Question ID. | | `label` | `string` | Custom Question Label. | | `type` | `string` | Can be `text`, `url`, `email`, `date`, `number`, `address`, or `dropdown` | | `required` | `boolean` | true = Answer to custom question is required. | <a name="order_answers"></a> #### Order Answers Fields Contains information on an Attendee's answers to custom questions. | Field | Type | Description | | :------------ | :------- | ---------------------------------------------------------------------------------------------------------------- | | `question_id` | `string` | Custom Question ID. | | `attendee_id` | `string` | Attendee ID. | | `question` | `string` | Custom Question text. | | `type` | `string` | Can be `text`, `url`, `email`, `date`, `number`, `address`, or `dropdown`. | | `answer` | varies | Answer type. Generally use the `string` value; except when an answer of `address` or `date` is more appropriate. | #### Order Notes Fields Order Notes is free-form text related to an Order. | Field | Type | Description | | :------------ | :--------- | ------------------------------------------------------------------ | | `created` | `datetime` | Order note creation date and time. | | `text` | `string` | Order note content up to 2000 characters. | | `type` | `string` | Type of Order associated with order note, always and only `order`. | | `event_id` | `event` | ID of Event associated with Order. | | `order_id` | `order` | ID of Order associated with order note. | | `author_name` | `string` | First and last name Order owner associated with order note. | #### Expansions Information from expansions fields are not normally returned when requesting information. To receive this information in a request, expand the request. | Expansion | Source | Description | | :--------------------------- | :------------------------------------------------------ | ------------------------------------------------------------------------------------------ | | `event` | `event_id` | Order's associated Event. | | `attendees` | `attendee`(list) | Order's Attendees. | | `merchandise` | `merchandise`(list) | Merchandise included in this Order. | | `concierge` | `concierge` | Order's concierge. | | `refund_requests` | `refund_request` | Order's refund request. | | `survey` | `order-questions` | (Optional) Order's custom questions. | | `survey_responses` | `order-survey-responses`(object) | (Optional) Order's responses to survey questions. | | `answers` | `order-answers` | (Optional) Order's answers to custom questions. | | `ticket_buyer_settings` | `ticket_buyer_settings` | (Optional) Include information relevant to the purchaser, including confirmation messages. | | `contact_list_preferences` | `contact_list_preferences` | (Optional) Opt-in preferences for the email address associated with the Order. | ## Retrieve [/orders-retrieve/] ### Retrieve Order by ID [GET /orders/{order_id}/] Retrieve an Order by Order ID. + Parameters + order_id: 12345 (string, required) - Order ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Order) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + Members + ORDER_EXPIRED - The order is expired ## List [/orders-list/] ### List Orders by Organization ID [GET /organizations/{organization_id}/orders/] Returns a paginated response of orders, under the key orders, of orders placed against any of the events the organization owns (events that would be returned from /organizations/:id/events/) + Parameters + organization_id: 12345 (string, required) - Organization ID. + status: active (enum[string], optional) - Filter Event's Order by status. + Members + active - Attending Order. + inactive - Not attending Order. + both - All Orders. + all_not_deleted - Active and inactive, but not deleted, Orders. + changed_since (datetime, optional) - Only return orders changed on or after the time given. + only_emails (array[string], optional) - Only include orders placed by one of these emails. + exclude_emails (array[string], optional) - Don't include orders placed by any of these emails + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + orders (array[Order]) ### List Orders by Event ID [GET /events/{event_id}/orders/] List Orders by Event ID. Returns a paginated response. + Parameters + event_id: 12345 (string, required) - Event ID. + status: active (enum[string], optional) - Filter Event's Order by status. + Members + active - Attending Order. + inactive - Not attending Order. + both - All Orders. + all_not_deleted - Active and inactive, but not deleted, Orders. + changed_since (datetime, optional) - Orders changed on or after this time. + last_item_seen (string, optional) - Orders changed on or after this time, and with an ID larger than last item seen. + only_emails (array[string], optional) - Orders placed by this email address. + exclude_emails (array[string], optional) - Orders placed by this email address are not included in return. + refund_request_statuses (array[enum[string]], optional) - Only Orders with specified refund request status are included in return. + Members + completed + pending + outside_policy + disputed + denied + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + orders (array[Order]) ### List Orders by User ID [GET /users/{user_id}/orders/] List Orders by User ID. Returns a paginated response. + Parameters + user_id: 12345 (number, required) - User ID. + changed_since (datetime, optional) - Order changed on or after this time. + time_filter (enum[string], optional) - Filter the list to only, or all, past or current and future Orders. + Members + all + past + current_future + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + orders (array[Order]) # Group Organizations Members <a name="members_object"></a> ## Organization Member Object This object represents a Member of an [Organization](#organization_object) with a [Role](#roles_object). ## List [/organizations-members-list-members/] ### List Members of an Organization [GET /organizations/{organization_id}/members/] List an Organization's Members by Organization ID. Returns a paginated response. + Parameters + organization_id: 12345 (string) - Organization ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 # Group Organization Roles <a name="roles_object"></a> ## Organization Role Object Organization Role is an object representing a set of permissions owned by an [Organization](#organization_object). Roles are grouped together by the Organization object, and a Role can only belong to one Organization. If an Organization is deleted, all Roles belonging to that Organization are also deleted. ## List [/organizations-roles-list/] ### List Roles by Organization [GET /organizations/{organization_id}/roles/] List an Organization's Roles by Organization ID. Returns a paginated response. + Parameters + organization_id: 12345 (required, string) - Organization ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Continuation) + roles (array[Role]) # Group Organization <a name="organization_object"></a> ## Organization Object An object representing a business structure (like a Marketing department) in which [Events](#event_object) are created and managed. Organizations are owned by one [User](#users_object) and can have multiple [Members](#members_object). The Organization object is used to group Members, [Roles](#roles_object), [Venues](#venue_object) and [Assortments](#assortments_object). #### Public Fields Use these fields to specify information about an Organization. | Field | Type | Description | | :--------- | :------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | `string` | Organization ID. Must be obtained via an API request, such as a List your Organizations request. The `organization_id` is NOT equal to an `organizer_id` (the string in an Organizer Profile URL). | | `name` | `string` | Organization Name. | | `image_id` | `string` | (Optional) ID of the image for an Organization. | | `vertical` | `string` | Type of business vertical within which this Organization operates. Currently, the only values are `default` and `music`. If not specified, the value is `default`. | ### List your Organizations [GET /users/me/organizations/] List the Organizations to which you are a Member. Returns a paginated response. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + organizations (array[Organization]) ### List Organizations by User [GET /users/{user_id}/organizations/] List Organizations by User ID. Returns a paginated response. + Parameters + user_id: 12345 (required, string) - User ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + organizations (array[Organization]) # Group Pricing <a name="Pricing_object"></a> ## Pricing Object The Pricing object represents all the available fee rates for different currencies, countries, [Assortments](#assortments_object) and sales channels. ## Items [/pricing-items/] ### Calculate Items [POST /pricing/calculate_price_for_item/] Calculates the Fees that Eventbrite would charge for a given price as it’s shown on the ticket authoring flow. This price would be hypothetical, as the pricing calculation would be based on the passed parameters instead of facts as it happens when an order is created. This price is a simplified view. The price reported can’t be used to calculate the price of an order. Its used to get fees, taxes and total price depending from scope parameter. The scope can be as one of the members: `organization`, `event`, `ticket_class` or `assortment_plan`. Depending on the scope type, the scope identifier has different meanings: For scope.type ``organization`` scope.identifier represents an organization id. For scope.type ``event`` scope.identifier represents an event id. For scope.type ``ticket_class`` scope.identifier represents a ticket class id. For scope.type ``assortment_plan`` scope.identifier can take a value of either 'package1' or 'package2' Returns a `item_pricing` according to the provided base price and scope. + Request + Attributes (object) + base_price: USD,1000 (string, required) - The base price for the calculation. + country: US (string, required) - ISO 3166 2-letter country code where the event would be payed out. + scope (object, required) - The scope for which the item calculations will be made. + type: organization (enum[string], required) - Type of scope. + organization + event + ticket_class + assortment_plan + identifier: 4028 (string, required) - Id for the specified scope (organization, event, ticket_class or assortment_plan). For assortment_plan, allowed values are 'package1' and 'package2' + absorb_fees: false (boolean) - If set to true, the Fees will be included in the base price provided instead of adding them on top of it. False by default. + absorb_taxes: false (boolean) - If set to true, the Taxes will be included in the base price provided instead of adding them on top of it. False by default. + payment_type: eventbrite (enum[string]) - The payment type used to calculate the price. If it’s not provided, eventbrite will be used by default. + eventbrite - Calculate price for Eventbrite payment processor + authnet - Calculate price for Authnet payment processor + paypal - Calculate price for Paypal payment processor + channel: web (enum[string]) - Sales channel used to calculate the price. If it’s not provided, web will be used by default. + web - Calculate price for web sales channel + atd - Calculate price for mobile sales channel + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (object) + item_pricing (Pricing response for items) + Response 400 (application/json) + Attributes (Error) + error (enum) + PRICING_MODEL_NOT_SUPPORTED - The requested scope has a special pricing model that is not supported by this endpoint. Some of the models that are not supported are: Users/Events/Tickets under legacy pricing. Events/Tickets with shipping fees. + INVALID_CURRENCY_COUNTRY_COMBINATION - The provided currency/country combination is not supported by Eventbrite. Any of the country-currencies combinations provided by the /checkout_settings/countries_currencies/ endpoint would be considered valid. + BASE_PRICE_TOO_LOW_TO_ABSORB - Either the fees or the taxes are set to be absorbed, and the fee or tax ammounts are bigger than the provided base price. + ARGUMENTS_ERROR - There are errors with your arguments. ## List [/pricing-list/] ### List Pricing [GET /pricing/fee_rates{?country,currency,plan,payment_type,channel,item_type}] List all available Pricing rates. Returns a paginated response. + Parameters + country: US (string, required) - Filter Fee Rates by country ISO 3166 alpha-2 code. + currency: USD (string, required) - Filter Fee Rates by currency ISO 4217 3-character code. + plan: any (enum[string], optional) - Filter Fee Rates by Assortment package name. If it’s not provided, or the value is ‘any’, all the existing variants will be returned. + Members + any + package1 + package2 + payment_type: any (enum[string], optional) - Filter Fee Rates by the payment type. If it’s not provided, or the value is ‘any’, all the existing variants will be returned. + Members + any + eventbrite + authnet + moneris + paypal + google + manual + free + offline + cash + check + invoice + channel: any (enum[string], optional) - Filter Fee Rates by the sales channel. If it’s not provided, or the value is ‘any’, all the existing variants will be returned. + Members + any + atd + web + item_type: any (enum[string], optional) - Filter Fee Rates by the item type. If it’s not provided, or the value is ‘any’, all the existing variants will be returned. + Members + any + ticket + product + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + fee_rates (array[Fee Rate]) + Response 400 (application/json) + Attributes (Error) + error (enum) + INVALID_CURRENCY_COUNTRY_COMBINATION - The provided currency/country combination is not supported by Eventbrite. + ARGUMENTS_ERROR - There are errors with your arguments. # Group Questions <a name="questions_object"></a> ## Questions Object The Questions object represents questions that are presented to an Order Owner as part of the registration process. There are two types of Questions: * Default Questions. For example first name, last name and email address. * Custom Questions. Questions and answers unique to the account and/or Event and created by the User. For example, to require the acknowledgement of terms and conditions as part of the ticket purchase process. ## List Default Questions [/questions-list-canned/] ### List Default Questions by Event [GET /events/{event_id}/canned_questions/] List default Questions by Event ID. Returns a paginated response. + Parameters + event_id: 12345 (required, string) - Event ID. + include_all: true (boolean) - Return the whole list of canned included or not + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + questions (array[Canned Question]) ## Get Default Question by Id [/question-by-id-canned/] ### Get Default Question by Id [GET /event/{event_id}/canned_questions/{question_id}] Retrieve a Canned Question by Event and Question ID. + Parameters + event_id: 12345 (required, string) - Event ID. + question_id: email (required, string) - Canned Question ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + question (Canned Question) + Response 404 (application/json) + Attributes + status_code: 404 (number) + error_description: The event you requested does not exist (string) + error: NOT_FOUND (string) ## Create Default Question [/questions-create-canned/] ### Create a Default Question for an Event [POST /events/{event_id}/canned_questions/] Create a default Question for an Event. Returns the result as a `question` array. + Parameters + event_id: 12345 (string, required) - Event ID. + Request + Attributes + question (Canned Question Create) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Canned Question) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + Members + INSUFFICIENT_PACKAGE - You need to upgrade your package to create a question. + NOT_ALLOWED ## Update Default Question by Id [/question-update-by-id-canned/] ### Update Default Question by Id [POST /event/{event_id}/canned_questions/{question_id}] Modify details of the canned question of the event + Parameters + event_id: 12345 (string, required) - Event ID. + question_id: email (string, required) - Canned Question ID. + Request + question (Canned Question Create) + Headers + Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + question (Canned Question) + Response 400 (application/json) + Attributes + status_code: 400 (number) + error_description: There are errors with your arguments: question.require3d - Unknown parameter (string) + error: ARGUMENTS_ERROR (string) + Response 404 (application/json) + Attributes + status_code: 404 (number) + error_description: The event you requested does not exist (string) + error: NOT_FOUND (string) ## Delete Default Question by Id [/questions-delete-canned/] ### Delete Default Question by Id [DELETE /event/{event_id}/canned_questions/{question_id}] Deactivate a canned question for the event + Parameters + event_id: 12345 (required, string) - Event ID. + question_id: email (required, string) - Canned Question ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes + deleted: true (boolean) + Response 404 (application/json) + Attributes + status_code: 404 (number) + error_description: The event you requested does not exist (string) + error: NOT_FOUND (string) ## List Custom Questions [/questions-list/] ### List Custom Questions by Event [GET /events/{event_id}/questions/] List custom Questions by Event ID. Returns a paginated response, with a `question` array. + Parameters + event_id: 12345 (required, string) - Event ID. + as_owner (optional, boolean) - Return private Events and fields. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + questions (array[Base Question]) + Response 404 (application/json) + Attributes + status_code: 404 (number) + error_description: The event you requested does not exist (string) + error: NOT_FOUND (string) ## Create Custom Question [/questions-create/] ### Create a Custom question for an Event [POST /events/{event_id}/questions/] Create a custom Question for an Event. Returns the result as a `question` array. + Parameters + event_id: 12345 (string, required) - Event ID. + Request + Attributes + question (Base Question Create) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Base Question) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + Members + INSUFFICIENT_PACKAGE - You need to upgrade your package to create a question. Go to /users/:id/assortment/ to select a package + Response 403 (application/json) + Attributes + status_code: 403 (number) + error_description: You do not have permission to access the resource you requested. (string) + error: NOT_AUTHORIZED (string) ## Get Custom Question by Id [/question-by-id/] ### Get Custom Question by Id [GET /events/{event_id}/questions/{question_id}/] Retrieve a Custom Question by Event and Question ID. + Parameters + event_id: 12345 (string, required) - Event ID. + question_id: 642123456 (string, required) - Custom Question ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Base Question) + Response 404 (application/json) + Attributes + status_code: 404 (number) + error_description: The question you requested does not exist (string) + error: NOT_FOUND (string) ## Delete Custom Question [/question-delete/] ### Delete a Custom Question for an Event [DELETE /events/{event_id}/questions/{question_id}/] Delete a custom Question by Event and Question ID. + Parameters + event_id: 12345 (string, required) - Event ID. + question_id: 642123456 (string, required) - Custom Question ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes + deleted: true (boolean) + Response 404 (application/json) + Attributes + status_code: 404 (number) + error_description: The question you requested does not exist (string) + error: NOT_FOUND (string) + Response 403 (application/json) + Attributes + status_code: 403 (number) + error_description: You do not have permission to access the resource you requested. (string) + error: NOT_AUTHORIZED (string) # Group Reports <a name="reports_object"></a> ## Report Object The Report object represents the Reports that you can retrieve using the API. This includes Reports on: + Sales activity + [Attendees](#attendee_object) for an [Event](#event_object). ### Retrieve a Sales Report [GET /reports/sales/] Retrieve a sales Report by Event ID or Event status. + Parameters + event_ids: 12345 (array[string], required) - Event ID. + event_status: live (string, optional) - Event status. + Members + all + live + ended + start_date (string, optional) - Event start date. + end_date (string, optional) - Event end date. + filter_by (string, optional) - Further filter report by Ticket ID and currency. {“ticket_ids”: [1234, 5678], “currencies”: [“USD”],...} + group_by (string, optional) - Group response by specified parameter. + Members + payment_method + payment_method_application + ticket + ticket_application + currency + event_currency + reserved_section + event + event_ticket + event_application + country + city + state + source + zone + location + access_level + device_name + sales_channel_lvl_1 + sales_channel_lvl_2 + sales_channel_lvl_3 + delivery_method + period (number, optional) - Time period in units of the selected `date_facet`. For example, if date_facet=hour, then period=3 returns 3 hours worth of data from the current time in the Event timezone. + date_facet (string, optional) - Date period. Day is the default choice. Monthly aggregation is represented by the first of the month. Weekly aggregation is represented by the ending Sunday of the week, where a week is defined as Monday-Sunday. + Members + fifteen + hour + day + event_day + week + month + year + none + timezone: America/Los_Angeles (string, optional) - Timezone. If unspecified, by default the value is the timezone of the first Event. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Report Response Sales) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + ARGUMENTS_ERROR - One or more of your arguments are invalid. + CURRENCY_MISMATCH + INVALID + INVALID_PARAMETER ### Retrieve a Attendee Report [GET /reports/attendees/] Retrieve an Attendee Report by Event ID or Event status. + Parameters + event_ids: 12345 (array[string], required) - Event ID. + event_status: live (string, optional) - Event status. + Members + all + live + ended + start_date (string, optional) - Start date. + end_date (string, optional) - End date. + filter_by (string, optional) - Further filter report by Ticket ID and currency.{“ticket_ids”: [1234, 5678], “currencies”: [“USD”],...} + group_by (string, optional) - Group response by specified parameter. + Members + payment_method + payment_method_application + ticket + ticket_application + currency + event_currency + reserved_section + event + event_ticket + event_application + country + city + state + source + zone + location + access_level + device_name + sales_channel_lvl_1 + sales_channel_lvl_2 + sales_channel_lvl_3 + delivery_method + period (number, optional) - Time period in units of the selected `date_facet`. For example, if date_facet=hour, then period=3 returns 3 hours worth of data from the current time in the Event timezone. + date_facet (string, optional) - Date period. Day is the default choice. Monthly aggregation is represented by the first of the month. Weekly aggregation is represented by the ending Sunday of the week, where a week is defined as Monday-Sunday. + Members + fifteen + hour + day + event_day + week + month + year + none + timezone: America/Los_Angeles (string, optional) - Timezone. If unspecified, by default the value is the timezone of the first Event. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Report Response Attendees) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + ARGUMENTS_ERROR - One or more of your arguments are invalid. + CURRENCY_MISMATCH + INVALID + INVALID_PARAMETER # Group Seat Map <a name="seatmap_object"></a> ## Seat Map Object The Seat Map object represents the info of reserved seating Seat Map. #### Expansions Information from expansions fields are not normally returned when requesting information. To receive this information in a request, expand the request. | Expansion | Source | Description | | :--------------------- | :----------------------- | ------------------------------------------------------------------------------- | | `event` | `event_id` | Event that this seat map belongs to. | | `venue` | `venue_id` | Venue that this seat map belongs to. | | `basic_inventory_info` | `basic_inventory_info` | Indicates whether the event has Ticket Classes, Inventory Tiers, Donation Ticket Classes, Ticket Rules, Inventory Add-Ons, and/or Admission Inventory Tiers.| <a name="list_seat_maps_for_organization"></a> ### List Seat Maps by Organization [GET /organizations/{organization_id}/seatmaps/{?venue_id,venue_name_filter}] List Seat Maps of an Organization. >**Warning:** Response is not paginated yet, but will be paginated soon. + Parameters + organization_id: 12345 (string, required) - Organization ID. + venue_id: 12345 (string, optional) - Filter Seat Maps by a venue. + venue_name_filter (string, optional) - Filter Seat Maps by sub-string match venue name. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes + seatmaps (array[Seat Map]) ### Create Seat Map For Event [POST /events/{event_id}/seatmaps/] Create a Seat Map for a new reserved seating event by copying an existing seat map. Event must be a new reserved seating. Once a seat map is already created for the event, this endpoint will return error. [List Seat Maps by Organization](#list_seat_maps_for_organization) can be used to find source seat maps and their IDs. + Parameters + event_id: 1 (string, required) - Event Id + Request + Attributes (object) + source_seatmap_id: E12345-m1 (string, required) - ID of source Seat Map to copy data from. + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Seat Map) + Response 403 (application/json) + Attributes (Error) + error (enum) + NOT_AUTHORIZED - Unauthorized to either view source seatmap or to create seatmap on new event. ## Data Structures ### Structured Content Agenda Widget (object) + `type`: agenda (fixed) + `data` (Structured Content Agenda Widget data) ### Structured Content Agenda Widget data (object) + `tabs` (array[Structured Content Agenda Tab]) ### Structured Content Agenda Tab + `name` (string) + `slots` (array[Structured Content Agenda Slot]) ### Structured Content Agenda Slot + `title` (string) + `description` (string) + `startTime`: 18:00 (string) - Start time in format HH:mm + `endTime`: 22:00 (string) - End time in format HH:mm + `hosts` (array[Structured Content Agenda Host]) ### Structured Content Agenda Host (object) + `name` (string) + `image` (Structured Content Agenda Host Image) ### Structured Content Agenda Host Image (object) + `id` (string) + `url` (string) ### Structured Content FAQs Widget (object) + `type`: faqs (fixed) + `data` (Structured Content FAQs Widget data) ### Structured Content FAQs Widget data (object) + `faqs` (array[Structured Content FAQ]) ### Structured Content FAQ (object) + `question` (string) + `answer` (string) # Group Structured Content <a name="structure_content_documentation"></a> Endpoints for getting and setting structured content. Structured content is mainly used to create a rich event description. Structured content works off of the concept of pages and modules - each event has a structured content page that can contain multiple modules of different types content. Structured content works as an insert only system, so any time you want to update module(s), you will need to resubmit all of the content you had previously submitted plus any changes. Structured content also works as a versioned system, so you will need to increment with a new version every time. For more in depth description for how to get and set the full event description with regards to structured content, please see the [event description tutorial](https://www.eventbrite.com/platform/docs/event-description). Structured content also powers the Online Event Page. For more information about the feature and how to use the structured content api in the context of Online Event Page, please visit the [Online Event Page Tutorial](https://www.eventbrite.com/platform/docs/online-event-page). | Field | Type | Description | | :-------------------- | :--------------------------------- | -------------------------------------------------------------- | | `page_version_number` | `string` | The number representing the current version of the description | | `modules` | `array[Structured Content Module]` | The list of Modules | | `widgets` | `array[Structured Content Widget]` | The list of Widgets | ### Structured Content Modules Event descriptions are comprised of one or more modules, and there are three currently-supported module types: `text`, `image`, `video`. Each module type will contain type-specific `data`. | Field | Type | Description | | :------ | :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `type` | `string` | Module type. We currently support `text`, `image`, and `video` types, but this list will change as more module types are added. Clients should be prepared to handle modules types they don't know how to render. In this case, clients may refuse to render the edit interface for these modules, but they should at a minimum store the data associated with these types and send it back to the server when sending edits of known types. | | `data` | `object` | The module data specific for this module type. ### Structured Content Widgets Special structured data that could be added once to a page. Currently supported widgets: Agenda, FAQs. | Field | Type | Description | | :------ | :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `type` | `string` | Widget type. We currently support `agenda` and `faqs`. | `data` | `object` | The widget data specific for this widget type. For examples of module data formats for POST and GET, please refer to the [event description tutorial](https://www.eventbrite.com/platform/docs/event-description). ## Retrieve [/structured-content-retrieve/] ### Retrieve Latest Published Version of Structured Content by Event Id [GET /events/{id}/structured_content/] Retrieve a paginated response of structured content for the given event `id`. This will retrieve the latest `published` version of the structured content. Therefore you must publish a version of the content before using this endpoint - aka send in `publish=true` with current set of modules to [Set Structured Content](#set-structured-content-by-event-id-and-version) endpoint. It will default to getting the structured content of the event listing page if no purpose is provided. + Parameters + id: 1234 (string, required) - Event Id + purpose: listing (string) + Default: listing - will default to listing if not provided. + Members: + listing - basic event description. + digital_content - feature for online events where a separate page with digital content for attendees is provided. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Structured Content Page) + Response 400 (application/json) + Attributes + error (enum[string]) + NOT_AUTHORIZED - The user does not have permission to view this event's description + ARGUMENTS_ERROR - event.id - INVALID: The identifier provided doesn't match a known event ### Retrieve Latest Working Version of Structured Content by Event Id [GET /events/{id}/structured_content/edit/] Retrieve a paginated response of structured content for the given event `id`. This will retrieve the latest `working` version of the structured content - this means latest version that is either published or unpublished. It will default to getting the structured content of the event listing page if no purpose is provided. + Parameters + id: 1234 (string, required) - Event Id + purpose: listing (string) + Default: listing - will default to listing if not provided. + Members: + listing - basic event description. + digital_content - feature for online events where a separate page with digital content for attendees is provided. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Structured Content Page) + Response 400 (application/json) + Attributes + error (enum[string]) + NOT_AUTHORIZED - The user does not have permission to view this event's description + ARGUMENTS_ERROR - event.id - INVALID: The identifier provided doesn't match a known event ## Create/Update [/structured-content-create-update/] ### Set Structured Content by Event Id and Version [POST /events/{id}/structured_content/{version}/] Add new structured content to the event `id` for a specific `version` of structured content. This endpoint encapsulates both create and update for structured content. It will default to creating/updating the structured content for the listing page if no purpose is provided. Make sure to send in `publish=true` with current\* set of modules. If you do not publish your structured content, then your most updated structured content will not be visible to public users looking at your event listing page - it will only be visible to you. From a technical perspective, [Get Latest Working Version of Structured Content by Event Id](#get-latest-working-version-of-structured-content-by-event-id) will return your most recent modules (published or unpublished), but [Get Latest Published Version of Structured Content by Event Id](#get-latest-publish-version-of-structured-content-by-event-id) will return only the latest structured content that has been published. \* If you ONLY send in `publish=true` without the current set of modules, it will not work - modules will return as empty. Make sure to send in your most current modules AND `publish=true`. + Parameters + id: 21321 (string, required) - Event Id + version: 2 (string, required) - Structured Content Version + Request + Attributes + access_type (Structured Content Page Access Type, optional) + modules (array[Structured Content Create Text Module, Structured Content Create Image Module, Structured Content Create Video Module]) - Structured content modules. + publish (boolean, optional) - Boolean indicating whether to publish contents after saving. + purpose (Structured Content Purpose, optional) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Structured Content Page) + Response 400 (application/json) + Attributes + error (enum[string]) + NOT_AUTHORIZED - The user does not have permission to view this event's description + PAGE_VERSION_DISCONTINUITY - The supplied `page_version_number` does not match the expected (current) version number + ARGUMENTS_ERROR - modules - MODULES_LIMIT_REACHED: You have used the maximum allowed number of modules (100) + ARGUMENTS_ERROR - page_id - PAGE_VERSION_LIMIT_REACHED: You have used the maximum allowed number of versions for this description (5000) # Group Texts Overrides <a name="text_overrides_object"></a> ## Text Overrides Object The Text Overrides objects allow you to customize certain strings shown during ticket sales on a per event basis. ### Retrieve Text Overrides [GET /organizations/{organization_id}/text_overrides/{?locale,event_id,venue_id,text_codes}] Retrieve the Text Overrides for the selected locale for an organization, with options to filter by Venue or Event + Parameters + organization_id: 123 (string, required) - Organization Id + locale: `en_US` (string) - The Locale for which you want the strings. + venue_id: `12345` (string, optional) - Venue ID. + event_id: `12345` (string, optional) - Event ID. + text_codes (array[enum[string]], required) - List of text codes to retrieve + Members + `tickets_not_yet_on_sale` + `tickets_with_sales_ended` + `tickets_sold_out` + `tickets_unavailable` + `tickets_at_the_door` + `event_cancelled` + `event_postponed` + `checkout_title_tickets` + `checkout_title_add_ons` + `checkout_title_donations` + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Text Overrides Response Content) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + Members + MISSING + INVALID ### Create Text Overrides [POST /organizations/{organization_id}/text_overrides/] Create the Text Overrides for an organization, Venue, or Event. Messages will be internationalized using the `locale` parameter if it's specified. In case we don't send the locale we have 2 scenarios: * If event_id is provided the event's locale will be used * For other cases default locale will be used. + Parameters + organization_id: 123 (string, required) - Organization Id + Request + Attributes + locale: `en_US` (string, optional) - The locale for which you want to retrieve the strings. If it is not provided, we will use the one from the context. If an event_id is specified, we will use the event's locale + venue_id: `12345` (string, optional) - Venue ID. + event_id: `12345` (string, optional) - Event ID. + strings (array[Text Overrides Request Content], required) + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Text Overrides Response Content) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + Members + MISSING + INVALID # Group Ticket Buyer Settings <a name="ticket_buyer_object"></a> ## Ticket Buyer Settings Object Use this object to specify the following settings for an [Event's](#event_object) ticket buyers: * Receive confirmation message. * Display instructions on ticket. * ID of ticket Event. * Ticket is refundable. * Receive URL, in place of confirmation message, for post-purchase information. * Message to display after ticket sales end. * Whether attendees are allowed to update information after registration. * Name/Title of the registration survey page. * Information about the registration survey. * Survey registration time limit (in minutes). * Which respondent type the information must be collected for (ticket_buyer or attendee). * Which ticket classes the information must be collected for. ## Retrieve [/ticket-buyer-settings/] ### Retrieve Ticket Buyer Settings by Event [GET /events/{event_id}/ticket_buyer_settings/] Retrieve Ticket Buyer Settings by Event ID. Example: ```json { "confirmation_message": { "text": "<H1>Confirmation Message</H1>", "html": "Confirmation Message" }, "instructions": { "text": "<H1>Instructions</H1>", "html": "Instructions" }, "sales_ended_message": { "text": "<H1>Sales Ended Message</H1>", "html": "Sales Ended Message" }, "survey_info": { "text": "<b>Filling in this survey is required to attend the event</b>", "html": "Filling in this survey is required to attend the event" }, "event_id": "43253626762", "survey_name": "Registration Page Title", "refund_request_enabled": true, "allow_attendee_update": true, "survey_time_limit": 15, "redirect_url": null, "survey_respondent": "attendee", "survey_ticket_classes": ["125", "374"] } ``` + Parameters + event_id: 1234 (required, string) - Event ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Attributes + Response 200 (application/json) + Attributes (Ticket Buyer Settings) + Response 400 (application/json) + Attributes (Error) + error (enum) + FIELD_INVALID + Response 403 (application/json) + Attributes (Error) + error (enum) + NOT_AUTHORIZED + Response 404 (application/json) + Attributes (Error) + error (enum) + NOT_FOUND ## Update [/ticket-buyer-settings-update/] ### Update Ticket Buyer Settings for an Event [POST /events/{event_id}/ticket_buyer_settings/] Update Ticket Buyer Settings by Event ID. Example: ```json { "ticket_buyer_settings": { "confirmation_message": { "text": "<H1>Confirmation Message</H1>", "html": "Confirmation Message" }, "instructions": { "text": "<H1>Instructions</H1>", "html": "Instructions" }, "sales_ended_message": { "text": "<H1>Sales Ended Message</H1>", "html": "Sales Ended Message" }, "survey_info": { "text": "<b>Filling in this survey is required to attend the event</b>", "html": "Filling in this survey is required to attend the event" }, "event_id": "43253626762", "survey_name": "Registration Page Title", "refund_request_enabled": true, "allow_attendee_update": true, "survey_time_limit": 15, "redirect_url": null, "survey_respondent": "attendee", "survey_ticket_classes": ["125", "374"] } } ``` + Parameters + event_id: 1234 (string, required) - Event ID. + Request + Attributes + ticket_buyer_settings (Ticket Buyer Settings Update) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Ticket Buyer Settings) + Response 400 (application/json) + Attributes (Error) + error (enum) + FIELD_INVALID + Response 403 (application/json) + Attributes (Error) + error (enum) + NOT_AUTHORIZED + Response 404 (application/json) + Attributes (Error) + error (enum) + NOT_FOUND # Group Ticket Class <a name="ticket_class_object"></a> ## Ticket Class Object The Ticket Class object represents a possible ticket class (i.e. ticket type) for an [Event](#event_object). Typically, multiple different types of tickets for an Event can be purchased in one transaction. These ticket types do not necessarily map directly to the one [Attendee](#attendee_object) per one ticket model (instead for example, an Attendee might buy multiple tickets for different days of an [Event Series](#event_series_object)). Ticket Classes can be one of the following types: * **Free.** Ticket Classes that have no cost or currency. An Event with only free Ticket Classes is a free Event and doesn't require payout information. * **Paid.** Ticket Classes with an associated cost in the Event's currency. Currency is specified in the Event object and is duplicated in the Ticket Class object as the return value of a `currency type`. * **Donation.** Order owner is prompted to enter at their own discretion an amount to donate during checkout. There is no fixed cost of donation. Ticket Class price can be communicated in a way that either includes Eventbrite fees in the total displayed price or shows fees split out as a separate cost from the total ticket price. The [User](#user_object) determines how costs are communicated. Ticket Class responses for Events not owned by the [Organization](#organization_object) only shows cost and fees, as displayed on the Ticket Listing page. Results from Events the Organization owns also includes information on the `actual_cost` and `actual_fee`, which identify the amount of the ticket that the Organization is paid (actual_cost) and the Eventbrite fee deducted from the total charged amount (actual_fee). Ticket Classes can be grouped using the [Ticket Group](#ticket_group_object) object, most commonly to apply a [Cross-Event Discount](#discount_object) to multiple Ticket Classes. #### Public Fields Use these fields to specify information about a Ticket Class. For publically listed Events, this Ticket Class information can be viewed by all [Users](#user_object) and Eventbrite applications. | Field | Type | Description | | :----------------- | :--------- | ------------------------------------------------------------------------------------------------------------------------------------------------------| | `name` | `string` | Ticket Class name. | | `description` | `string` | (Optional) Ticket Class description. | | `sorting` | `integer` | The order in which ticket classes are listed during purchase flow on the event listing page. | | `cost` | `currency` | Display cost of the Ticket Class (paid only) on Ticket Listing page. | | `fee` | `currency` | Display fee of the Ticket Class (paid only) on Ticket Listing page. | | `donation` | `boolean` | true = Ticket Class is a Donation. | | `free` | `boolean` | true = Ticket Class is Free. | | `minimum_quantity` | `integer` | Minimum number of tickets that can be purchased per [Order](#order_object). | | `maximum_quantity` | `integer` | Maximum number of tickets that can be purchased per Order. | | `has_pdf_ticket` | `boolean` | true = Attendee receives a PDF Order confirmation. | | `delivery_methods` | `list` | List of delivery methods enabled for this Ticket Class. Possible values are: [`electronic`, `will_call`, `standard_shipping`, `third_party_shipping`] | | `on_sale_status` | `string` | Ticket class sale status. One of: `AVAILABLE`, `SOLD_OUT` | | `image_id` | `string` | Image ID for this ticket class (Used for add-ons). | #### Private Fields Use these fields to specify properties of a Ticket Class that are only available [Organizations Members](#members_object). | Field | Type | Description | | :----------------------------- | :--------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `capacity` | `integer` | Number of this Ticket Class available for sale. | | `quantity_sold` | `integer` | Number of this Ticket Class that has previously been sold (does not include tickets being purchased in real time). | | `hidden` | `boolean` | true = Ticket Class is hidden from the public. | | `sales_start` | `datetime` | Date and time that sales for this Ticket Class begin. | | `sales_end` | `datetime` | Date and time that sales for this Ticket Class end. | | `sales_end_relative` | `object` | Relative values used to calculate ticket sales_end. Can only be used for series parent tickets. | | `sales_start_after` | `string` | ID of a Ticket Class that, when another Ticket Class sells out, triggers the start of sales of this ticket class. | | `include_fee` | `boolean` | true = Ticket fee included in the ticket price as shown on the Ticket Listing page. This parameter cannot be used in conjunction with the `split_fee` parameter. | | `split_fee` | `boolean` | true = Ticket fee not included in the ticket price as shown on the Ticket Listing page. Instead the `actual_cost` and `actual_fee` are displayed separately. | | `hide_description` | `boolean` | true = Ticket Class description hidden on the Ticket Listing page (also removes `description` from public responses). | | `hide_sale_dates` | `boolean` | true = Ticket Class sale dates will be hidden on the event landing page and in ticket selection. | | `auto_hide` | `boolean` | true = Ticket Class hidden on the Ticket Listing page when tickets are not for sale . | | `auto_hide_before` | `datetime` | Overrides the default time that auto hide is automatically disabled, so that the ticket class continues to be displayed. Otherwise `sales_start` is shown. | | `auto_hide_after` | `datetime` | Override the default time that auto hide is automatically enabled, so that the the ticket class continues to be hidden. Otherwise `sales_end` is shown. | | `order_confirmation_message` | `string` | Confirmation message displayed when an Order is completed. | | `secondary_assignment_enabled` | `boolean` | true = Has secondary barcode assignment enabled (for ex/ RFID) | #### Expansions Information from expansions fields are not normally returned when requesting information. To receive this information in a request, expand the request. | Expansion | Source | Description | | :---------------------- | :--------------------- | ----------------------------------------- | | `event` | `event_id` | Event for the Ticket Class. | | `image` | `image_id` | Image for the Ticket Class. | ## Retrieve [/ticket_classes/] ### Retrieve a Ticket Class [GET /events/{event_id}/ticket_classes/{ticket_class_id}/] Retrieve a Ticket Class by Ticket Class ID. + Parameters + event_id: 12345 (required, string) - Event ID. + `ticket_class_id`: 12345 (string) - Ticket Class ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Ticket Class) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + Members + AUTO_HIDE_NOT_SET - You must select an auto hide setting. ## Create [/ticket_classes-create/] ### Create a Ticket Class [POST /events/{event_id}/ticket_classes/] Create a new Ticket Class. > **Note:** After **May 7, 2020**, we will require you to provide an **inventory_tier_id** as part of your request for any **ticket_classes** you are creating or updating for a tiered event. For more information refer to our [changelog](https://www.eventbrite.com/platform/docs/changelog). > **Add-On creation:** First you will need to create an [Add-On Inventory Tier](https://www.eventbrite.com/platform/api#/reference/inventory-tiers/create-an-inventory-tier) with **count_against_event_capacity** set to false and then provide the **inventory_tier_id** of the Add-On Inventory Tier when creating a new Ticket Class as part of your request. + Parameters + event_id: 12345 (string, required) - Event ID + ticket_class_id: 1234 (string, required) - Ticket Class ID + Request + Attributes (object) + `ticket_class` (Ticket Class Create) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Ticket Class Response) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + Members + AUTO_HIDE_NOT_SET - You must select an auto hide setting. + BAD_QUANTITIES - The sum of tickets across ticket classes is not equal to the sum of total tickets available. + COST_GREATER_THAN_FEE - The cost of the ticket class must be greater than the fee. + CURRENCY_MISMATCH - Event currency ticket currency must match. + DONATION_AND_COST - A ticket cannot be a donation and a charged ticket. + DONATION_AND_FREE - A ticket cannot be a donation and a free ticket. + DONATION_AND_MIN_QUANTITY - Please set a minimum quantity for donation ticket. + FREE_AND_COST - A ticket cannot be a free ticket and a charged ticket. + INSUFFICIENT_PACKAGE - You need to upgrade your package to create more than one ticket. Go to /users/id/assortment/ to select a package + INVALID_DELIVERY_METHOD - A ticket under this event organization cannot have this delivery method. + INVALID_EVENT - This event is not qualified to have tickets. + INVALID_EVENT_ID: Event id must match the event id associated with the ticket. + INVALID_INVENTORY_TIER_ID: You cannot change the inventory tier of a ticket. + INVALID_TICKET: You cannot update a child ticket directly. + NO_COST - A price must be set for a charged ticket. + NO_QUANTITY_TOTAL - A quantity total must be set for this ticket. + SPLIT_AND_INCLUDE - You cannot split fees and include them in the price of the ticket. + SPLIT_FEES_DEPRECATED - This functionality is being deprecated. + SALES_END_RELATIVE_TOO_FAR_IN_PAST - The ticket sales_end relative can't result in a date < 2000. ## Update [/ticket_classes-update/] ### Update a Ticket Class [POST /events/{event_id}/ticket_classes/{ticket_class_id}/] Update Ticket Class by Ticket Class ID. + Parameters + event_id: 12345 (required, string) - Event ID. + `ticket_class_id`: 12345 (string) - Ticket Class ID. + Request + Attributes (object) + `ticket_class` (Ticket Class Update) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Ticket Class) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + Members + AUTO_HIDE_NOT_SET - You must select an auto hide setting. + BAD_QUANTITIES - The sum of tickets across ticket classes is not equal to the sum of total tickets available. + CANNOT_UPDATE_COST - Cannot change the ticket price after tickets have been sold + CIRCULAR_SALES_START_AFTER - Cannot start circular sales. + COST_GREATER_THAN_FEE - The cost of the ticket class must be greater than the fee. + CURRENCY_MISMATCH - Event currency ticket currency must match. + DONATION_AND_COST - A ticket cannot be a donation and a charged ticket. + DONATION_AND_FREE - A ticket cannot be a donation and a free ticket. + DONATION_AND_MIN_QUANTITY - Please set a minimum quantity for donation ticket. + FREE_AND_COST - A ticket cannot be a free ticket and a charged ticket. + INVALID_DELIVERY_METHOD - A ticket under this event organization cannot have this delivery method. + INVALID_EVENT - Create or update the ticket from the parent event instead. + INVALID_TICKET - Cannot update child ticket directly, update parent ticket rule instead. + NO_COST - A price must be set for a charged ticket. + NO_QUANTITY_TOTAL - A quantity total must be set for this ticket. + SPLIT_AND_INCLUDE - You cannot split fees and include them in the price of the ticket. + SPLIT_FEES_DEPRECATED - This functionality is being deprecated. + ARGUMENTS_ERROR - There are errors with your argument + SALES_END_RELATIVE_TOO_FAR_IN_PAST - The ticket sales_end relative can't result in a date < 2000. ## List [/ticket_classes-list/] ### List Ticket Classes by Event [GET /events/{event_id}/ticket_classes/] List Ticket Classes by Event ID. Returns a paginated response. + Parameters + event_id: 12345 (required, string) - Event ID. + pos (string, optional) - Only return ticket classes valid for the given point of sale + Members + online + at_the_door + category: admission (array[enum[string]], optional) - Filter Ticket Classes by Category + Members + all + admission + add_on + donation + include_holds: (boolean, optional) - Boolean for whether or not to include hold ticket classes in response + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + ticket_classes (array[Ticket Class]) ### List Ticket Classes Available For Sale by Event [GET /events/{event_id}/ticket_classes/for_sale/] List Ticket Classes available for sale by Event ID for use in the purchase flow. Returns a paginated response. + Parameters + event_id: 12345 (required, string) - Event ID. + pos (string, optional) - Only return ticket classes valid for the given point of sale. If unspecified, `online` is the default value. + Members + online + at_the_door + code (string, optional) - Only return ticket classes associated with this promo code. A promo code may apply discount, unlock hidden tickets, or change availability/remaining quantity of the tickets. + `hold_id` (string, optional) - Only return ticket classes associated with this composite hold id. Requesting user must have event permissions to sell from holds. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + ticket_classes (array[Ticket Class For Sale Response]) + Response 400 (application/json) + Attributes (Error) + error (enum) + ARGUMENTS_ERROR - There are errors with your arguments. + Response 403 (application/json) + Attributes (Error) + error (enum) + NOT_AUTHORIZED + Response 404 (application/json) + Attributes (Error) + error (enum) + NOT_FOUND - The event you requested does not exist. # Group Ticket Group <a name="ticket_group_object"></a> ## Ticket Group Object The Ticket Group object is used to group [Ticket Classes](#ticket_class_object). Most commonly used to apply a [Cross-Event Discount](#discount_object) to multiple Ticket Classes. #### Fields | Field | Type | Description | | :----------------- | :----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `name` | `string` | Ticket Group name. A name containing more than 20 characters is automatically truncated. | | `status` | `string` | Ticket Group status. Can be `transfer`, `live`, `deleted` or `archived`. By default, the status is `live`. | | `event_ticket_ids` | `dict` | Dictionary showing the Ticket Class IDs associated with a specific Event ID. | | `tickets` | `objectlist` | List of Ticket Class. Includes for each Ticket Class `id`, `event_id`, `sales_channels`, `variants` and `name`. By default this field is empty, unless the Ticket Class Expansions fields are used. | ## Retrieve [/ticket_groups/] ### Retrieve a Ticket Group [GET /ticket_groups/{ticket_group_id}/] Retrieve a Ticket Group by Ticket Group ID. + Parameters + ticket_group_id: 1 (required, string) - Ticket Group ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Ticket Group) ## Create [/ticket_groups-create/] ### Create a Ticket Group [POST /organizations/{organization_id}/ticket_groups/] Create a new Ticket Group for an [Organization](#organization_object). Maximum number of 300 live Ticket Groups per Organization; archived or deleted Ticket Classes are not included in this limitation. + Parameters + organization_id: 1 (required, string) - Organization ID. + Request + Attributes (object) + `ticket_group` (Ticket Group Create) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Ticket Group) + Response 400 (application/json) + Attributes (Error) + error (enum[string]) + EXCEEDS_LIMIT - You have reached the maximum number of 300 ticket groups allowed ## Update [/ticket_groups-update/] ### Update a Ticket Group [POST /ticket_groups/{ticket_group_id}/] Update Ticket Group by Ticket Group ID. + Parameters + ticket_group_id: 1 (required, string) - Ticket Group ID. + Request + Attributes (object) + `ticket_group` (Ticket Group Create) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Ticket Group) ## Add Ticket Class [/ticket_groups-add-ticket-class/] ### Add a Ticket Class to Ticket Groups [POST /organizations/{organization_id}/events/{event_id}/ticket_classes/{ticket_class_id}/ticket_groups/] Add a Ticket Class to Ticket Groups by Organization ID and Event ID. To remove a Ticket Class from every Ticket Group owned by an Organization, leave the Ticket Group ID empty. + Parameters + organization_id: 1 (required, string) - ID of the Organization that owns the Ticket Group. + event_id: 123 (required, string) - ID of the Event that owns the Ticket Class. + ticket_class_id: 12345 (required, string) - ID of the Ticket Class to add to the Ticket Group. + Request + Attributes + ticket_group_ids (optional, array[string]) - a list of ticket groups that will have the ticket class added to them + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 204 (application/json) ## List [/ticket_groups-list/] ### List Ticket Groups by Organization [GET /organizations/{organization_id}/ticket_groups/] List Ticket Groups by Organization ID. Returns a paginated response. To include the Ticket Class name and sales channel in the response, add the Ticket Class expansion parameter. + Parameters + organization_id: 1 (required, string) - Organization ID. + status (optional, string) - Filter Ticket Groups by status. This can be `live`, `archived`, `deleted`, or `all`. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + `ticket_groups` (array[Ticket Group]) ## Delete [/ticket_groups-delete/] ### Delete a Ticket Group [DELETE /ticket_groups/{ticket_group_id}/] Delete a Ticket Group. The status of the Ticket Group is changed to `deleted`. + Parameters + ticket_group_id: 1 (required, string) - Ticket Group ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes + deleted: true (required, boolean) - If it was deleted successfully or not. # Group User >**Note:** Note These URLs will accept “me” in place of a user ID in URLs - for example, /users/me/orders/ will return orders placed by the current user. <a name="user_object"></a> ## User Object User is an object representing an Eventbrite account. Users are [Members](#members_object) of an [Organization](#organization_object). ### Retrieve Information about a User Account [GET /users/{user_id}/] Returns a user for the specified `user` as user. If you want to get details about the currently authenticated user, use /users/me/. To include the User’s assortment package in the response, add the assortment expansion parameter: /users/me/?expand=assortment + Parameters + user_id: 12345 (required, number) - User ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes + user (User) ### Retrieve Information About Your User Account [GET /users/me/] Retrieve your User account information. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (User) # Group Venue <a name="venue_object"></a> ## Venue Object The Venue object represents the location of an [Event](#event_object) (i.e. where an Event takes place). Venues are grouped together by the [Organization](#organization_object) object. #### Venue Fields | Field | Type | Description | | :---------------- | :-------- | ---------------------------------------------------------- | | `address` | `address` | Venue address. | | `id` | `string` | Venue ID. | | `age_restriction` | `string` | Age restriction of the Venue. | | `capacity` | `number` | Maximum number of tickets that can be sold for the Venue. | | `name` | `string` | Venue name. | | `latitude` | `string` | Latitude coordinates of the Venue address. | | `longitude` | `string` | Longitude coordinates of the Venue address. | ## Retrieve [/venues/] ### Retrieve a Venue [GET /venues/{venue_id}/] Retrieve a Venue by Venue ID. + Parameters + venue_id: 12345 (required, string) - Venue ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (Venue Response) ## Create [/venues-create/] ### Create a Venue [POST /organizations/{organization_id}/venues/] Create new Venue under an Organization. + Parameters + organization_id: 12345 (required, string) - Organization ID. + Request + Attributes (object) + venue (Venue Create) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Venue Response) ## Update [/venues-update/] ### Update a Venue [POST /venues/{venue_id}/] Update a Venue by Venue ID. + Parameters + venue_id: 12345 (required, string) - Venue ID. + Request + Attributes (object) + venue (Venue Create) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Venue Response) ## List [/venues-list/] ### List Venues by Organization [GET /organizations/{organization_id}/venues/] List Venues by Organization ID. Returns a paginated response. + Parameters + organization_id: 12345 (required, string) - Organization ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + pagination (Pagination) + venues (array[Venue Response]) # Group Webhooks <a name="webhooks_object"></a> ## Webhook Object An object representing a webhook associated with the Organization. ## Webhooks [/webhooks/] ## Create [/webhooks-create/] ### Create Webhooks by Organization ID [POST /organizations/{organization_id}/webhooks/] Create a Webhook by Organization ID. + Parameters + organization_id: 389957889113 (string, required) - Organization ID + Request + Attributes (Create Webhook) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Webhook) ### Create Webhooks - deprecated [POST /webhooks/] Create a Webhook. > Warning: Access to this API will be no longer usable on June 1st, 2020. For more information regarding deprecated APIs, refer to our [changelog](https://www.eventbrite.com/platform/docs/changelog). + Parameters + organization_id: 389957889113 (string, required) - Organization ID + Request + Attributes (Create Webhook) + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN Content-Type: application/json + Response 200 (application/json) + Attributes (Webhook) + Response 403 (application/json) + Attributes + error_description: This user is not able to use legacy user endpoints, please use the organization equivalent. (string) — Description of the error. + status_code: 403 (string) — HTTP status code of the error. + error: NOT_AUTHORIZED (string) — Not authorized to make the this request. ## List [/webhooks-list/] ### List Webhook by Organization ID [GET /organizations/{organization_id}/webhooks/] List Webhooks by Organization ID. + Parameters + organization_id: 389957889113 (string, required) — Organization ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes + pagination (Pagination) + webhooks (Webhook) + Response 400 (application/json) + Attributes (Error) ### List of Webhooks - deprecation [GET /webhooks/] List Webhooks. > Warning: Access to this API will be no longer usable on June 1st, 2020. For more information regarding deprecated APIs, refer to our [changelog](https://www.eventbrite.com/platform/docs/changelog). + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes + pagination (Pagination) + webhooks (Webhook) + Response 400 (application/json) + Attributes (Error) ## Delete [/webhooks-delete/] ### Delete Webhook by ID [DELETE /webhooks/{id}/] Delete a Webhook by ID. + Parameters + id: 1990496 (string, required) - Webhook ID. + Request + Headers Authorization: Bearer PERSONAL_OAUTH_TOKEN + Response 200 (application/json) + Attributes (object) + Response 400 (application/json) + Attributes (Error) + Response 403 (application/json) + Attributes + error_description: This user is not able to use legacy user endpoints, please use the organization equivalent. (string) — Description of the error. + status_code: 403 (string) — HTTP status code of the error. + error: NOT_AUTHORIZED (string) — Not authorized to make the this request. ## Data Structures ### Address (Address Response) + localized_address_display (string) - Format of the address display localized to the address country + localized_area_display (string) - Format of the address area display localized to the address country + `localized_multi_line_address_display` (array[string]) - The multi-line format order of the address display localized to the address country, where each line is an item in the list ### Address Request (object) + address_1 (string, optional) - The street/location address (part 1) + address_2 (string, optional) - The street/location address (part 2) + city (string, optional) - City + region (string, optional) - ISO 3166-2 2- or 3-character region code for the state, province, region, or district + postal_code (string, optional) - Postal code + country (string, optional) - ISO 3166-1 2-character international code for the country + latitude (string, optional) - Latitude portion of the address coordinates + longitude (string, optional) - Longitude portion of the address coordinates ### Address Response (object) + address_1 (string, nullable) - The street/location address (part 1) + address_2 (string, nullable) - The street/location address (part 2) + city (string, nullable) - City + region (string, nullable) - ISO 3166-2 2- or 3-character region code for the state, province, region, or district + postal_code (string, nullable) - Postal code + country (string, nullable) - ISO 3166-1 2-character international code for the country + latitude (string, nullable) - Latitude portion of the address coordinates + longitude (string, nullable) - Longitude portion of the address coordinates ### Answer (object) + question_id: 20090892 (string) - The ID of the custom question + attendee_id: 1009831492 (string) - The ID of the attendee + question: What's your question? (string) - The text of the custom question + type: text (enum[string]) - One of text, url, email, date, number, address, or dropdown + Members + text + url + email + date + number + address + dropdown + answer: This is my answer (string) - Type varies based on the question type. Most types have a string answer, except for the following with object answers: ### Attendee (object) + id: 12345 (string) - Attendee ID + created: `2018-05-12T02:00:00Z` (datetime) - When the attendee was created (order placed) + changed: `2018-05-12T02:00:00Z` (datetime) - When the attendee was last changed + ticket_class_id: 12345 (string) - The ticket_class that the attendee registered with + ticket_class_name: General Admission (string) - The name of the ticket_class at the time of registration + profile (Attendee Profile) - The attendee's basic profile information + questions (array[Question], optional) - The per-attendee custom questions + answers (array[Answer], optional) - The attendee’s answers to any custom questions + barcodes (array[Attendee Barcode]) - The attendee’s entry barcode information + team (Attendee Team, nullable) - The attendee’s team information + affiliate: affiliate_code (string, nullable) - The attendee's affiliate code + checked_in: false (boolean) - If the attendee is checked in + cancelled: false (boolean) - If the attendee is cancelled + refunded: false (boolean) - If the attendee is refunded + costs (Cost Summary) - Cost breakdown for this attendee + status (string) - The status of the attendee (scheduled to be deprecated) + event_id: 12345 (string) - The event id that this attendee is attending + event (Event, optional) - Full details of the event (requires the `event` expansion) + order_id: 12345 (string) - The order id this attendee is part of + order (Order, optional) - Full details of the order (requires the `order` expansion) + guestlist_id (string, nullable) - The guestlist id for this attendee. If this is null it means that this is not a guest. + invited_by (string, nullable) - The name of the person that invited the attendee. If this is null it means that this is not a guest. + `assigned_unit` (Attendee Assigned Unit, optional, nullable) - The attendee’s seating assignment details if reserved seating. This can be null or omitted if no specific seating is assigned to this attendee. (requires the `assigned_unit` expansion) + `delivery_method` (enum[string]) - The method of delivery that is to be used for the attendee. This can be null. + electronic - Tickets are attached to the confirmation email. + will_call - Tickets are delivered by an alternative method. + standard_shipping - Tickets are mailed to the shipping address by Eventbrite. + third_party_shipping - Tickets are mailed to the shipping address by a third party company. + `variant_id` (string, nullable) - A composite id with the format T12345-D12345 where the T12345 is the ticket_class id and D12345 is the discount id applied to this attendee + contact_list_preferences (Contact List Preferences, optional) - Marketing communication preferences for the email address associated with this Attendee. + `_type`: attendee_contact_list_preferences (string) + `survey_responses` (object, optional) - Object representing survey responses associated with the attendee. Keys are `question_ids` and values are the answers to those questions. Available through the use of `survey_responses` expansion. + `resource_uri` (string) - The resource URI ### Attendee Address (object) + home (Address, nullable) - The attendee’s home address + ship (Address, nullable) - The attendee’s shipping address + work (Address, nullable) - The attendee’s work address + bill (Address, nullable) - The attendee’s billing address ### Attendee Assigned Unit (object) + unit_id: `18-1:2` (string) - The seating assignment's ID. This value can never be null. + description: Some description (string) - Detailed description for the seating assignment. This is calculated from title and strings of this seating assignment. This value can never be null. + location_image (Unit Location Image) This seat assignment's physical location on the seat map. This value is null or omitted if seat map is not published for this event. "Pin" ("My seat is here") for a given seat assignment can be displayed using this seat location image info. For a given order with multiple attendees, all seat assignments are usually placed on the same seat map image. In case different seat map images are used within the same order, only those locations with the identical image url should be displayed on the same image. Even when there are many assigned seats within very small part of image, we recommend placing “pin” for each seat. Alternatively, x-y coordinates can be compared to place a single pin for seats that are close together. + labels: 100, A, 23 (array[string]) - List of label strings of this seating assignment. This value can never be null. + titles: Area, Row, Seat (array[string]) - List of title strings of this seating assignment. This value can never be null. Number of titles are always equal or more than number of labels. If seat locations are displayed in the grid view, api client is expected to group assigned locations by titles and use a separate grid for each unique titles. ### Attendee Barcode (object) + barcode: 1234093511009831492001 (string) - The barcode contents. *Note that when viewed by the attendee, if the event organizer has turned off printable tickets, or if the organizer has method of delivery and the attendee method of delivery is not electronic, this field will be null in order to prevent exposing the barcode value. When viewed by the organizer with `event.orders:read` permission, the barcode will always be provided.* + status: unused (enum[string]) - One of unused, used, or refunded + Members + unused + used + refunded + created: `2018-08-18T22:24:03Z` (datetime) - When the attendee barcode was created + changed: `2018-08-18T22:24:03Z` (datetime) - When the attendee barcode was changed + `checkin_type`: 0 (enum[number]) - The method used to validate the attendee barcode + Members + 0 - Attendee Barcode has not been validated + 1 - Attendee Barcode has been validated via scanner + 2 - Attendee Barcode has been validated via looking up a name + `is_printed`: false (boolean) - True if ticket has been printed ### Attendee Profile (object) + name: John Smith (string) - The attendee's name. Use this in preference to first_name/last_name/etc. if possible for forward compatibility with non-Western names. + email: jhon.smith@example.com (string) - The attendee's email address + first_name: John (string) - The attendee's first name + last_name: Smith (string) - The attendee's last name + prefix: Mr. (string, optional) - The title or honoraria used in front of the name (Mr., Mrs., etc.) + suffix: Sr (string, optional) - The suffix at the end of the name (e.g. Jr, Sr) + age: 33 (number, optional) - The attendee's age + job_title: Software Enginner (string, optional) - The attendee's job title + company: Eventbrite (string, optional) - The attendee's company name + website: https://mysite.com (string, optional) - The attendee's website address + blog: https://mysite.com (string, optional) - The attendee's blog address + gender: male (enum[string], optional) - The attendee's gender + Members + male + female + birth_date: `1984-12-06` (string, optional) - The attendee's birth date + cell_phone: `555 555-1234` (string, optional) - The attendee's cell/mobile phone number, as formatted by them + work_phone: `555 555-1234` (string, optional) - The attendee's cell/mobile work phone number, as formatted by them + addresses (Attendee Address) - The attendee's basic profile information ### Attendee Team (object) + id: 12345 (string) - The team's ID + name: Great Team! (string) - The team's name + date_joined: `2018-05-12T02:00:00Z` (datetime) - When the attendee joined the team + event_id: 12345 (string) - The event the team is part of ### Email Configuration (object) + disable_new_user_email: false (boolean, optional) - If new users will receive welcome email + disable_confirmation_email: false (boolean, optional) - If the ticket buyer will receive confirmation email + disable_pdf_ticket: false (boolean, optional) - If the ticket buyer will receive PDF ticket in confirmation email + receipt_only: false (boolean, optional) - If the ticket buyer will receive a receipt email instead of confirmation email + disable_newsletter_email: true (boolean, optional) - Used for new users to send them newsletters emails + disable_attendee_news_email: true (boolean, optional) - Used for new users to send news emails + disable_email_bcc: false (boolean, optional) - If the organizer will receive confirmation email ### Category (object) + id: 103 (string) - Category ID + resource_uri: https://www.eventbriteapi.com/v3/categories/103/ (string) + name: Music (string) - Category name + name_localized: Music (string) - Translated category name + short_name: Music (string) - Shorter category name for display in sidebars and other small spaces + short_name_localized: Music (string) - Translated short category name + subcategories (array[Subcategory]) - List of subcategories (only shown on some endpoints) ### Collection (object) + created `2018-05-12T02:00:00Z` (datetime-tz-utc) - The creation date/time of the collection. + id: 12345 (string) - Collection ID + organization_id: 12345 (string) - Public Organization ID + organizer_id: 12345 (string) - Public Organizer ID + image_id: 12345 (string) - Image ID + name (string) - Collection name + slug: `name-of-slug` (string) - The name portion of the url path that links to the collection page on Eventbrite. + relative_url: `/cc/name-of-slug-111` (string) - The relative url path that links to the collection page on Eventbrite. Format is `/cc/{name-of-slug}-{id}`. + absolute_url: `https://www.eventbrite.com/cc/name-of-slug-111` (string) - The absolute url that links to the collection page on Eventbrite. Format is `{eventbrite-domain}/cc/{name-of-slug}-{id}`. + summary (string, optional) - Collection summary/description. This is a plaintext field and will have any supplied HTML removed from it. Maximum of 255 characters. + status: live (enum[string], optional) - Status of the event + Members + draft - A preliminary form of a possible future Collection. The collection maybe in an incomplete state. + live - The Collection can accept registrations or purchases if ticket classes are available. + archived - The Collection is unpublished but completed state. ### Cost Summary (object) + `base_price` (Currency Cost) - The organizer ticket revenue. + gross (Currency Cost) - The total amount the buyer was charged. + `eventbrite_fee` (Currency Cost) - Fees taken by Eventbrite as a service fee. + `payment_fee` (Currency Cost) - Fees taken by Eventbrite as a payment processing fee. + tax (Currency Cost) - The tax collected by the organizer. ### Cost (object) + `base_price` (Currency Cost, optional) - The organizer ticket revenue. + `display_price` (Currency Cost, optional) - The item price with discounts applied. + `display_fee` (Currency Cost, optional) - The total amount of fees and taxes to be displayed. + gross (Currency Cost) - The total amount the buyer was charged. + `eventbrite_fee` (Currency Cost) - Fees taken by Eventbrite as a service fee. + `payment_fee` (Currency Cost) - Fees taken by Eventbrite as a payment processing fee. + tax (Currency Cost, optional) - The tax collected by the organizer. + `display_tax` (Currency Cost, optional) - The total amount of taxes to be displayed. + `price_before_discount` (Currency Cost, optional) - The item price before a discount code is applied. If no discount is applied it's the display_price. + `discount_amount` (Currency Cost, optional) - The total discount to be displayed. + `discount_type`: coded (enum[string], nullable) - Type of discount applied. + Members + access - Access code + coded - Discount with a code to unlock + hold - Discount with holds + public - Public discount + `fee_components` (array[Cost Component], optional) - List of price costs components that belong to the fee display group. + `tax_components` (array[Cost Component], optional) - List of price costs components that belong to the tax display group. + `shipping_components` (array[Cost Component], optional) - List of price costs components that belong to the shipping display group. + `has_gts_tax`: True (boolean, optional) - Indicates if any of the tax_components is a gts tax. + `tax_name`: VAT (string, optional) - The name of the Organizer-to-Attendee tax that applies, if any. ### Cost Component (object) + intermediate: False (boolean) - Indicates whether this is a price component that affects the final item price (if `False`), or just intermediate metadata (if `True`). + name: royalty (enum[string]) - Name of the fee. + Members + eventbrite.payment_fee_v2 + eventbrite.service_fee + eventbrite.shipping.item + eventbrite.shipping + royalty + shipping + `internal_name`: service fee(string) - Name of the fee within the group (organizer facing). + `group_name`: `service fee` (string) - Display name of the fee group (attendee facing). + value: 200 (number) - The amount of the component represented in minor units. E.g. 725 means 7.25. + discount (Cost Component Discount, nullable) - The total discount to be displayed to a specific cost component and the reason of the discount. + rule (Cost Component Rule, nullable) - Rate rule that applies to this cost component, if any. + base: `item.display-includable` (enum[string]) - Name of the base used to calculate the fee. + Members + eventbrite.payment_fee + eventbrite.payment_fee_v2 + eventbrite.payment_fee_v2.tax + eventbrite.service_fee + eventbrite.service_fee.tax + item.display_royalty + item.display_royalty_esf + item.display-includable + item.net + item.net-includable + item.subtotal-includable + item.tax_exclusive + item.tax_inclusive + zero_base + bucket: fee (enum[string]) - The display group the cost component belongs in. + Members + item + fee + shipping + tax + recipient: `event.6018` (enum[string]) - Who keeps the amount of the cost component. + Members + event.ID - money should be paid to the organizer + eventbrite - money should be paid to eventbrite + tax - money should be paid to government + payer: attendee (enum[string]) - Who is paying the fee, used to determine if the fee is being passed on or absorbed into the item price. + Members + attendee + organizer ### Cost Component Discount (object) + amount (Currency Cost) - The total discount to be displayed to a specific cost component. + reason: TOGGLED_OFF_FEE (string) - The reason why a discount is applied to a specific cost component. ### Cost Component Rule (object) + id: 95 (string) - Fee Rule ID of a specific cost component. ### Crop Mask (object) + top_left (Crop Mask Coordinate, optional) - Coordinate for top-left corner of crop mask + width: 15 (number, optional) - Crop mask width + height: 15 (number, optional) - Crop mask height ### Crop Mask Coordinate (object) + y: 15 (number, optional) - Y coordinate for top-left corner of crop mask + x: 15 (number, optional) - X coordinate for top-left corner of crop mask ### Currency Cost (object) + currency: USD (string, required) - The ISO 4217 3-character code of a currency + value: 432 (number, required) - The integer value of units of the minor unit of the currency (e.g. cents for US dollars) + major_value: 4.32 (string, required) - You can get a value in the currency's major unit - for example, dollars or pound sterling - by taking the integer value provided and shifting the decimal point left by the exponent value for that currency as defined in ISO 4217 + display: 4.32 USD (string, required) - Provided for your convenience; its formatting may change depending on the locale you query the API with (for example, commas for decimal separators in European locales). ### Event (object) + id: 12345 (string) - Event ID + name (multipart-text) - Event name + summary (string, optional) - Event summary. This is a plaintext field and will have any supplied HTML removed from it. Maximum of 140 characters, mutually exclusive with `description`. + description (multipart-text, optional) - (*DEPRECATED*) Event description (contents of the event page). May be long and have significant formatting. Clients may choose to skip retrieving the event description by enabling the API switch OMIT_DESCRIPTION_FROM_EVENT_CONTAINER, which will result in the description being returned as null. + start (datetime-tz) - Start date/time of the event + end (datetime-tz) - End date/time of the event + url: https://www.eventbrite.com/e/45263283700 (string) - The URL to the event page for this event on Eventbrite + vanity_url: https://testevent.eventbrite.com (string, optional) - The vanity URL to the event page for this event on Eventbrite + created: `2017-02-19T20:28:14Z` (datetime, required) - When the event was created + changed: `2017-02-19T20:28:14Z` (datetime, required) - When the event was last changed + published: `2017-02-19T20:28:14Z` (datetime, optional, nullable) - When the event was first published + status: live (enum[string], optional) - Status of the event + Members + draft - A preliminary form of a possible future Event. + live - The Event can accept registrations or purchases if ticket classes are available. + started - The Event start date has passed. + ended - The Event end date has passed. + completed - The funds for your Event have been paid out. + canceled - The Event has been canceled. + currency: USD (string) - The ISO 4217 currency code for this event + online_event: false (boolean) - If this event doesn’t have a venue and is only held online + organization_id (string) - Organization owning the event + organizer_id (string) - ID of the event organizer + organizer (Organizer, optional) - Full details of the event organizer (requires the `organizer` expansion) + logo_id (string, nullable) - Image ID of the event logo + logo (eventbrite-image, optional, nullable) - Full image details for event logo (requires the `logo` expansion) + venue_id (string, optional) - Event venue ID + venue (Venue Response, optional) - Full venue details for `venue_id` (requires the `venue` expansion) + format_id (string, nullable) - Event format (Expansion: `format`) + format (Format, optional) - Full details of the event format (requires the `format` expansion) + category_id (string, optional, nullable) - Event category (Expansion: `category`) + category (Category, optional) - Full details of the event category (requires the `category` expansion) + subcategory_id (string, optional, nullable) - Event subcategory (Expansion: `subcategory`) + subcategory (Subcategory, optional) - Full details of the event subcategory (requires the `subcategory` expansion) + music_properties (Music Properties, optional) - This is an object of properties that detail dimensions of music events. + `bookmark_info` (Bookmark Info, optional) - The bookmark information on the event, requires the `bookmark_info` expansion + refund_policy (string, optional) - (Expansion) + ticket_availability (Ticket Availability, optional) - Additional data about general tickets information (optional). + listed: false (boolean) - Is this event publicly searchable on Eventbrite? + shareable: false (boolean) - Can this event show social sharing buttons? + invite_only: false (boolean) - Can only people with invites see the event page? + show_remaining: true (boolean) - Should the event page show the number of tickets left? + password: 12345 (string) - Event password + capacity: 100 (number) - Maximum number of people who can attend. + capacity_is_custom: true (boolean) - If True, the value of capacity is a custom-set value; if False, it's a calculated value of the total of all ticket capacities. + tx_time_limit: 12345 (string) - Maximum duration (in seconds) of a transaction + hide_start_date: true (boolean) - Shows when event starts + hide_end_date: true (boolean) - Hide when event starts + locale: en_US (string) - The event Locale + is_locked: true (boolean) + privacy_setting: unlocked (string) + is_externally_ticketed: false (boolean) - true, if the Event is externally ticketed + external_ticketing (External Ticketing, optional) — Returns the external ticketing information associated to this Event. + is_series: true (boolean) - If the event is part of a series + is_series_parent: true (boolean) - If the event is part of a series and is the series parent + series_id: 56321 (string, nullable) - If the event is part of a series, this is the event id of the series parent. If the event is not part of a series, this field is omitted. + is_reserved_seating: true (boolean) - If the events has been set to have reserved seatings + show_pick_a_seat: true (boolean) - Enables to show pick a seat option + show_seatmap_thumbnail: true (boolean) - Enables to show seat map thumbnail + show_colors_in_seatmap_thumbnail: true (boolean) - For reserved seating event, if venue map thumbnail should have colors on the event page. + is_free: true (boolean) - Allows to set a free event + source: api (string) - Source of the event (defaults to API) + version: null (string) + resource_uri: https://www.eventbriteapi.com/v3/events/1234/ (string) - Is an absolute URL to the API endpoint that will return you the canonical representation of the event. + event_sales_status (Event Sales Status) - Additional data about the sales status of the event (optional). + checkout_settings (Checkout Settings) - Additional data about the checkout settings of the Event. ### Event Similarities (object) + event_id (string) - The event id. + event_title (string) - The title of the event. + similarity_scores (number) - The similarity score. ### External Ticketing (object) + external_url (string, required) - The URL clients can follow to purchase tickets. + ticketing_provider_name (string, required) - The name of the ticketing provider. + is_free (boolean, required) - Whether this is a free event. Mutually exclusive with ticket price range. + minimum_ticket_price (Currency Cost, required) - The lowest price at which tickets are being sold. + maximum_ticket_price (Currency Cost, required) - The highest price at which tickets are being sold. + sales_start (datetime, required) - When sales start. + sales_end (datetime, required) - When sales end. ### Update External Ticketing (object) + external_url (string, optional) - The URL clients can follow to purchase tickets. + ticketing_provider_name (string, optional) - The name of the ticketing provider. + is_free (boolean, optional) - Whether this is a free event. Mutually exclusive with ticket price range. + minimum_ticket_price (Currency Cost, optional) - The lowest price at which tickets are being sold. + maximum_ticket_price (Currency Cost, optional) - The highest price at which tickets are being sold. + sales_start (datetime, optional) - When sales start. + sales_end (datetime, optional) - When sales end. ### Music Properties (object) + age_restriction (enum[string], nullable) - Minimum age requirement of event attendees. + all_ages + 12+ + 13+ + 14+ + 15+ + 16+ + 17+ + 18+ + 19+ + 21+ + under_14_with_guardian + under_16_with_guardian + under_18_with_guardian + under_21_with_guardian + presented_by (string, nullable) - Main music event sponsor. + door_time: `2019-05-12T-19:00:00Z` (datetime, nullable) - Time relative to UTC that the doors are opened to allow people in the day of the event. When not set the event won't have any door time set. ### Format (object) + id: 2 (string) - Format ID + name: Seminar or Talk (string) - Format name + name_localized: Seminar or Talk (string) - Localized format name + short_name: Seminar (string) - Short name for a format + short_name_localized: Seminar (string) - Localized short name for a format + resource_uri: https://www.eventbriteapi.com/v3/formats/2/ (string) - Is an absolute URL to the API endpoint that will return you the canonical representation of the format. ### Image (object) + id: 12345 (string, required) - The image’s ID + url: https://image.com (string, required) - The URL of the image ### Contact List Preferences (object) + has_contact_list: true (boolean) - Email address is in at least one contact list for Organization that owns this Event. + has_opted_in: true (boolean) - Email address is opt-in to receive marketing communication from the Organization that owns this Event. ### Order (object) + id: 442719216 (string, required) - The Id of the order + created: `2018-05-12T02:00:00Z` (datetime) - When the attendee was created (order placed) + changed: `2018-05-12T02:00:00Z` (datetime) - When the attendee was last changed + name: John Smith (string) - The ticket buyer’s name. Use this in preference to first_name/last_name if possible for forward compatibility with non-Western names. + first_name: John (string) - The ticket buyer’s first name + last_name: Smith (string) - The ticket buyer’s last name + email: john.smith@example.com (string) - The ticket buyer’s email address + costs (Cost, optional) - Cost breakdown for this order + event_id: 17937020110 (string) - The event id this order is against + event (Event, optional) - Full details of the event (requires the `event` expansion) + attendees (array[Attendee], optional) - The list of attendees that belong to this order (requires the `attendees` expansion) + time_remaining: 100 (number, nullable) - The time remaining to complete this order (in seconds) + resource_uri: https://www.eventbriteapi.com/v3/orders/1234/ (string) - Is an absolute URL to the API endpoint that will return you the canonical representation of the order. + status: placed (enum[string],optional) - The status of the order + Members + started - order is created + pending - order is pending + placed - order is placed by the ticket buyer + abandoned - order is abandoned by the ticket buyer + ticket_buyer_settings (Event Ticket Buyer Settings, optional) - Ticket settings relevant to the purchaser after the order has been processed. Included only when called with the expansion `ticket_buyer_settings`. Order must be in PLACED or UNPAID state for the ticket_buyer_settings to return any information, otherwise will be an empty object. + contact_list_preferences (Contact List Preferences, optional) - Marketing communication preferences for the email address associated with this Order. + `_type`: order_contact_list_preferences (string) + `survey_responses` (object, optional) - Object representing survey responses associated with the order. Keys are `question_ids` and values are the answers to those questions. Available through the use of `survey_responses` expansion. ### Order Balances (object) + paid (Currency Cost) - Sum of completed payment amounts for associated order. + pending (Currency Cost) - Sum of pending, but not yet completed payment amounts for associated order. + balance (Currency Cost) - Balance owed to place associated order. ### Order Cost Details (object) + display_price (Currency Cost) - The sum of the item's ticket costs. + price (Currency Cost) - The final price of the items. + cost_details: (array[Cost Detail]) - List with cost components grouped by the specified criteria. ### Cost Detail (object) + value (Currency Cost) - Value and currency of the fee group. + `group_name`: eventbrite.service_fee (string, optional) - Display name of the fee group (attendee facing). Guaranteed to be present and non-null if the group_by array passed to the request contains group_name. + `internal_name`: eventbrite.service_fee (string, optional) - Used to differentiate a fee within a group (organizer facing). Guaranteed to be present and non-null if the group_by array passed to the request contains internal_name. + recipient: eventbrite (enum, optional) - Who the money should be paid to. Guaranteed to be present and non-null if the group_by array passed to the request contains recipient. + event - money should be paid to the organizer + eventbrite - money should be paid to eventbrite + tax - money should be paid to government + bucket: fee (enum, optional) - The display group the fee belongs in. Guaranteed to be present and non-null if the group_by array passed to the request contains bucket. + item + fee + shipping + tax + payer: organizer (enum, optional) - Who is paying the fee, used to determine if the fee is being passed on or absorbed. Guaranteed to be present and non-null if the group_by array passed to the request contains payer. + attendee + organizer ### Checkout Disqualification (object) + ticket_class_id: 1234 (string) - ID of the ticket class that is disqualifying a cart from completing checkout. + reason: below_qty_minimum (enum[string]) - reason this ticket class is causing the cart to be disqualified from checkout. + Members + below_qty_minimum - The number of ticket classes of this id on the order is less than the minimum set on the ticket class + exceed_qty_maximum - The number of ticket classes of this id on the order is greater than the maximum set on the ticket class + unknown - Ticket class id does not exist on the event ### Organizer (object) + name (string) - Organizer name. + description (multipart-text) - Description of the Organizer (may be very long and contain significant formatting). + long_description (multipart-text) - Long description of the Organizer. + logo_id (string, nullable) - Image ID of the organizer logo + logo (eventbrite-image, optional, nullable) - Full image details for organizer logo + resource_uri: https://www.eventbriteapi.com/v3/organizers/12345/ (string) - Is an absolute URL to the API endpoint that will return you the organizer. + id: 12345 (string) - Id of the organizer + url: https://www.eventbrite.com/o/12345/ (string) - URL to the organizer's page on Eventbrite + num_past_events: 5 (number) - Number of past events the organizer has + num_future_events: 1 (number) - Number of upcoming events the organizer has + twitter: @abc (string, optional) - Organizer's twitter handle + facebook: abc (string, optional) - Organizer's facebook page ### Question (object) + id: 20090892 (string) - The ID of the custom question + label: What's your question? (string) - The label of the custom question + type: text (enum[string]) - One of text, url, email, date, number, address, or dropdown + Members + text + url + email + date + number + address + dropdown + required: false (boolean) - Whether or not an answer is required <!-- event-schedules.apib --> ### ScheduleBase (object) + occurrence_duration: 3600 (number) - The duration of each occurrence in seconds. + recurrence_rule (string) - The recurrence rule specifies how often the series occurrences should happen. The recurrence rule must follow the iCalendar RFC at https://tools.ietf.org/html/rfc5545#section-3.3.10. The DTSTART must always be passed in UTC. - Sample DTSTART:20120201T023000Z RRULE:FREQ=MONTHLY;COUNT=5 ### Schedule (ScheduleBase) + id: 31 (string) - The ID of the Schedule object + created_event_ids: 123 (array[string]) - A list containing the IDs of the series occurrences that were created by the POSTed schedule. ### Subcategory (object) + id: 3003 (string) - Subcategory ID + resource_uri: https://www.eventbriteapi.com/v3/subcategories/3003/ (string) + name: Classical (string) - Subcategory name + parent_category (Category) - Category this subcategory belongs to ### Ticket Availability (object) + has_available_tickets: false (boolean) - Whether this event has tickets available to purchase + minimum_ticket_price (Currency Cost) - A dictionary with some data of the available ticket with the minimum + maximum_ticket_price (Currency Cost) - A dictionary with some data of the available ticket with the maximum + is_sold_out: true (boolean) - Whether there is at least one ticket with availability + start_sales_date (datetime-tz) - The earliest start time when a visible ticket is or will be available + waitlist_available: false (boolean) ### Unit Location Image (object) + url (string) - fully qualified url of the seat map image. Currently all seat map images are in 660x660 .png format. This value can never be null. + x (number) - x coordinate of this seat's location within this seat map measured in % from the left edge of seat map. The value ranges from 0.0 between 100.0. This value can never be null. + y (number) - y coordinate of this seat's location within this seat map measured in % from the top edge of seat map. The value ranges from 0.0 between 100.0. This value can never be null. ### Venue Response (Venue Base) + address (Address Response, nullable) - The address of the venue + resource_uri: https://www.eventbriteapi.com/v3/venues/3003/ (string) - Resource uri + id: 3003 (string) - Venue ID + age_restriction (string, nullable) - Age restriction of the venue + capacity: 100 (number, nullable) - Venue capacity + name: Great Venue (string, required) - Venue name + latitude: 49.28497549999999 (string, optional) - Latitude portion of the address coordinates of the venue + longitude: 123.11082529999999 (string, optional) - Longitude portion of the address coordinates of the venue ### Venue Base (object) + name: Madison Square Garden (string, optional) - Venue name + `age_restriction` (enum[string], optional) - The age restrictions for the venue + Members + AGE_RESTRICTION_ALL_AGES - All Ages + AGE_RESTRICTION_MIN_TWELVE - 12+ + AGE_RESTRICTION_MIN_THIRTEEN - 13+ + AGE_RESTRICTION_MIN_FOURTEEN - 14+ + AGE_RESTRICTION_MIN_FIFTEEN - 15+ + AGE_RESTRICTION_MIN_SIXTEEN - 16+ + AGE_RESTRICTION_MIN_SEVENTEEN - 17+ + AGE_RESTRICTION_MIN_EIGHTEEN - 18+ + AGE_RESTRICTION_MIN_NINETEEN - 19+ + AGE_RESTRICTION_MIN_TWENTY_ONE - 21+ + AGE_RESTRICTION_UNDER_TWENTY_ONE_WITH_GUARDIAN - Under 21 with guardian + AGE_RESTRICTION_UNDER_EIGHTEEN_WITH_GUARDIAN - Under 18 with guardian + capacity: 100 (number, optional) - Set specific capacity (if omitted, sums ticket capacities) ### Bookmark Info (object) + bookmarked: false (boolean) - User saved the event or not. ### `datetime-tz-utc` (object) + timezone: UTC (string, required) - The timezone + utc: `2018-05-12T02:00:00Z` (string, required) - The time relative to UTC ### `datetime-tz` (object) + timezone: America/Los_Angeles (string, required) - The timezone + utc: `2018-05-12T02:00:00Z` (string, required) - The time relative to UTC + local: `2018-05-11T19:00:00` (string, required) - The time in the timezone of the event ### `datetime` (string) ### `htmltext` (object) + html: <p>Some text</p> (string, required) ### `eventbrite-image` (Image) + crop_mask (Crop Mask, nullable) - The crop mask applied to the original image + original (object) - The original image + url: https://image.com (string) - The URL of the image + width: 800 (number) - The width of the image in pixels + height: 400 (number) - The height of the image in pixels + `aspect_ratio`: 2 (string) - The aspect ratio of the cropped image + `edge_color`: `#6a7c8b` (string) - The edge color of the image in hexadecimal representation + `edge_color_set`: true (boolean) - True if the edge color has been set ### `multipart-text` (object) + text: Some text (string, required) + html: <p>Some text</p> (string, required) ### Event Sales Status (object) + sales_status: text (enum[string]) - Current sales status of the event. + Members + on_sale - The event has tickets currently available for sale. + not_yet_on_sale - All available tickets for the event have their start sales in the future. + sales_ended - All available tickets for the event have their sales ended. + sold_out - An Event is sold out if we have no tickets to sell and also we don't have hidden tickets availables. + unavailable - This status is when we are not under 'sold out' state but have no available tickets to sell. Could it be because event has a soft sell-out at current point of time due to pending order. + start_sales_date (datetime-tz) - The earliest start time when a visible ticket is or will be available + message (string, optional) - Custom message associated with the current event sales status. + message_type (enum[string], optional) + Members + default - The message returned is the default message for this event status. + canonical - The message returned is the default message for another (canonical) event status. + custom - The message returned is a custom message for this event status. + message_code (enum[string], optional) - The message returned is overridden by the following event status message. + Members + tickets_not_yet_on_sale - Custom text for event sales status with tickets not yet on sale. + tickets_with_sales_ended - Custom text for event sales status when their tickets have sales ended. + tickets_sold_out - Custom text for event sales status with tickets are sold out. + tickets_unavailable - Custom text for event sales status with tickets are unavailable. + tickets_at_the_door - Custom text for event sales status with tickets are at the door only. + event_cancelled - Custom text when an event has their sales cancelled. + event_postponed - Custom text when an event has their sales postponed. ### Ticket Class Confirmation Settings + ticket_class_id: 1023 (string) - ID of the ticket class the confirmation settings apply to. + event_id: 3003 (string) - ID of the event this ticket class belongs to. + confirmation_message: (multipart-text) - Confirmation message for customers who have purchased one or more of this ticket class. ### Event Ticket Buyer Settings (object) + confirmation_message (multipart-text) - Order confirmation message from event settings. + instructions (multipart-text) - Instructions for the ticket buyer. + event_id: 3003 (string) - Public id of the event these ticket buyer settings come from. + refund_request_enabled: True (boolean) - Are refund requests enabled for this event. + redirect_url (string, optional) - URL to redirect the ticket buyer to for further purchase information. + ticket_class_confirmation_settings (array[Ticket Class Confirmation Settings], optional) - List of confirmation messages per unique ticket class in the order. <!-- checkout_and_payout_setting.apib --> ### Checkout Settings (object) + created: `2018-01-31T13:00:00Z` (datetime) - When the checkout settings object was created + changed: `2018-01-31T13:00:00Z` (datetime) - When the checkout settings object was last changed + country_code (string) - The ISO 3166 alpha-2 code of the country within which these checkout settings can apply. + currency_code (string) - The ISO 4217 3-character code of the currency for which these checkout settings can apply. + checkout_method (enum) - The checkout method to use for completing consumer payment for tickets or other goods. Set of possible values [paypal, eventbrite, authnet, offline]. + paypal + eventbrite + authnet + offline + offline_settings (array[Offline Settings]) - A container for representing additional offline payment method checkout settings. + user_instrument_vault_id (string) - The merchant account user instrument ID for the checkout method. Only specify this value for PayPal and Authorize.net checkout settings. ### Offline Settings + payment_method (enum) - Set of possible values: [CASH, CHECK, INVOICE] + CASH + CHECK + INVOICE + instructions (string) <!-- artists_extended_data.apib --> ### Artist Extended Data (object) + id (string) - The id for artist extended data. + is_canonical (boolean) - True if the extended data is the original one, false otherwise. + condition (enum) - Useful to distinguish who is providing the extended data. + canonical - An artist that belongs to the platform + custom - An artist created by an organization + customized - An canonical artist customized by an organization + biography (string) - The biography of the artist. It is a string of HTML (which should be sanitized and free from injected script, tags, etc. But as always, be careful what you put in your DOM). + genres (array[enum]) - A list of genres for the artist. + hip_hop - Hip Hop + funk_soul - Funk & Soul + blues - Blues + latin - Latin + folk_world_country - Folk, World, & Country + childrens - Children's + jazz - Jazz + non_music - Non-Music + classical - Classical + reggae - Reggae + brass_military - Brass & Military + stage_screen - Stage & Screen + electronic - Electronic + pop - Pop + rock - Rock + social_media_links (array[Social Media Link]) - A list of social media links for an artist. + images (array[Artist Image Response]) - A list of images for an artist. + artist_id: 2571667 (string) - The artist that is represented. + name: Juan Quintero (string) - The artist's name. + name_slug: `juan-quintero-2571667` (string) - Slugified name of the artist. <!-- artist_social_media_link.apib --> ### Social Media Link (object) + url (string) - The proper url. + link_type (enum) + sitepage + facebook + instagram + twitter + myspace + wikipedia + tumblr + soundcloud + bandcamp + discogs + songkick + musicbrainz + allmusic + pandora + spotify + playmusic + deezer + applemusic + iheartradio + vimeo + youtube + vevo <!-- artist_image_response.apib --> ### Artist Image Response (object) + id (string) - Image id from image_service. + url (string) - The URL of the image. + image_type (enum) - The type of the image. By default: principal. Extra types might be defined in the future. + principal + width (number) - The width of the image in pixels. + height (number) - The height of the image in pixels. + thumb_url (string) - The URL of the thumb image. + thumb_width (number) - The width of the thumb image in pixels. + thumb_height (number) - The height of the thumb image in pixels. <!-- performer.apib --> ### Performer (object) + id (number) - Id of the performer. + display_name (string) - Performer's name. Defaults to the artist's name if not provided. + role (enum) - Performer's role. It enables to distinguish between a headliner (main) or supporting acts. + headliner + supporter + sort_order (number) - Order within the event. Ascendant. Between 0-127. If needed, the `id` is the tiebreaker. Default: `0`. + artist_id (string) - The artist that will be performing. + hidden (boolean) - Performer's visibility. + artist_extended_data_id (string) - The artist's representation. <!-- performer_with_expanded_artist_extended_data.apib --> ### Performer With Expanded Artist Extended Data (object) + id (number) - Id of the performer. + display_name (string) - Performer's name. Defaults to the artist's name if not provided. + role (enum) - Performer's role. It enables to distinguish between a headliner (main) or supporting acts. + headliner + supporter + sort_order (number) - Order within the event. Ascendant. Between 0-127. If needed, the `id` is the tiebreaker. Default: `0`. + artist_id (string) - The artist that will be performing. + hidden (boolean) - Performer's visibility. + artist_extended_data_id (string) - The artist's representation. + artist_extended_data (Artist Extended Data) - The expanded artist's representation. <!-- user.apib --> ### External Identity (object) + id: 1 (string) - The Id of the External Identity + user_id: 1007 (string) - The Id of the Eventbrite's user. + external_user_id: 12345 (string) - The Id of the user at the external provider side. + external_provider (enum[string]) - The external provider. + Members + facebook - Facebook Login <!-- event-teams.apib --> ### Event Team Response (object) + id: 1 (string) - Team ID + name: Testing (string) - Team name + creator (object) + id: 272057970621 (string) - Team's creator ID + name: john@example.com (string) - Team's creator name (or email if name is null) + emails (array[Event Team Creator Emails]) - Team creator email's information + changed: `2018-10-22T21:43:16Z` (datetime) - Date when the team information was last changed + created: `2018-10-22T21:43:16Z` (datetime) - Date when the team was created + attendee_count: 2 (number) - How many attendees the team have + token (string) - Token + event_id: 12345 (string) - The ID of the event this team is part of + date_joined (datetime) - When the attendee joined the team ### Event Team Creator Emails (object) + verified: false (boolean) - If the email is verified + primary: true (boolean) - If the email is the primary one + email: john@example.com (string) - The creator's email address <!-- campaigns.apib --> ### Medium Labels (enum[string]) + email + push_notification + sms ### Theme Type (enum[string]) + light + dark ### Campaign Status (enum[string]) + draft + queued + sending + sent + incomplete + review + spam + cancelled + processing ### Campaign Stats (object) + sent: 0 (number, required) - The amount of campaigns sent. + delivered: 0 (number, required) - The amount of campaigns delivered. + open: 0 (number, required) - The amount of campaigns opened. + click: 0 (number, required) - The amount of campaigns clicked on. + unsubscribe: 0 (number, required) - The amount of contacts who've unsubscribed . + spam: 0 (number, required) - The amount of campaigns marked as spam. + bounce: 0 (number, required) - The amount of campaigns that have bounced while sending. ### Campaign (object) + id: 12345 (string, required) - The ID of the campaign. + name: Alec's Campaign (string, required) - The name of the campaign. + subject: World's Best campaign (string, required) - The subject of the campaign. + reply_to: alec.richardson@eventbrite.com (string, required) - The email reply to email for the campaign. + from_name: Alec Richardsin (string, required) - The name the campaign is from. + time_to_send: null (datetime, nullable) - The time to send the campaign. + medium (Medium Labels, required) - The medium of the campaign. + body_message: null (string, nullable) - The body message of the campaign. + template_id: 12345 (string, required) - The ID of the campaigns template. + theme_id: 12345 (string, required) - The ID of the campaigns theme. + organization_id: 12345 (string, required) - The ID of the campagins organization. + organization_metadata_id: 12345 (string, required) - The ID of the campaigns organization metadata. + creator_id: 12345 (string, required) - The ID of the campaigns creator. + created: `2020-08-20T00:00:00Z` (datetime, required) - Creation date of the campaign, datetime in ISO8601 UTC. Other offsets than UTC are not allowed. + status (enum[string], required) - The status of the campaign. + draft + queued + sending + sent + incomplete + stats (Campaign Stats, required) - The email stats of the campaign. + recipient_send_count (number, optional) - The recipients count in the send queue. + pay_as_you_go_enabled: false (boolean, optional) - If true, the campaign is enabled for pay as you go email sends. + openai: false (boolean, optional) - If true, the campaign used OpenAI. ### Campaign Event Update (object) + id: 12345 (string, required)- The ID of the campaign to add events. + featured: true (boolean, required) - Whether or not the event should be featured. ### Event Campaign (object) + event_id: 1234 (string) - ID of the event associated to the campaign + campaign_id: 9876 (string) - ID of the campaign associated to the event ### Theme Update (object) + background_color: #FFFFFF (string, optional) - The hexadecimal value of the campaign background color. + primary_color: #FFFFFF (string, optional) - The hexadecimal value of the campaign primary color. + header_image_id: 12345 (string, nullable, optional) - The ID of the campaigns header image. + header_image_link: https://www.quarkworks.co (string, nullable, optional) - The URL of the header image's link. + header_image_alt_text: QuarkWorks (string, nullable, optional) - The hover text that displays on the header image link. + theme_type (Theme Type, optional) - The theme type of the campaign. + background_image_id: 12345 (string, nullable, optional) - The ID of the campaigns background image. ### Campaign Template (object) + id: 12345 (string, required) - The ID of the campaign template. + name: My Template (string, required) - The name of the campaign template. + organization: 12345 (string, required) - The ID of the organization tied to a template. + creator_id: 12345 (string, required) - The ID of the creator of the campaign template. + body (string, required) - The body of a campaign template. ### Campaign Invoice (object) + id: 12345 (string, required) - The ID of the campaign invoice. + created: `2020-08-20T00:00:00Z` (datetime, required) - Creation date of the campaign invoice, datetime in ISO8601 UTC. + organization_id: 12345 (string, required) - The ID of the organization that owns this invoice. + campaign_id: 12345 (string, required) - The ID of the campagin associated with this invoice. + stripe_customer_id: cus_1abc2dEf3 (string, required) - Stripe identifier for the customer associated to the organization who will be billed. + stripe_invoice_id: in_1abc2dEf3 (string, nullable) - Stripe identifier for this invoice. + stripe_price_id: price_1AbC2dEf3 (string, nullable) - Stripe identifier for the product price for this invoice. + stripe_hosted_invoice_url: https://invoice.stripe.com/i/12345 (string, nullable) - URL for the Stripe hosted invoice page allowing customers to view and pay an invoice. + amount_due (Currency Cost, nullable) - The amount due for the invoice. + amount_paid (Currency Cost, nullable) - The amount paid for the invoice. + total_free_sends: 250 (number, required) - Total number of free email sends remaining for the organization or included in their subscription. + total_sends: 300 (number, required) - Total number of emails sent for the campaign. + total_additional_sends: 50 (number, required) - Total number of additional email sends for the campaign that will be charged. + status (enum[string], required) - The status of the invoice. + draft + created + finalized + paid + failed + deleted ### Organization Metadata Update (object) + name: Alec Richardson (string, optional) - The name tied to an organization. + events_url: https://quarkworks.co (string, optional) - The event URL of an organization. + logo_id: 12345 (string, optional) - The logo ID of an organization. + facebook_url: https://www.facebook.com/quarkworks (string, optional) - The facebook URL of an organization. + instagram_url: https://www.instagram.com/quarkworks (string, optional) - The instagram URL of an organization. + twitter_url: https://www.twitter.com/quarkworks (string, optional) - The twitter URL of an organization. ### Organization Address Update (object) + address_1: 4 S 9th st (string, optional) - The primary address of an organization. + address_2: Suite 202 (string, optional) - The secondary address of an organization. + city: Columbia (string, optional) - The city of an organization. + region: MO (string, optional) - The region of an organization. + postal_code: 65202 (string, optional) - The postal code of an organization. + country: United States (string, optional) - The country of an organization. ### Organization Settings (object) + organization_id: 12345 (string) - The ID of the organization. + daily_send_limit: 2000 (number) - The daily send limit of the organization for campaign emails. + daily_send_limit_reason_code: 1000 (number, nullable, optional) - The CX reason code for imposing a custom limit, such as a reduced limit. Null, otherwise. Possible reason codes: 1000 - high bounce or unsubscribed rate. + has_custom_daily_send_limit: true (boolean, optional) - Boolean value of whether the daily send limit is a custom limit. + has_outstanding_payments: false (boolean, optional) - Boolean value of whether the organization has any unpaid campaign invoices with failed payment attempts. + locale: `en_US` (string, nullable) - Organization locale from cerberus. + subscription_plans: (array[Subscription Plan]) - List of subscription plans the organization is subscribed to. If the organization has no active plan, we return the "free" plan. + pay_as_you_go_enabled: true (boolean, optional) - Boolean value of whether to display pay_as_you_go + can_send_campaigns: true (boolean, optional) - Boolean value of whether the organization is eligible to send email campaigns. ### Organization Settings Update (object) + daily_send_limit: 2000 (number, required) - The daily send limit of the organization for campaign emails. + daily_send_limit_reason_code: 1000 (number, optional) - The CX reason code for imposing a custom limit, such as a reduced limit. If no reason was provided for the `daily_send_limit` change, the reason code is automatically cleared. Possible reason codes: 1000 - high bounce or unsubscribed rate. ### Plan Features (object) + campaign_daily_limit: 2000 (number) + event_capacity: 100 (number) ### Subscription Plan (object) + plan_id: `PLAN#CORE#12345` (string) - EB Plan id. This is empty when plan is `free`. + plan: `plus` (string) - The corresponding legacy subscription plan name based on the plan_id. + plan_tier: `CORE` (string) - Name of the EB subscription plan tier. + plan_name: `PRO 250` (string) - The official name of the plan. + plan_status: `active` (string) - Status of the plan. This is empty when plan is `free`. + features (Plan Features) + trial: (object) - Trial information for a subscription plan. If no trial exists for the plan, the object is empty. If status is not trialing, this block is empty. + status: `trialing` (string) - The status of the plan can be one of "trialing", "post_trial", or "expired". ### Theme (object) + id: 12345 (string, required) - The ID of the campaign theme. + background_color: #FFFFFF (string, required) - The hexadecimal value of the campaign background color. + primary_color: #FFFFFF (string, required) - The hexadecimal value of the campaign primary color. + organization_id: 12345 (string, required) - The ID of the organization tied to a theme. + creator_id: 12345 (string, required) - The ID of the creator of the theme. + header_image (Image, nullable) - The header image of a theme. + header_image_link: https://www.quarkworks.co (string, nullable) - The URL of the campaign header image link. + header_image_alt_text: QuarkWorks (string, nullable) - The hover text that displays on the header image link. + theme_type (Theme Type, required) - The theme type of the campaign. + background_image (Image, nullable) - The background image of a theme. <!-- contact_lists.apib --> ### Contact List Type (enum[string]) + Purchasers ### Contact List (object) + id: 12345 (string, required) - The ID of the contact list item. + name: ListName (string, required) - The contact list name. + medium (Medium Labels, required) - The medium type of your contact list. + organization_id: 12345 (string, required) - The ID of the organization the contact belongs too. + creator_id: 12345 (string, required) - The ID of the user who created the contact list. + subscriber_count: 1000 (number, required) - The amount of subscribed contacts in the list. + contact_list_type (Contact List Type, nullable) - The type of the contact list e.g. purchasers. ### Contact List Item Create (object) + first_name: Alec (string, optional) - The first name of the contact list item. + last_name: Richardson (string, optional) - The last name of the contact list item. + contact: alec.richardson@eventbrite.com (string, required)- The email address of the contact list item. ### Contact List Item (object) + id: 12345 (string, required) - The ID of the contact list item. + contact: alec.richardson@eventbrite.com (string, required) - The contact information of the contact. + contact_list_id: 12345 (string, required) - The ID of the contact list the item belongs to. + contact_list_name: MyListName (string, required) - The name of the contact list the item belongs too. + first_name: Alec (string, optional) - The first name of the contact list item. + last_name: Richardson (string, optional) - The last name of the contact list item. + medium (Medium Labels, required) - The medium of the contact list. + when_opted_out: null (datetime, nullable) - The time the item has unsubscribed (null if the item hasn't unsubscribed). + deliverability (object, nullable) - The deliverability status and reason of a contact list item. + status (enum[string]) + active + inactive + reason (enum[string]) + hard_bounced + soft_bounced + when_opted_out + unknown <!-- missive.apib --> ### Item Type (enum[string]) + s3_asset + local_template ### Schedule Item Status (enum[string]) + queued + sending + sent + cancelled + incomplete ### Sponsor Offer Email (object) + offer_id: 12345 (string, required) - The ID of the offer email. + organization_id: 12345 (string, required) - ID of the sponsor organization. + event_id: 12345 (string, required) - ID of the event being sponsored. + creator_id: 12345 (string, required) - The ID of the user who created the email. + recipient_id: 12345 (string, required) - The ID of the emails recipient. + package_type: test (string, required) - Description of the type of package being offered. + package_image_id: 12345 (string, optional) - The ID of the package image. + package_description: My description. (string, optional) - The description of your package. + net_creator_value (Currency Cost, required) - Net value of the offer for a creator. + decline_reason: Not qualified. (string, optional) - The reason why an offer is declined. + sponsoring_event_ids: 12345, 67890 (array[string], optional) - The event IDs to be used as assets in offers. + dry_run: False (boolean, optional) - True will only send the email to Eventbrite employees. ### Template Email Schedule Item (object) + id: 12345 (string, required) - ID of the sent item. + organization_id: 12345 (string, required) - ID of the organization. + creator_id: 12345 (string, required) - The ID of the user who created the email. + medium (Medium Labels, required) - The medium of the schedule item. + item_type (Item Type, required) - The type of the schedule item. + time_to_send (datetime-tz, nullable) - Date/time the sending is scheduled for. + time_send_completed (datetime-tz, nullable) - Date/time the sending was completed. + status (Schedule Item Status, required) - Sending status. + filename: MyFile (string, required) - The name of the file to be emailed. + context (object, required) - A schemaless dictionary with email content. (This can be anything) + subject: My Subject (string, required) - The context to use in the file. ### S3 Email Schedule Item Create (object) + filename: MyFile (string, required) - The name of the file to be emailed. + time_to_send: 2019-01-31T13:00:00Z (datetime, required) - The time to send the email. + timezone: UTC (string, required) - The timezone the email was scheduled to send in. ### S3 Email Schedule Item (object) + id: 12345 (string, required) - The id of the schedule item. + filename: MyFile (string, required) - The name of the file to be emailed. + medium (Medium Labels, required) - The medium of the schedule item. + item_type (Item Type, required) - The type of the schedule item. + time_to_send: 2019-01-31T13:00:00Z (datetime, nullable) - The time to send the email. + time_send_started: 2019-01-32T13:00:00Z (datetime, nullable) - The time the sending process started. + time_send_completed: 2019-01-31T15:35:00Z (datetime, nullable) - The time the sending process completed. + status (Schedule Item Status, required) - The status of the schedule item. + organization_id: 12345 (string, nullable) - The ID of the organization that the email was sent from. + creator_id: 12345 (string, nullable) - The ID of the user who created the schedule item. <!-- cross_event_discounts.apib --> ### Cross Event Discount + code: summer2018 (string) - Code used to activate discount. + type: coded (enum) - The type of discount. + access + hold + coded + public + end_date: 2018-01-01T10:00:00 (string) - The code will be usable until this date. + end_date_relative (number) - The code will be usable until this amount of seconds before the event start. + amount_off (number) - A fixed amount that is applied as a discount. It doesn’t have a currency, it depends on the event’s currency from 0.01 to 99999.99. Only two decimals are allowed. Will be null for an access code. + percent_off: 15.00 (number) - A percentage discount that will be applied on the ticket display price during the checkout, from 1.00 to 100.00. Only two decimals are allowed. Will be null for an access code. + quantity_available (number) - The number of times this discount can be used, when 0 means “unlimited”. + quantity_sold (number) - The number of times the discount was used. This is a display only field, it cannot be written. + start_date: 2018-01-01T10:00:00 (string) - The code will be usable since this date. + start_date_relative (number) - The code will be usable since this amount of seconds before the event start. + ticket_class_ids (array) - On single event discounts, the list of IDs of tickets that are part of event_id for which this discounts applies to. If empty, means “all the tickets of the event”. + event_id: 3339494556677 (string) - On single event discounts, the id of the Event this discount applies to. This is empty for cross event discounts. + ticket_group_id (string) - On cross event discounts, it is the id of the ticket group for which the discount applies to. + `hold_ids`: H1234 (array[string], nullable) - List of hold IDs this discount can unlock. Null if this discount does not unlock a hold. ### Error (object) + error_description (string) - Description of the error + status_code (number) - HTTP status code of the error + error_detail (object) + status_code (number) - HTTP status code of the error ### ErrorWithoutDetail (object) + status_code (number) - HTTP status code of the error. + error (string) - Error code. + error_description (string) - Detailed description of the error. ### Pagination (object) + object_count: 35 (number) - The total number of objects across all pages (optional) + page_number: 1 (number) - The current page number (starts at 1) + page_size: 50 (number) - The number of objects on each page (roughly) + page_count: 1 (number) - The total number of pages (starting at 1) (optional) + continuation: dGhpcyBpcyBhIGNvbnRpbnVhdGlvbiB0b2tlbg (string) - A token to return to the server to get the next set of results (see “Continuated Responses” below) + has_more_items: false (boolean) <!-- reports.apib --> ### Fulfillment Summary (object) + timezone (string) - Timezone + event_ids (array[string]) - List of public events IDs + data (array) - A list of topics and totals. + topics (array) + (object) + tickets (number) - Number of tickets sold for the corresponding topic + id (number) - The id of the topic been used **(ticket class id if grouping by ticket, MoD id if grouping by delivery_method...)** + printed (number) - Number of tickets printed for the corresponding topic. + name (string) - The name of the topic been used **(ticket class name if grouping by ticket, MoD name if grouping by delivery_method...)** + totals (array) + (object) + tickets (number) - Total number of tickets sold for the corresponding topic. + printed (number) - Total number of tickets printed for the corresponding topic. + topics_totals (array) - an array representing a list of aggregation topics to report data on. + tickets (number) - Number of tickets sold for the corresponding topic. + id (number) - The id of the topic been used **(ticket class id if grouping by ticket, MoD id if grouping by delivery_method...)** + printed (number) - Number of tickets printed for the corresponding topic. + name (string) - The name of the topic been used **(ticket class name if grouping by ticket, MoD name if grouping by delivery_method...)** + totals (object) + tickets (number) - Total number of tickets sold for the corresponding topic. + printed (number) - Total number of tickets printed for the corresponding topic ### Scheduled Email Report (object) + id (string) - Id of the report. + report_name (string) - The name of the report. Max length: 100 characters. Will be truncated if more characters are sent. + `report_options` (object) - The report configuration, should contain `event_ids` and metrics. + event_ids (array[string]) - List of events ids to report on. + metrics (array[enum[string]]) List of metrics to use + 'net'. + 'gross'. + 'quantity'. + schedule_frequency (enum) - Possible frequencies + daily - Once a day. + weekly - Once a week. + monthly - Once a month. + timezone (string) - Timezone in which to report in, IANA Timezone ID. + report_status (enum) - Status of the scheduled report + active. + inactive. + deleted. + recipients (array[string]) - The list of emails to send the report once is processed. The maximum length of recipient list is 10. ### StubEvent (object) + id: 1003 (string) - Id of the event. + name: Nashville Office Thanksgiving (string, optional) - The name of the event + status: Live (enum[string]) - Current status of the event + UnSaved + Draft + Canceled + Live + Started + Ended + Completed + Deleted + start_date: `2020-03-03T18:09:37Z` (datetime) - When the event starts + end_date: `2020-03-03T18:09:37Z` (datetime) - When the event ends ### Report Response Attendees (object) + timezone: America/Los_Angeles (string) - Timezone. + event_ids: 12345 (array[string]) - List of public event IDs. + data (array[Report Data Attendees]) ### Report Totals Attendees (object) + num_attendees: 1 (number) - Total of attendees + num_orders: 10 (number) - Total of orders ### Report Response Sales (object) + timezone: America/Los_Angeles (string) - Timezone. + event_ids: 12345 (array[string]) - List of public event IDs. + data (array[Report Data Sales]) ### Report Data Sales (object) + date: `2017-02-19T20:28:14Z` (string) - When the event happens + topics: `` + date_localized: `2017-02-19T20:28:14Z` (string) - When the event happens with event Time Zone + totals (Report Totals Sales) ### Report Totals Sales (object) + currency: USD (string) - ISO 4217 3-letter currency. + gross: 0.00 (number) - The final price + net: 0.00 (number) - Price without fees, taxes and royalties + quantity: 1 (number) - Quantity + fees: 0.00 (number) - The total amount fee + royalty: 0.00 (number) - The total amount of royalties ### Report Data Attendees (object) + date: `2017-02-19T20:28:14Z` (string) - When the event happens + topics: `` + date_localized: `2017-02-19T20:28:14Z` (string) - When the event happens with event Time Zone + totals (Report Totals Attendees) <!-- system.apib --> ### Timezone + timezone (string) - The timezone identifier as defined by the IANA Time Zone Database. + label (string) - The localized name for the timezone ### Region + country_code (string) - The associated country code to this region. + code (string) - The region identifier as defined by the ISO 3166 standard. + label (string) - The readable name of the region. ### Country + code (string) - The country identifier as defined by the ISO 3166 standard. + label (string) - The readable name of the country. ### Payment public key + hash (string) - Value that uniquely identifies the public key. + pem (string) - Public key in PEM format. <!-- tracking_beacons.apib --> ### Tracking Beacon (object) + event_id (string) - The id of the event where the tracking beacon will load your tracking pixel. + user_id (string) - The id of the user where the tracking beacon will load this tracking pixel on all of their events. + pixel_id (string) - The third party id that they have given you to fire on your event page. + triggers (Triggers) - The tracking pixel meta information that determines where your pixel will fire. Triggers is a dict field where we pass 4 destination as keys and additional third party data as the value of those keys. ### Triggers (enum[object]) + event_listing (string) + event_register (string) + event_order_confirmation (string) + ticket_form_widget (string) <!-- user.apib --> ### User (object) + name: John Smith (string) - Full name. Use this in preference to first_name/last_name if possible for forward compatibility with non-Western names. + first_name: John (string) - First name + last_name: Smith (string) - Last name + is_public: false (boolean) - Is this user's profile public? + image_id (string) - Profile picture of the user + image_id: 12345 (string, required, nullable) - The organization image id + emails (array[User Email]) - List of User Email objects ### User Address (object) + address_1: República del Líbano (string) + address_2: (string) + city: Mendoza (string) + region: Godoy Cruz (string) + postal_code: 1234 (string) + country: AR (string) - ISO 3166-1 2-character international code for the country + phone: 1234 (string) + address_type: work (enum[string]) - Address type supported + work + ship + home + bill + tax_invoice + fulfillment + asset_type: user_event_holder (enum[string]) - User type + user_event_holder + user_event_attendee + user_event_holder_and_attendee + user_event_attendee_and_holder + user_closed + user_prebuyer + user_organization + newsletter_subscriber ### User Email (object) + email: john@smith.com (string) - Email address + verified: true (boolean) - Has this email address been verified to belong to the user? <!-- content.apib --> ### Seasonal Banner (object) + name (string) - The unique name which indentifies the banner in the backend (It shouldn't be rendered). + banner_title (string) - Text of the banner title. + banner_title_color_light: A2B455 (string) - Hex color code (without #) for the banner title in its light version. + banner_title_color_dark: A2B455 (string) - Hex color code (without #) for the banner title in its dark version. + banner_subtitle (string) - Text of the banner subtitle. + banner_subtitle_color_light: A2B455 (string) - Hex color code (without #) for the banner subtitle in its light version. + banner_subtitle_color_dark: A2B455 (string) - Hex color code (without #) for the banner subtitle in its dark version. + background_color_light: A2B455 (string) - Hex color code (without #) for the background of the banner in its light version. + background_color_dark: A2B455 (string) - Hex color code (without #) for the background of the banner in its dark version. + web_image_url_light (string) - Url to get the banner image for web clients in its light version. + web_image_url_dark (string) - Url to get the banner image for web clients in its light version. + mobile_image_url_light (string) - Url to get the banner image for mobile clients in its light version. + mobile_image_url_dark (string) - Url to get the banner image for mobile clients in its dark version. + call_to_action_url: /c/abcd (string) - Relative url (without www.eventbrite.com) of the collection or event to which this banner should redirect. + button_text (string) - Text that will be rendered inside the banner button. + button_text_color: A2B455 (string) - Hex color code (without #) for the text of the banner button. + button_background_color: A2B455 (string) - Hex color code (without #) for the background of the banner button. <!-- webhooks.apib --> ### Create Webhook (object) + endpoint_url: https://c3e123a02a37497897e08927816bb0c920c9de23c77804f.example.com (string, required) - The URL that the webhook will send data to when triggered. + actions: `event.created,event.published,order.placed` (enum[string], optional) - One or any combination of actions that will cause this webhook to be triggered. + attendee.checked_in - Triggered when an attendee’s barcode is scanned in. + attendee.checked_out - Triggered when an attendee’s barcode is scanned out. + attendee.updated - Triggered when attendee data is updated. + event.created - Triggered when an event is initially created. + event.published - Triggered when an event is published and made live. + event.updated - Triggered when event data is updated. + event.unpublished - Triggered when an event is unpublished. + order.placed - Triggers when an order is placed for an event. Generated Webhook’s API endpoint is to the Order endpoint. + order.refunded - Triggers when an order is refunded for an event. + order.updated - Triggers when order data is updated for an event. + organizer.updated - Triggers when organizer data is updated. + ticket_class.created - Triggers when a ticket class is created. + ticket_class.deleted - Triggers when a ticket class is deleted. + ticket_class.updated - Triggers when a ticket class is updated. + venue.updated - Triggers when venue data is updated. + event_id: 62541733007 (string, optional) - The Event ID that triggers this webhook. Leave blank for all events. ### Webhook (Create Webhook) + id: 2006536 (string) - Webhook ID. + resource_uri: https://www.eventbriteapi.com/v3/webhooks/1990496/ (string) - The URI of the individual Webhook. + created: `2020-03-03T18:09:37Z` (datetime) = Datetime of creation. + actions: (array[string]) + event.created + event.published + order.placed + user_id: 308733706151 (string) - The ID of the Organization that triggers this webhook. + event_id: 62541733007 (string, optional) - The Event ID that triggers this webhook. Is null for all events. <!-- organization.apib --> ### Organization (object) + name: Awesome Org (string, required) - The organization name + vertical: default (string, required) - The organization vertical + image_id: 12345 (string, required, nullable) - The organization image id + id: 12345 (string, required) - The organization id ### Grant (object) + id: 12 (string, required) - The grant id + grantee_type: (enum, required) - The name of the object to which the role is granted. Only ‘user’ is supported at the moment. In the future roles may be granted on more types of objects. + user + grantee_id: 226753143335 (string, required) - The id of the object to which the role is granted. If grantee_type is ‘user’, then this field should have a user_id + user_id: 226753143335 (string, required) - The ID of the user to which the Role is granted on the Entity + role_id: 2 (string, required) - The ID of the granted Role. + entity_type (enum) - Type of entities, that are objects which permissions can be granted ON + global + event + user + entity_id: 789 (string, required) - The ID of the Entity on which the Role is granted (or NULL for "global"). DEPRECATED. Use specific `event_id` or `organization_id` + event_id: 789 (string, optional) - The ID of the event on which the Role is granted if entity type is event + organization_id: 254753143342 (string, optional) - The ID of the organization on which the Role is granted if entity type is user <!-- text-overrides.apib --> ### Text Overrides Request Content (object) + text_code (enum[string], required) - Text Code to override. + `tickets_not_yet_on_sale` + `tickets_with_sales_ended` + `tickets_sold_out` + `tickets_unavailable` + `tickets_at_the_door` + `event_cancelled` + `event_postponed` + `checkout_title_tickets` + `checkout_title_add_ons` + `checkout_title_donations` + message: `Event was postponed` (string, optional) - Custom message associated with the text code to override. + message_code (enum[string], optional) - Default message code that will override the specified text code. + `tickets_not_yet_on_sale` + `tickets_with_sales_ended` + `tickets_sold_out` + `tickets_unavailable` + `tickets_at_the_door` + `event_cancelled` + `event_postponed` + `checkout_title_tickets` + `checkout_title_add_ons` + `checkout_title_donations` ### Text Overrides Response Content (object) + text_code (enum[string], required) - Text Code to override. + `tickets_not_yet_on_sale` + `tickets_with_sales_ended` + `tickets_sold_out` + `tickets_unavailable` + `tickets_at_the_door` + `event_cancelled` + `event_postponed` + `checkout_title_tickets` + `checkout_title_add_ons` + `checkout_title_donations` + message: `Tickets will be online soon` (string, optional) - Custom message associated with the text code to override. + message_code (enum[string], optional) - Default message code that will override the specified text code. + `tickets_not_yet_on_sale` + `tickets_with_sales_ended` + `tickets_sold_out` + `tickets_unavailable` + `tickets_at_the_door` + `event_cancelled` + `event_postponed` + `checkout_title_tickets` + `checkout_title_add_ons` + `checkout_title_donations` + default_message: `Sales Ended` (string, required) - default internationalized message for the specified code + message_type: `default` (enum[string], required) - Type of the message returned. + `default` - Returned if there is no override. The default message value with which the event text code is associated. + `canonical` - Returned when the message is overridden with the message of another text code. + `custom` - Returned when the message is overridden with a custom message. <!-- venue.apib --> ### Venue Create (Venue Base) + name: Great Venue (string, required) - The name of the venue + `google_place_id` (string, optional) - The google place id for the venue + `organizer_id` (string, optional) - The organizer this venue belongs to (optional - leave this off to use the default organizer) + address (Address Request, optional) - The venue's address <!-- discounts.apib --> ### Discount (Discount Base) + id: 12345 (string) - Discount ID + quantity_sold: 5 (number) - Number of discounts used during ticket sales ### Discount Create Error (Error) + error (enum[string]) + AMOUNT_AND_PERCENT_OFF_PROVIDED - Cannot provide discount.amount_off and discount.percent_off at the same time. + END_DATE_AND_END_DATE_RELATIVE_PROVIDED: Cannot provide discount.end_date and discount.end_date_relative at the same time. + INVALID + MULTI_EVENT_DISCOUNT_NOT_SUPPORTED - Creating Public, Cross-Event Discounts is forbidden at this time. + PUBLIC_DISCOUNT_NOT_SUPPORTED + START_DATE_AND_START_DATE_RELATIVE_PROVIDED - Cannot provide discount.start_date and discount.start_date_relative at the same time. + EXCEED_MAXIMUM_DISCOUNTS_PER_HOLD - Number of discounts per hold cannot exceed 100 + ARGUMENTS_ERROR ### Discount Create (Discount Base) ### Discount Base (object) + type (enum[string]) - The type of discount + access - Access code. Optionally an amount_off or percent_off can be added to an access code. + coded - Discount with a code to unlock + hold - Discount with holds + public - Public discount + code: abcde (string) - Code used to activate the discount + amount_off: 10 (string) - Fixed reduction amount. When creating access codes the default value is Null. + percent_off: 20 (string) - Percentage reduction. When creating access codes the default value is Null. + event_id: 12345 (string) - ID of the event. Only used for single event discounts + ticket_class_ids (array[string]) - IDs of the ticket classes to limit discount to + quantity_available: 5 (number) - Number of times the discount can be used + start_date (string) - Allow use from this date. A datetime represented as a string in Naive Local ISO8601 date and time format, in the timezone of the event. + start_date_relative (number) - Allow use from this number of seconds before the event starts. Greater than 59 and multiple of 60. + end_date (string) - Allow use until this date. A datetime represented as a string in Naive Local ISO8601 date and time format, in the timezone of the event. + end_date_relative (number) - Allow use until this number of seconds before the event starts. Greater than 59 and multiple of 60. + ticket_group_id: 12345 (string) - ID of the ticket group + `hold_ids`: H1234 (array[string]) - List of hold IDs this discount can unlock. Null if this discount does not unlock a hold. <!-- display-settings.apib --> ### Display Settings (object) + show_start_date: true (boolean, optional) - Whether to display the start date on the event listing + show_end_date: true (boolean, optional) - Whether to display the end date on the event listing + show_start_end_time: true (boolean, optional) - Whether to display event start and end time on the event listing + show_timezone: true (boolean, optional) - Whether to display the event timezone on the event listing + show_map: true (boolean, optional) - Whether to display a map to the venue on the event listing + show_remaining: false (boolean, optional) - Whether to display the number of remaining tickets + show_organizer_facebook: false (boolean, optional) - Whether to display a link to the organizer’s Facebook profile + show_organizer_twitter: false (boolean, optional) - Whether to display a link to the organizer’s Twitter profile + show_facebook_friends_going: false (boolean, optional) - Whether to display which of the user’s Facebook friends are going + terminology: tickets_vertical (enum[string], optional) - Which terminology should be used to refer to the event + tickets_vertical + endurance_vertical <!-- event-search.apib --> ### `local-datetime` (object) + local: `2018-05-11T19:00:00` (string, required) - The time in the timezone of the event <!-- event-series.apib --> ### Event Series Date (object) + id: 12345 (string) - Event Series Id + start (datetime-tz, required) - Start date/time of the event + end (datetime-tz, required) - End date/time of the event + url: https://www.eventbrite.com/e/45263283700 (string) - The URL to the event page for this event on Eventbrite + status: live (enum[string], optional) - Status of the event + canceled + live + started + ended + completed + locale: `en_US` (string) - The event locale <!-- event-texts.apib --> ### Event Texts Request (object) + event_text_code (Event Texts Request Content) - A dictionary with content data of the event text ### Event Texts Request Content (object) + message (string, optional) - Custom message associated to the event text code we want to override. + message_code (enum[string], optional) - Default message code that will override specified event text code. + Members + tickets_not_yet_on_sale + tickets_with_sales_ended + tickets_sold_out + tickets_unavailable + tickets_at_the_door + event_cancelled + event_postponed + checkout_title_tickets + checkout_title_add_ons + checkout_title_donations ### Event Texts Response (object) + locale: en_US (string) + event_text_code (Event Texts Content) - A dictionary with content data of the event text. ### Event Texts Content (object) + message + message_type (enum[string]) + default - Each event text code has associated a default message value, if there were no override we will return it. + canonical - We could override an event text code within other text code value, so we will receive the message associated to the new one. + custom - When we override the event text code with a free text we will receive this message type. + message_code (enum[string], nullable) - Message code associated to this message. Will be null if its a custom message type. + tickets_not_yet_on_sale + tickets_with_sales_ended + tickets_sold_out + tickets_unavailable + tickets_at_the_door + event_cancelled + event_postponed + checkout_title_tickets + checkout_title_add_ons + checkout_title_donations + default_message - default internationalized message for the specified code <!-- event.apib --> ### Event Copy (object) + name (string, optional) - The name of the new event + start_date: 2019-01-31T13:00:00Z (datetime, optional) - The start time of the new event + end_date: 2019-01-31T13:00:00Z (datetime, optional) - The end time of the new event + timezone (string, optional) - Timezone for the new event (Olson format) + summary (string, optional) - The summary of the new event ### Event Create (object) + name (htmltext, required) - Event name. Value cannot be empty nor whitespace + summary (string, optional) - Event summary. This is a plaintext field and will have any supplied HTML removed from it. Maximum of 140 characters, mutually exclusive with `description`. + description (htmltext, optional) - (*DEPRECATED*) Event description (contents of the event page). May be long and have significant formatting. Please refer to the [event description tutorial](https://www.eventbrite.com/platform/docs/event-description) to learn about the new way to create an event description. + start (datetime-tz-utc, required) - Start date/time of the event + end (datetime-tz-utc, required) - End date/time of the event + hide_start_date (boolean, optional) - Whether the start date should be hidden + hide_end_date (boolean, optional) - Whether the end date should be hidden + currency: USD (string, required) - The ISO 4217 currency code for this event + online_event: false (boolean, optional) - If this event doesn't have a venue and is only held online + organizer_id (string) - ID of the event organizer + logo_id (string, optional) - Image ID of the event logo + venue_id (string, optional) - Event venue ID + format_id (string, optional) - Event format + category_id (string, optional) - Event category + subcategory_id (string, optional) - Event subcategory (US only) + listed: false (boolean, optional) - Is this event publicly searchable on Eventbrite? + Default: true + shareable: false (boolean, optional) - Can this event show social sharing buttons? + invite_only: false (boolean) - Can only people with invites see the event page? + show_remaining: true (boolean, optional) - If the remaining number of tickets is publicly visible on the event page + password: 12345 (string) - Password needed to see the event in unlisted mode + capacity: 100 (number, optional) - Set specific capacity (if omitted, sums ticket capacities) + is_reserved_seating: true (boolean, optional) - If the event is reserved seating + is_series: true (boolean, optional) - If the event is part of a series. Specifying this attribute as True during event creation will always designate the event as a series parent, never as a series occurrence. Series occurrences must be created through the `schedules` API and cannot be created using the `events` API. + show_pick_a_seat: true (boolean, optional) - For reserved seating event, if attendees can pick their seats. + show_seatmap_thumbnail: true (boolean, optional) - For reserved seating event, if venue map thumbnail visible on the event page. + show_colors_in_seatmap_thumbnail: true (boolean, optional) - For reserved seating event, if venue map thumbnail should have colors on the event page. + source (string, optional) - Source of the event (defaults to API) + `locale` (Locale, optional) - Indicates event language on Event's listing page. (Default: en_US) ### Locale (enum) + de_AT - German (Austria) + de_CH - German (Switzerland) + de_DE - German (Germany) + en_AU - English (Australia) + en_CA - English (Canada) + en_DK - English (Denmark) + en_FI - English (Finland) + en_GB - English (United Kingdom) + en_HK - English (Hong Kong) + en_IE - English (Ireland) + en_IN - English (India) + en_NZ - English (New Zealand) + en_SE - English (Sweden) + en_US - English (U.S.A.) + es_AR - Spanish (Argentina) + es_CL - Spanish (Chile) + es_CO - Spanish (Colombia) + es_ES - Spanish (Spain) + fr_BE - French (Belgium) + fr_CA - French (Canada) + fr_CH - German (Switzerland) + fr_FR - French (France) + hi_IN - Hindi (India) + it_IT - Italian (Italy) + nl_BE - Dutch (Belgium) + nl_NL - Dutch (Netherlands) + pt_BR - Portuguese (Brazil) + pt_PT - Portuguese (Portugal) ### Event Update (object) + name (htmltext, optional) - Event name. Value cannot be empty nor whitespace + summary (string, optional) - Event summary. This is a plaintext field and will have any supplied HTML removed from it. Maximum of 140 characters, mutually exclusive with `description`, and will replace `description` if provided. + description (htmltext, optional) - (*DEPRECATED*) Event description (contents of the event page). May be long and have significant formatting. Please refer to the [event description tutorial](https://www.eventbrite.com/platform/docs/event-description) to learn about the new way to update an event description. + start (datetime-tz-utc, optional) - Start date/time of the event + end (datetime-tz-utc, optional) - End date/time of the event + hide_start_date (boolean, optional) - Whether the start date should be hidden + hide_end_date (boolean, optional) - Whether the end date should be hidden + currency: USD (string, optional) - The ISO 4217 currency code for this event + online_event: false (boolean, optional) - If this event doesn't have a venue and is only held online + organizer_id (string) - ID of the event organizer + logo_id (string, optional) - Image ID of the event logo + venue_id (string, optional) - Event venue ID + format_id (string, optional) - Event format + category_id (string, optional) - Event category + subcategory_id (string, optional) - Event subcategory (US only) + listed: false (boolean, optional) - Is this event publicly searchable on Eventbrite? + Default: true + shareable: false (boolean, optional) - Can this event show social sharing buttons? + invite_only: false (boolean) - Can only people with invites see the event page? + show_remaining: true (boolean, optional) - If the remaining number of tickets is publicly visible on the event page + password: 12345 (string) - Password needed to see the event in unlisted mode + capacity: 100 (number, optional) - Set specific capacity (if omitted, sums ticket capacities) + is_reserved_seating: true (boolean, optional) - If the event is reserved seating + is_series: true (boolean, optional) - If the event is part of a series. This attribute is mutable only for unpublished events that are not in a series, or unpublished series parents with no occurrences. + show_pick_a_seat: true (boolean, optional) - For reserved seating event, if attendees can pick their seats. + show_seatmap_thumbnail: true (boolean, optional) - For reserved seating event, if venue map thumbnail visible on the event page. + show_colors_in_seatmap_thumbnail: true (boolean, optional) - For reserved seating event, if venue map thumbnail should have colors on the event page. + source (string, optional) - Source of the event (defaults to API) ### Basic Inventory Info (object) + has_inventory_tiers (boolean) - True if the event has 1 or more inventory tiers + has_add_ons (boolean) - True if the event has 1 or more inventory tiers where count_against_event_capacity is False + has_ticket_classes (boolean) - True if the event has 1 or more ticket classes + `has_donations` (boolean) - True if the event has 1 or more ticket classes where `is_donation` is True + has_ticket_rules (boolean) - True if the event has 1 or more ticket rules + has_admission_tiers (boolean) - True if event has 1 or more admission inventory tiers + has_holds (boolean) - True if an event has any type of hold (reserved, GA section, or event capacity) <!-- media.apib --> ### Media Upload (object) + type: jpeg (array[enum[string]], required) - The type of image to upload + image-event-logo + image-event-logo-preserve-quality + image-event-view-from-seat + image-organizer-logo + image-user-photo + image-structured-content ### Media Upload Post (object) + `upload_token`: abc123 (string, required) - The upload_token from the GET portion of the upload + crop_mask (Crop Mask, optional) - A crop mask defines the window that will be used to crop the uploaded media <!-- organization-roles.apib --> ### Role (object) + id: 12345 (string, required) - The role id + name: boxoffice (string, required) - The role name + description: Boxoffice Management on events (string, required) - The role description + organization_id: 226753167503 (string, required) - The owning organization id + permissions (array[string]) + immutable: false (boolean) - boolean indicating whether the role can be edited or not + grantable: true (boolean) - boolean indicating whether the role can be granted or not + deletable: true (boolean) - boolean indicating whether the role can be deleted or not + permission_type (enum) - the type of entity on which the role permissions act. If there's more than one, the smallest one will be returned (considering 'event'<'user'). + user - The role only contains permissions that apply to users, organizations or both of them + event - The role contains at least one permission that applies to events ### Continuation (object) + continuation: dGhpcyBpcyBhIGNvbnRpbnVhdGlvbiB0b2tlbg (string, optional) - Link to the next page + has_more_items: false (boolean, optional) - Is there another page of results <!-- pricing.apib --> ### Fee Rate (object) + fixed (Currency Cost) - FeeRate rule fixed value. + maximum (Currency Cost, nullable) - FeeRate rule maximum amount (Cap). Null means unlimited. + minimum (Currency Cost, nullable) - FeeRate rule minimum amount. Null means that there isn’t any minimum. + country: US (string) - The (ISO 3166 alpha-2 code of the) country. + currency: USD (string) - The (ISO 4217 3-character code of the) currency. + fee_name: payment_fee (enum[string]) - Name of the fee. + payment_fee + service_fee + plan: package1 (enum[string]) - The assortment package name to get the price for. ‘any’ means that applies to all the prossible variants. + any + package1 + package2 + payment_type: any (enum[string]) - the payment type to get the price for. If it’s not provided, or the value is ‘any’, all the existing variants will be returned. + any + eventbrite + authnet + moneris + paypal + google + manual + free + offline + cash + check + invoice + channel: any (enum[string]) - the item type for which get the price fee rates. If it’s not provided, or the value is ‘any’, all the existing variants will be returned. + any + ticket + product + item_type: any (enum[string]) - the item type for which get the price fee rates. ‘any’ means that applies to all the possible variants. + any + ticket + product + percent: 2.50 (string) - FeeRate rule percent. Minimum value is ‘0’, maximum value is ‘100’. Supports two decimals. ### Pricing response for items (object) + organizer_share (Currency Cost) - The part of the price that belongs to the organizer. If the ticket passes fees, it will be the same as the provided base price + total_fees (Currency Cost) - The sum of all fees that Eventbrite would charge. + total_taxes (Currency Cost) - The sum of all taxes that would be charged for the price (Org to Attendee Tax). + total_price (Currency Cost) - The final price as it would be shown on the event listing. This would always be: organizer share + total fees + total taxes. <!-- ticket-groups.apib --> ### Ticket Group (object) + name: Ticket Group Example (string, optional) - Name of the ticket group. If it is greater than 20 characters will be truncated automatically. + status: live (string, optional) - The status of the ticket group. One of transfer, live, deleted or archived. By default is live if not specified. + event_ticket_ids: {"1": ["12345"]} (string, optional) - A dictionary with the event ids and ticket ids, in the form `{event_id: [ticket_id_1, ticket_id_2]}` + tickets (Ticket Group Tickets, optional) - The list of ticket class that includes the id, event_id, sales_channels, variants and name. Simplified version of ticket_class. By default is empty, unless the tickets expansion is used. ### Ticket Group Create (object) + name: Ticket Group Example (string, optional) - Name of the ticket group. If it is greater than 20 characters will be truncated automatically. + status: live (string, optional) - The status of the ticket group. One of transfer, live, deleted or archived. By default is live if not specified. + event_ticket_ids: {"1": ["12345"]} (string, optional) - A dictionary with the event ids and ticket ids, in the form `{event_id: [ticket_id_1, ticket_id_2]}` ### Ticket Group Tickets (object) <!-- ticket-class.apib --> ### Ticket Class (Public Ticket Class) + `name`: GA (string, nullable) - Name of this ticket class. + `display_name`: Gold GA (string, nullable) - Pretty long name of this ticket class. For tiered inventory tickets, this includes the tier name. + `sorting`: 2 (number, nullable) - Sorting determines the order in which ticket classes are listed during purchase flow on the event listing page. Always populated when requested by a user with proper permissions. Defaults to 0 if not supplied on creation. Values are listed in ascending order; if ticket classes have the same sorting value, they are sorted by creation date. + `capacity`: 100 (number, nullable) - Total capacity of this ticket. For donation ticket, null means unlimited. For tiered inventory ticket, null means capacity is only limited by tier capacity and/or event capacity. + `quantity_total`: 1000 (number, nullable) - Total available number of this ticket, limited by the the smallest of event capacity, inventory tier capacity, and ticket capacity. For donation ticket, 0 means unlimited. + `quantity_sold`: 20 (number, nullable) - The number of sold tickets. + `sales_start` (datetime, nullable) - When the ticket is available for sale (leave empty for 'when event published') + `sales_end` (datetime, nullable) - When the ticket stops being on sale (leave empty for 'one hour before event start') + `hidden`: false (boolean, nullable) - Hide this ticket + `include_fee`: false (boolean, nullable) - Absorb the fee into the displayed cost + `split_fee`: false (boolean, nullable) - Absorb the payment fee, but show the eventbrite fee + `hide_description`: false (boolean, nullable) - Hide the ticket description on the event page + `hide_sale_dates`: false (boolean, nullable) - Hide the sale dates on event landing and ticket selection page + `auto_hide`: false (boolean, nullable) - Hide this ticket when it is not on sale + `auto_hide_before` (datetime, nullable) - Override reveal date for auto-hide + `auto_hide_after` (datetime, nullable) - Override re-hide date for auto-hide + `sales_start_after` (string, nullable) - The ID of another ticket class - when it sells out, this class will go on sale. + `order_confirmation_message`: Success! (string, nullable) - Order message per ticket type + `sales_channels` (array[enum[string]], nullable) - A list of all supported sales channels + online + atd + `inventory_tier_id` (string, nullable) - Optional ID of Inventory Tier with which to associate the ticket class + `secondary_assignment_enabled`: false (boolean, optional) - Has secondary barcode assignment enabled (for ex/ RFID) ### Ticket Class Response (Ticket Class) + `category` (enum[string]) - Ticket class category to which a ticket class belongs. + admission - ticket class counts against event capacity + add_on - ticket class does not count against event capacity + donation - ticket class is marked as donation ### Ticket Class For Sale Response (Public Ticket Class) + `name`: Gold GA (string, nullable) - Pretty long name of this ticket class. For tiered inventory tickets, this includes the tier name. + `sales_start` (datetime, nullable) - When the ticket is available for sale (leave empty for 'when event published') + `sales_end` (datetime, nullable) - When the ticket stops being on sale (leave empty for 'one hour before event start') + `include_fee`: false (boolean, nullable) - Absorb the fee into the displayed cost + `on_sale_status` (enum) - The status of the ticket class can be one of "UNKNOWN", "NOT_YET_ON_SALE", "AVAILABLE", "HIDDEN", "SOLD_OUT", "UNAVAILABLE". These can change based on on/off sale dates, ticket class state, or current inventory. + `UNKNOWN` - The current on sale state of this ticket class is not known. + `NOT_YET_ON_SALE` - Sales have not yet started for this ticket class. The on sale date is in the future. + `AVAILABLE` - Tickets are currently on sale and still have available inventory. + `HIDDEN` - The ticket class is marked as hidden currently and is not visible to customers. + `SOLD_OUT` - There is no available inventory for this ticket class. + `UNAVAILABLE` - The ticket class is not available for sale currently. + `variant_input_type` (enum) - Type of variants for this ticket, "one", "single" or "multiple". A ticket may have more than one variant. Those multiple variants may be offered to purchaser as a flat list (multiple) or a dropdown choice (single). + `one` - This ticket has only one variant. Thus, quantity selection of multiple variants is not applicable. + `multiple` - A primary variant for "multiple" variants is a "Full Price" base ticket. "multiple" variants are typically displayed as a flat list with a quantity selection for each variant. + `single` - 'Single' variants are typically displayed as a dropdown choice with a single quantity selection. A primary variant for 'single' variants is a 'Best Available' option across all variants for this ticket. + `variants` (array[Ticket Variant For Sale Response]) - A list of ticket variants for sale. ### Ticket Class Create (Ticket Class) + cost: USD,4500 (string, optional) - Cost of the ticket (currently currency must match event currency) e.g. $45 would be "USD,4500" + name (string, optional) - Name of this ticket type + description (string, optional) - Description of the ticket + sorting (number, optional) - Unsigned integer in the order ticket classes are sorted by. + capacity (number, optional, nullable) - Total available number of this ticket, required for non-donation and non-tiered ticket classes. For normal ticket, null or 0 is not allowed. For donation ticket, null or 0 means unlimited. For tiered inventory ticket, null or 0 means capacity is only limited by tier capacity and/or event capacity. + quantity_total (number, optional) - Deprecated, use `capacity` instead. + donation (boolean, optional) - Is this a donation? (user-supplied cost) + free (boolean, optional) - Is this a free ticket? + include_fee (boolean, optional) - Absorb the fee into the displayed cost + split_fee (boolean, optional) - Absorb the payment fee, but show the eventbrite fee + hide_description (boolean, optional) - Hide the ticket description on the event page + sales_channels (array, optional) - A list of all supported sales channels ([“online”], [“online”, “atd”], [“atd”]) + sales_start (datetime, optional) - When the ticket is available for sale (leave empty for ‘when event published’) + sales_end (datetime, optional) - When the ticket stops being on sale (leave empty for 'one hour before event start'). Cannot be set on series parent tickets. + sales_end_relative (object, optional) - Relative values used to calculate ticket sales_end. Can only be used for series parent tickets. + relative_to_event (enum[string], required) - Enum representing whether sales end relative to event start or end + start_time - ticket sales end relative to event start time + end_time - ticket sales end relative to event end time + offset (number, required) - The amount of time in seconds that the ticket sales are offset before the event start or end. Nonnegative number. + sales_start_after (string, optional) - The ID of another ticket class - when it sells out, this class will go on sale. + minimum_quantity (number, optional) - Minimum number per order + maximum_quantity (number) - Maximum number per order + auto_hide (boolean, optional) - Hide this ticket when it is not on sale + auto_hide_before (datetime, optional) - Override reveal date for auto-hide + auto_hide_after (datetime, optional) - Override re-hide date for auto-hide + has_pdf_ticket (boolean, optional) - Whether to include pdf ticket or not + hidden (boolean, optional) - Hide this ticket + order_confirmation_message (string, optional) - Order message per ticket type + delivery_methods (string, optional) - A list of the available delivery methods for this ticket class + inventory_tier_id (string, optional) - Optional ID of Inventory Tier with which to associate the ticket class + ticket_classes (array[object], optional) - Internal use only.A list of ticket types formatted as: [{“id”: “1234”, “name”: “Ticket Name”, “cost”: “USD,25”, “quantity_total”: 4, ...}, {...] where “id” is required for updating a ticket. ### Ticket Class Update (Ticket Class Create) + image_id: 1234 (string, nullable, required) - Image ID for this ticket class. Setting this to null will remove image from this ticket class. + name (string, required) - Name of this ticket type + description (string, required) - Description of the ticket + sorting (number, required) - Unsigned number in the order ticket classes are sorted by. + capacity (number, required, nullable) - Total available number of this ticket, required for non-donation and non-tiered ticket classes. For normal ticket, null or 0 is not allowed. For donation ticket, null or 0 means unlimited. For tiered inventory ticket, null or 0 means capacity is only limited by tier capacity and/or event capacity. + quantity_total (number, required) - Deprecated, use `capacity` instead. + cost (Currency Cost, required) - Cost of the ticket (currently currency must match event currency) e.g. $45 would be ‘USD,4500’ + donation (boolean, required) - Is this a donation? (user-supplied cost) + free (boolean, required) - Is this a free ticket? + include_fee (boolean, required) - Absorb the fee into the displayed cost + split_fee (boolean, required) - Absorb the payment fee, but show the eventbrite fee + hide_description (boolean, required) - Hide the ticket description on the event page + sales_channels (array, required) - A list of all supported sales channels ([“online”], [“online”, “atd”], [“atd”]) + sales_start (datetime, required) - When the ticket is available for sale (leave empty for ‘when event published’) + sales_end (datetime, required) - When the ticket stops being on sale (leave empty for ‘one hour before event start’) + sales_end_relative (object, nullable, required) - Relative values used to calculate ticket sales_end. Can only be used for series parent tickets. + relative_to_event (enum[string], required) - Enum representing whether sales end relative to event start or end + start_time - ticket sales end relative to event start time + end_time - ticket sales end relative to event end time + offset (number, required) - The amount of time in seconds that the ticket sales are offset before the event start or end. Nonnegative number. + sales_start_after (string, required) - The ID of another ticket class - when it sells out, this class will go on sale. + minimum_quantity (number, required) - Minimum number per order + maximum_quantity (number, required) - Maximum number per order (blank uses default value) + auto_hide (boolean, required) - Hide this ticket when it is not on sale + auto_hide_before (datetime, required) - Override reveal date for auto-hide + auto_hide_after (datetime, required) - Override re-hide date for auto-hide + has_pdf_ticket (boolean, required) - Whether to include pdf ticket or not + hidden (boolean, required) - Hide this ticket + order_confirmation_message (string, nullable, required) - Order message per ticket type + delivery_methods (string, required) - A list of the available delivery methods for this ticket class + inventory_tier_id (string, required) - Optional ID of Inventory Tier with which to associate the ticket class ### Public Ticket Class (object) + `description`: General Admission (string, nullable) - Description of the ticket + `donation`: false (boolean, nullable) - Is this a donation? (user-supplied cost) + `free`: false (boolean, nullable) - Is this a free ticket? + `minimum_quantity`: 1 (number, nullable) - Minimum number per order + `maximum_quantity`: 10 (number, nullable) - Maximum number per order (blank uses default value) + `delivery_methods` (array[enum[string]], nullable) - A list of the available delivery methods for this ticket class + electronic - Tickets are attached to the confirmation email. + will_call - Tickets are delivered by an alternative method. + standard_shipping - Tickets are mailed to the shipping address by Eventbrite. + third_party_shipping - Tickets are mailed to the shipping address by a third party company. + `cost` (Ticket Class Cost, nullable) - Cost of the ticket (currently currency must match event currency) e.g. $45 would be "USD,4500" + `resource_uri`: `https://www.eventbriteapi.com/v3/events/1234/ticket_classes/12345/` (string) - Is an absolute URL to the API endpoint that will return you ticket class. + `image_id`: 1234 (string, nullable, nullable) - Image ID for this ticket class. null if no image is set. ### Ticket Class Cost (object) + `actual_cost` (Currency Cost) - The total cost for this ticket class less the fee + `actual_fee` (Currency Cost) - The fee for this ticket class + cost (Currency Cost) - The display cost for the ticket + fee (Currency Cost) - The fee that should be included in the price (0 if include_fee is false). + tax (Currency Cost) - The ticket's base or discounted tax amount ### Ticket Variant For Sale Response (object) + id: T12345 (string) - ID of this ticket variant. + category (enum[string]) - Ticket category to which a ticket variant belongs. + admission - ticket variant counts against event capacity. + add_on - ticket variant does not count against event capacity. + donation - ticket variant is marked as donation, requiring currency input. + primary: true (boolean, nullable) - If this value is true, this ticket variant is the primary default variant of the ticket. For public discounts, primary variant is the main "Full Price" ticket without discounts applied. For reserved seating tiered inventory ticket, primary variant is the "Best Available" option. + code (string, nullable) - Discount code or public discount name if discounted. + name: Admission (string, nullable) - Name of this ticket variant. For a primary default variant like "Best Available" or "Full Price", name is not returned. + display_name: Orchestra Admission (string) - Pretty long name of this ticket variant. For tiered inventory tickets, this includes the tier name. For public discount, this includes ticket class name and discount name. + description: Full price admission ticket (string, nullable) - Long description of this ticket variant if defined. + free: false (boolean) - whether this ticket variant is free. for donation ticket variant, this value is false. + cost (Currency Cost, nullable) - The display cost for the variant + total_cost (Currency Cost, nullable) - The total cost for the variant including fee and tax + fee (Currency Cost, nullable) - The fee that should be included in the price. + tax (Currency Cost, nullable) - The variant's base or discounted tax amount. + tax_and_fee (Currency Cost, nullable) - fee plus tax. + original_cost (Currency Cost, nullable) - The original cost before discount is applied if this variant is discounted. + original_total_cost (Currency Cost, nullable) - The original total cost before discount is applied if this variant is discounted. + original_fee (Currency Cost, nullable) - The original fee before discount is applied if this variant is discounted. + original_tax (Currency Cost, nullable) - The original tax before discount is applied if this variant is discounted. + on_sale_status (enum[string]) - The status of the ticket variant can be one of "UNKNOWN", "NOT_YET_ON_SALE", "AVAILABLE", "HIDDEN", "SOLD_OUT", "UNAVAILABLE". These can change based on on/off sale dates, ticket variant state, or current inventory. + UNKNOWN - The current on sale state of this ticket variant is not known. + NOT_YET_ON_SALE - Sales have not yet started for this ticket variant. The on sale date is in the future. + AVAILABLE - Tickets are currently on sale for this variant and still have available inventory. + HIDDEN - The ticket variant is marked as hidden currently and is not visible to customers. + SOLD_OUT - There is no available inventory for this ticket variant. + UNAVAILABLE - The ticket variant is not available for sale currently. + amount_off (Currency Cost, nullable) - The discounted amount if this variant is discounted. + percent_off: 25.0 (string, nullable) - Percentage of discount if this variant is discounted and if discount is defined as a percentage discount. + color: #fac114 (string, nullable) - Hex representation of tier color if a color is defined for this ticket variant. + image_id: 1234 (string, nullable) - Image ID for this ticket varint if image is set. <!-- ticket-rules.apib --> ### Ticket Rule Response (object) + id: 1234 (string) - ID of the ticket rule + event_id: 1234 (string) - ID of the event + name: Adult (string) - Name of the ticket rule + description: For VIPs only (string, nullable) - Description of the ticket rule + donation: false (boolean) - Is this a donation? (user-supplied cost) + include_fee: true (boolean) - Absorb the fee into the displayed cost + hide_description: true (boolean) - Hide the ticket description on the event page + sales_start: `2019-12-19T08:00:00Z` (datetime, optional) - When the ticket class is available for sale (leave empty for “when event published”) + sales_end: `2020-01-29T03:00:00Z` (datetime, optional) - When the ticket class stops being on sale (leave empty for "one hour before event start") + sales_start_after (string, optional) - The ID of another ticket class - when it sells out, this ticket class will go on sale + minimum_quantity: 1 (number, nullable) - Minimum number per order + maximum_quantity: 10 (number) - Maximum number per order + auto_hide: false (boolean) - Hide this ticket class when it is not on sale + auto_hide_before (datetime, optional) - Override reveal date for auto-hide + auto_hide_after (datetime, optional) - Override re-hide date for auto-hide + hidden: false (boolean) - If this ticket class is hidden manually + hidden_currently: false (boolean) - If this ticket class is currently hidden as a calculated dynamic value + hide_sale_dates: false (boolean) - Hide the ticket class sale status date + tickets (array[Ticket Rule Ticket]) - List of ticket classes associated with the ticket rule + sales_channels (array[enum[string]]) - A list of all supported sales channels + online + atd + delivery_methods (array[enum[string]]) -A list of the available delivery methods for this ticket rule + electronic + will_call + standard_shipping + third_party_shipping + sort_order: 1 (number) - Order to display the ticket classes within the ticket rule ### Ticket Rule Ticket (object) + id: 9876 (string) - ID of the ticket class + event_id: 1234 (string) - ID of the event + inventory_tier_id: 1 (string) - ID of the inventory tier + inventory_tier_name: Balcony (string) - Name of the inventory tier + quantity_sold: 10 (number) - Number of sold tickets + on_sale_status: AVAILABLE (enum[string]) - On sale status of the ticket class + AVAILABLE + NOT_YET_ON_SALE + HIDDEN + SOLD_OUT + UNAVAILABLE + UNKNOWN + cost (Currency Cost) - Cost of the ticket class ### Ticket Rule Create Update (object) + name: Adult (string, optional) - Name of the ticket rule + description: For VIPs only (string, optional, nullable) - Description of the ticket rule + donation: false (boolean, optional) - Is this a donation? (user-supplied cost) + include_fee: true (boolean, optional) - Absorb the fee into the displayed cost + hide_description: true (boolean, optional) - Hide the ticket description on the event page + sales_start: `2019-12-19T08:00:00Z` (datetime, optional, nullable) - When the ticket class is available for sale (leave empty for “when event published”) + sales_end: `2020-01-29T03:00:00Z` (datetime, optional, nullable) - When the ticket class stops being on sale (leave empty for "one hour before event start") + sales_start_after (string, optional, nullable) - The ID of another ticket class - when it sells out, this ticket class will go on sale + minimum_quantity: 1 (number, optional, nullable) - Minimum number per order + maximum_quantity: 10 (number, optional, nullable) - Maximum number per order (blank uses default value) + auto_hide: false (boolean, optional) - Hide this ticket class when it is not on sale + auto_hide_before (datetime, optional, nullable) - Override reveal date for auto-hide + auto_hide_after (datetime, optional, nullable) - Override re-hide date for auto-hide + hidden: false (boolean, optional) - Hide this ticket + hide_sale_dates: false (boolean, optional) - Hide the ticket class sale status date + is_deleted: false (boolean, optional) - Delete this ticket + tickets (array[Ticket Rule Ticket], optional, nullable) - A list of ticket classes associated with the ticket rule + sales_channels (array[enum[string]], optional, nullable) - A list of all supported sales channels + online + atd + delivery_methods (array[enum[string]], optional, nullable) - A list of the available delivery methods for this ticket rule + electronic + will_call + standard_shipping + third_party_shipping ### Ticket Rule Bulk Create Update (Ticket Rule Create Update) + id: 1234 (string, optional) - ID of the ticket rule + sort_order: 1 (number, optional) - Order to display the ticket classes within the ticket rule <!-- ticket-buyer-settings.apib --> ### Ticket Buyer Settings (object) + `confirmation_message` (Confirmation Message, optional) - confirmation message to display on order completion + `instructions` (Instructions, optional) - instructions to display on the ticket + `event_id`: 43253626762 (string, optional) + refund_request_enabled: true (boolean, optional) - represents whether refund requests are accepted for the event + redirect_url (string, nullable) - the url to redirect post-purchase. Will overwrite confirmation message. + `sales_ended_message` (Sales Ended Message, optional) - message to display after ticket sales end + `allow_attendee_update`: true (boolean, optional) - whether attendees are allowed to update information after registration + `survey_name`: Registration Page (string, optional) - Name/Title of the registration survey page + `survey_info`: (Survey Info, optional) - Informative message to display on the registration survey page + `survey_time_limit`: 15 (number, optional) - survey registration time limit (in minutes) + `survey_respondent`: `ticket_buyer` (enum[string], optional) - which respondent type the information must be collected for (ticket_buyer or attendee) + Members + ticket_buyer + attendee + `survey_ticket_classes` (array[string], optional) - Which ticket classes the information must be collected for ### Confirmation Message (object) + html: <H1>Confirmation Message</H1> (string, optional) + text: Confirmation Message ### Instructions (object) + html: <H1>Instructions</H1> (string, optional) + text: Instructions (string, optional) ### Sales Ended Message (object) + html: <H1>Sales Ended Message</H1> (string, optional) + text: Sales Ended Message (string, optional) ### Survey Info (object) + html: <b>Filling in this survey is required to attend the event</b> (string, optional) - Informative message to display on the registration survey (including HTML) + text: Filling in this survey is required to attend the event (string, optional) - Informative message to display on the registration survey (HTML tags stripped) ### Ticket Buyer Settings Update (object) + `confirmation_message` (Confirmation Message Update, optional) - confirmation message to display on order completion + `instructions` (Instructions Update, optional) - instructions to display on the ticket + refund_request_enabled: true (boolean, optional) - Whether refund requests are accepted for the event + redirect_url (string, nullable) - Redirect to this url post-purchase. Will overwrite confirmation message. + `sales_ended_message` (Sales Ended Message Update, optional) - message to display after ticket sales end + `allow_attendee_update`: true (boolean, optional) - whether attendees are allowed to update information after registration + `survey_name`: Registration Page (string, optional) - Name/Title of the registration survey page + `survey_info`: (Survey Info Update, optional) - Informative message to display on the registration survey page + `survey_time_limit`: 15 (number, optional) - survey registration time limit (in minutes) + `survey_respondent`: `ticket_buyer` (array[string], optional) - which respondent type the information must be collected for (ticket_buyer or attendee) + Members + ticket_buyer + attendee + `survey_ticket_classes` (array[string], optional) - Which ticket classes the information must be collected for ### Confirmation Message Update(object) + html: <H1>Confirmation Message</H1> (string, optional) - Confirmation message to display on order completion ### Instructions Update(object) + html: <H1>Instructions</H1> (string, optional) - Instructions to display on the ticket ### Sales Ended Message Update (object) + html: <H1>Sales Ended Message</H1> (string, optional) - Message to display after ticket sales end ### Survey Info Update (object) + html: <b>Filling in this survey is required to attend the event</b> (string, optional) - Informative message to display on the registration survey page (including HTML) <!-- questions.apib --> ### Canned Question (object) + `resource_uri`: `https://www.eventbriteapi.com/v3/events/12345/canned_questions/job_title/` (string) + id: `job_title` (string) + question (object) + text: Job Title (string) + html: Job Title (string) - Question displayed to the recipient + type: text (string) + required: false (boolean) + include: true (boolean) - is this question enabled for the purchase flow + editable: true (boolean) - is this question editable by the organizer + choices (array) + `ticket_classes` (array) + `group_id`: work_information (string) + `group_display_header`: Work Info (string) + respondent: `ticket_buyer` (string) + `default_value` (string, nullable) ### Canned Question Create (object) + question (object, optional) + html: First Name (string) - Question displayed to the recipient + required: true (boolean, optional) - Is an answer to this question required for registration? + type: text (enum[string], optional) - Type of Question + Members + checkbox + dropdown + text + paragraph + radio + waiver + `respondent (DEPRECATED)`: `ticket_buyer` (enum[string], optional) - (DEPRECATED: This param will be removed from June 1, 2021, Use: Ticket Buyer Settings - Update) Ask this question to the ticket buyer or each attendee. When this value is not sent, the survey_type value of the event will not be updated. + Members + ticket_buyer + attendee + waiver (string, optional) - Waiver content for questions of type waiver + choices (array[Canned Question Choices], optional) - Choices for multiple choice questions. Format:[{“answer”: {“html”: “Choice goes here...”}}, {“answer”: {“html”: “Another choice goes here...”}}] + `ticket_classes (DEPRECATED)` (array[Question Ticket Class], optional) - (DEPRECATED: This param will be removed from June 1, 2021, Use: Ticket Buyer Settings - Update) Tickets to which to limit this question. Format: [{“id”: “1234”}, {“id”: “4567”}] + `parent_choice_id` (string, optional) - ID of Parent Question (for subquestions) + `canned_type` (enum, required) - String value of canned_type + prefix - Prefix + first_name - First Name + last_name - Last Name + suffix - Suffix + email - Email Address + home_phone - Home Phone + cell_phone - Cell Phone + tax_info - Tax & Business Info + bill - Billing Address, buyer only + cc - Card Info, buyer only + home - Home Address + ship - Shipping Address + job_title - Job Title + company - Company / Organization + work - Work Address + work_phone - Work Phone + website - Website + blog - Blog + sex - Gender + birth_date - Birth Date + age - Age ### Canned Question Choices (object) + answer (object) + html: Choice goes here... (string) ### Base Question (object) + `resource_uri`: `https://www.eventbriteapi.com/v3/events/12345/questions/123456789/` (string) + id: `123456789` (string) + question (object) + text: Custom Question Title (string) - Question displayed to the recipient + html: Question Title (string) - Question displayed to the recipient + required: true (boolean, optional) - Is an answer to this question required for registration? + display_answer_on_order: true (boolean) - Is this question displayed on order confirmation? + type: checkbox (enum[string]) - Type of Question + Members + checkbox + dropdown + text + paragraph + radio + waiver + respondent: `ticket_buyer` (enum[string]) - Ask this question to the ticket buyer or each attendee. + Members + ticket_buyer + attendee + waiver (string, optional) - Waiver content for questions of type waiver + choices (array[Question Choices], optional) - Choices for multiple choice questions. Format:[{“answer”: {“html”: “Choice goes here...”}}, {“answer”: {“html”: “Another choice goes here...”}}] + `ticket_classes` (array[Question Ticket Class], optional) - Tickets to which to limit this question. Format: [{“id”: “1234”}, {“id”: “4567”}] + `parent_id`: `24038723` (string, optional) - ID of Parent Question (for subquestions) + `parent_choice_id`: `66915463` (string, optional) - ID of Parent Question Choice (for subquestions) + sorting: 5 (number, nullable) - Unsigned integer defining the order of the question in the list ### Base Question Create (object) + question (object) + html: Question Title (string) - Question displayed to the recipient + required: true (boolean, optional) - Is an answer to this question required for registration? + type: checkbox (enum[string]) - Type of Question + Members + checkbox + dropdown + text + paragraph + radio + waiver + respondent: `ticket_buyer` (enum[string]) - Ask this question to the ticket buyer or each attendee. + Members + ticket_buyer + attendee + waiver (string, optional) - Waiver content for questions of type waiver + choices (array[Question Choices Create], optional) - Choices for multiple choice questions. Format:[{“answer”: {“html”: “Choice goes here...”}}, {“answer”: {“html”: “Another choice goes here...”}}] + `ticket_classes` (array[Question Ticket Class Create], optional) - Tickets to which to limit this question. Format: [{“id”: “1234”}, {“id”: “4567”}] + `parent_id` (string, optional) - ID of Parent Question (for subquestions) + `parent_choice_id` (string, optional) - ID of Parent Question Choice (for subquestions) + `display_answer_on_order` (boolean, optional) - Is this question displayed on order confirmation? ### Question Choices (object) + answer (object) + text: Choice 1 (string) + html: Choice 1 (string) + quantity_available: 250 (number) + quantity_sold: 5 (number) + low_stock: 250 (number) + id: 123456 (string) + `subquestion_ids` (array) ### Question Choices Create (object) + answer (object) + text: Choice 1 (string) + html: Choice 1 (string) + quantity_available: 250 (number) ### Question Ticket Class (object) + id: 1234 (string) + name: Ticket class name (string) ### Question Ticket Class Create(object) + id: 1234 (string) <!-- seat_map.apib --> ### Seat Map (object) + name: Tier 1 (string, nullable) - Name of this seat map + event_id: 5678 (string) - Event ID that this seat map belongs to + venue_id: 5678 (string) - Venue ID that this seat map belongs to + capacity: 1 (number) - Total capacity of this seat map. 0 if capacity cannot be calculated for draft seat map. + thumbnail_url (string, nullable) - URL of a 660x660 .png image of this seat map <!-- inventory_tiers.apib --> ### Inventory Tier Create (object) + name: Tier 1 (string) - The inventory tier name + tier: 1 (number) - Small unique integer within each seat map that can be assigned to seats in seat map. Each seat in seat map is assigned to a small integer tier 1, 2, 3, etc. When seat map is copied to another event, this tier number also remains unchanged though tier id changes since id is unique across all events. + `seatmap_number`: 1 (enum[number], optional) - Seat map number of this inventory tier + Members + 0 - For general admission tiers. Reserved seating events can also have seatmap_number=0 for GA tiers like add-on tiers + 1 - For reserved seating tiers. + sort_order: 1 (number) - The sort order of this inventory tier + color: #fac114 (string, optional) - Hex representation of tier color + quantity_total: 30 (number) - The number of available quantities + count_against_event_capacity: true (boolean) - If this inventory tier is counted against event capacity. This should be set to false for inventory tiers for add-on tickets. + image_id: 1234 (string, nullable, optional) - Image ID for this inventory tier. null if no image is set. ### Inventory Tier (Inventory Tier Create) + id: 1234 (string) - ID of the inventory tier + event_id: 5678 (string) - Event ID for this inventory tier + quantity_held: 5 (number, optional) - Deprecated. Do not use. + quantity_sold: 10 (number) - Number of sold tickets for this inventory tier + quantity_pending: 2 (number) - Number of pending tickets for this inventory tier + ticket_class_ids: 1234, 5678 (array[string], optional) - Ticket class IDs associated with this inventory tier + `capacity_total`: 100 (number) - Total capacity of this inventory tier including quantity_total for all child hold inventory tiers. + holds (array[Hold Response], nullable, optional) - List of child hold inventory tiers under this inventory tier. null if not a parent tier. ### Inventory Tier Update Base (object) + name: Tier 1 (string, optional) - The inventory tier name + sort_order: 1 (number, optional) - The sort order of this inventory tier + color: #fac114 (string, optional) - Hex representation of tier color + `quantity_total`: 30 (number, optional) - The number of available quantities. Only accepted for GA tiers `(seatmap_number=0, which is default)` + image_id: 1234 (string, nullable, optional) - Image ID for this inventory tier. Setting this to null will remove image from this inventory tier. + `capacity_total`: 100 (number, optional) - Total capacity of this inventory tier including quantity_total for all child hold inventory tiers. + holds (array[Hold Update], nullable, optional) - List of child hold inventory tiers under this inventory tier. null if not a parent tier. ### Inventory Tier Update (Inventory Tier Update Base) + id: 1234 (string) - ID of the inventory tier ### Capacity Tier (object) + event_id: 5678 (string) - Event ID for this capacity tier + quantity_pending: 2 (number) - Number of pending tickets from event capacity, not including pending tickets from capacity holds + quantity_sold: 10 (number) - Number of sold tickets from event capacity, not including sold tickets from capacity holds + quantity_total: 30 (number) - The number of available quantities from event capacity, not including quantity held from capacity + capacity_pending: 10 (number) - Number of pending tickets from event capacity + capacity_sold: 20 (number) - Number of sold tickets from event capacity + capacity_total: 100 (number) - Total capacity of the event + capacity_is_custom: true (boolean) - If True, the value of capacity is a custom-set value; if False, it's a calculated value of the total of all ticket capacities. + holds (array[Hold Response]) - List of child hold inventory tiers under this capacity tier. ### Capacity Tier Update (object) + capacity_total: 100 (number, nullable, optional) - Total capacity of the event. Setting this to null will un-set the custom event capacity and is only allowed if there are no existing capacity hold inventory tiers. + holds (array[Hold Update], optional) - List of child hold inventory tiers under this capacity tier. <!-- event-holds.apib --> ### Hold Response (object) + `id`: `I1234` (string) - ID of the hold + `event_id`: `5678` (string) - Event ID for this hold + `name`: `Marketing` (string) - Name of the hold + `abbreviation`: MKT (string, nullable) - Abbreviation of the hold if defined + `sort_order`: `1` (number) - Index for sorting display + `color`: `#fac114` (string, nullable) - Hex representation of hold color if defined + `quantity_sold`: `10` (number) - Number of sold tickets from this hold + `quantity_total`: `30` (number) - Number of total quantity for this hold, including quantity sold/pending from this hold + `quantity_pending`: `5` (number) - Number of tickets which are pending (carted, for example) for this hold ### Reserved Seating Hold Create (object) + `name`: `Marketing` (string, required) - Name of the hold. + `abbreviation`: `MKT` (string, required) - Abbreviation of the hold. + `sort_order`: `1` (number, optional) - Index for sorting display. The smaller sort_order is shown first. If not supplied, the oldest hold is displayed first. + `color`: `#fac114` (string, optional) - Hex representation of hold color if defined. Default is black if not supplied. ### Reserved Seating Hold Update (object) + `name`: `Marketing` (string, optional) - Name of the hold. + `abbreviation`: `MKT` (string, optional) - Abbreviation of the hold. + `sort_order`: `1` (number, optional) - Index for sorting display. The smaller sort_order is shown first. + `color`: `#fac114` (string, optional) - Hex representation of hold color if defined. default is black if not supplied. + `is_deleted`: `false` (boolean, optional) - If this hold is to be deleted ### Hold Update (object) + `id`: `H1234` (string, optional) - ID of the hold. Setting this to null will create a new hold. + `event_id`: `5678` (string, optional) - Event ID for this hold. Required when creating a new hold. + `name`: `Marketing` (string, optional) - Name of the hold. Required when creating a new hold. + `abbreviation`: `MKT` (string, optional) - Abbreviation of the hold if defined. + `sort_order`: `1` (number, optional) - Index for sorting display. The smaller sort_order is shown first. + `color`: `#fac114` (string, optional) - Hex representation of hold color if defined. Default is black if not supplied when creating a new hold. + `quantity_total`: `30` (number, optional) - Number of total quantity for this hold, including quantity sold/pending from this hold. Required when creating a new general admission hold or event capacity hold. This field is not accepted as an input for reserved seating hold. + `is_deleted`: `false` (boolean, optional) - If this hold is to be deleted ### Event Listing Properties (object) + `seatmap_thumbnail_url`: `https://eventbrite-qa.s3.amazonaws.com/inventory_service/event-52720226617/images/seatmap-20190703184903721362.png` (string, nullable) - URL for the seatmap overview image (only if event is reserved) + `is_paid`: true (boolean, required) - Does the event have paid tickets? <!-- payment-capability.apib --> ### Instrument Type (enum[string]) + CREDIT_CARD + NONCE_BRAINTREE + BOLETO_BANCARIO + ADYEN_POS_PAYMENT + MERCADO_PAGO_POS + BARCODE + IDEAL + PAYPAL + MAESTRO_BANCONTACT + SEPA_DIRECT_DEBIT + AFFIRM + SOFORT + USER_INSTRUMENT ### Payment Method (enum[string]) + VISA + MASTERCARD + AMEX + DISCOVER + NARANJA + NATIVA + MERCADO_PAGO + HIPERCARD + ELO + VISA_DEBIT + MAESTRO + TOKEN + OXXO + PAGOFACIL + RAPIPAGO ### Payment Type (enum[string]) + EVENTBRITE + PAYPAL + AUTHNET + OFFLINE + MANUAL ### Ideal Bank (object) + bank_id (string) + bank_name (string) ## Amount (object) + currency: USD (string, required) - The ISO 4217 3-character code of a currency + value: 432 (number, required) - The integer value of units of the minor unit of the currency (e.g. cents for US dollars) ### Payment Capability (object) + type (Payment Type) + instrument_type (Instrument Type) + payment_methods (array[Payment Method]) + note (string) + ideal_banks (array[Ideal Bank]) ### Payment Constraint Create (object) + instrument_type (Instrument Type, required) - Name of the payment instrument for this constraint. + payment_method (Payment Method, optional) - granular name of the instrument type. ### Payment Constraint (Payment Constraint Create) + id: 12345 (string) - Payment Constraint ID <!-- subscriptions.apib --> ### Attendee Search Order (enum[string]) + `changed_since_asc` - Changed since date, ascending + `changed_since_desc` - Changed since date, descending + `created_after_asc` - Created after date, ascending + `created_after_desc` - Created after date, descending (default) + `email_asc` - Email, ascending + `email_desc` - Email, descending + `event_id_asc` - Event Id, ascending + `event_id_desc` - Event Id, descending + `id_asc` - Attendee Id, ascending + `id_desc` - Attendee Id, descending + `name_asc` - Concatenation of "first_name last_name", ascending + `name_desc` - Concatenation of "first_name last_name", descending ### Product Feature (enum[string]) + `embedded_checkout` + `email_campaigns` + `link_event_to_facebook` + `toneden_integration` ### Product Feature Usage (object) + `entity_id`: 1002 (string) - The id of either the Organization or the Event, depending of what was requested + `product_feature` (Product Feature) - The product feature name. + `status`: disabled (enum) - The activation status for the feature on this event + Members + disabled - The feature is disabled. It may have been used in the past. + enabled - The feature is enabled and all the required information was provided. + enabled_incomplete - The feature was enabled, but it's not usable at the moment because some information is missing. <!-- structured_content.apib --> <!-- structured_content_data_structures.apib --> ### Structured Content Purpose (enum[string]) + listing - optional, default. structured content for the event description on the event listing page. + digital_content - structured content for digital content. Digital content is a page created by online event creators for their attendees for specific online related materials - such as links to webinars, livestreams, etc. ### Structured Content Page Access Type (enum[string]) + `private` - all page modules are hidden by default. Modules with non-empty ticket_class_ids will be visible to holders of those ticket classes. + `public` - all page modules are visible by default to all users unless the modules have non-empty ticket_class_ids. ### Structured Content Page (object) + access_type (Structured Content Page Access Type) - determines if the page can be accessed by users who are not logged in. Only applies to pages with purpose equal to digital-content. + modules (array[Structured Content Text Module, Structured Content Image Module, Structured Content Video Module]) - array of modules associated with the page + widgets (array[Structured Content Agenda Widget, Structured Content FAQs Widget]) - array of widgets associated with the page + page_version_number (string) - the version of the page object (every time modules get updated, a new page object with the same id but new version gets created) + pagination (Pagination) + purpose (Structured Content Purpose) + resource_uris (Resource URIs ) - uris to help with creating, publishing, preview modules ### Structured Content Text Module (object) + id (string) + data (Structured Content Text Module Data) - the actual content of a module. This is an example of a text module data. + layout (Structured Content Module Layout) + timed_display (Timed Display) - If this is included, then that means module is viewable only between/after certain date time. Only used with the Digital Content feature - not currently available for Event Description. + resource_uris (object) + semantic_purpose (string) - purpose the module fulfills. + type: text (string) ### Structured Content Image Module (object) + id (string) + data (Structured Content Image Module Data) - the actual content of a module. This is an example of an image module data. + layout (Structured Content Module Layout) + timed_display (Timed Display) - If this is included, then that means module is viewable only between/after certain date time. Only used with the Digital Content feature - not currently available for Event Description. + resource_uris (object) + semantic_purpose (string) - purpose the module fulfills. + type: image (string) ### Structured Content Video Module (object) + id (string) + data (Structured Content Video Module Data) - the actual content of a module. This just an example of a video module data. + layout (Structured Content Module Layout) + timed_display (Timed Display) - If this is included, then that means module is viewable only between/after certain date time. Only used with the Digital Content feature - not currently available for Event Description. + resource_uris (object) + semantic_purpose (string) - purpose the module fulfills. + type: video (string) ### Structured Content Create Text Module (object) + data (Create Structured Content Text Module Data) - the actual content of a module. This just an example of a text module data. For more examples, please refer to the [event description tutorial](https://www.eventbrite.com/platform/docs/event-description). + layout (Structured Content Module Layout, optional) + timed_display (Timed Display, optional). If this is included, then that means module is viewable only between/after certain date time. Only used with the Digital Content feature - not currently available for Event Description. + semantic_purpose (string, optional) - purpose the module fulfills. + type: text (string) - Must correlate with the data of the module. ### Structured Content Create Image Module (object) + data (Create Structured Content Image Module Data) - the actual content of a module. This just an example of a image module data. + layout (Structured Content Module Layout, optional) + timed_display (Timed Display, optional). If this is included, then that means module is viewable only between/after certain date time. Only used with the Digital Content feature - not currently available for Event Description. + semantic_purpose (string, optional) - purpose the module fulfills. + type: image (string) - Must correlate with the data of the module. ### Structured Content Create Video Module (object) + data (Create Structured Content Video Module Data) - the actual content of a module. This just an example of a video module data. + layout (Structured Content Module Layout, optional) + timed_display (Timed Display, optional). If this is included, then that means module is viewable only between/after certain date time. Only used with the Digital Content feature - not currently available for Event Description. + semantic_purpose (string, optional) - purpose the module fulfills. + type: video (string) - must correlate with data of the module ### Structured Content Module Layout (enum[string]) + image_left + image_top + image_grid + carousel + grid ### Structured Content Text Alignment (enum[string]) + left + right + center ### Structured Content Text Module Data (object) + body (object) + alignment (Structured Content Text Alignment) + text (string) - The HTML-aware string to use for this part of the event's description (HTML tags allowed: anchor, strong, em, paragraph, lists). ### Create Structured Content Text Module Data (object) + body (object) + alignment (Structured Content Text Alignment) + text (string) - The HTML-aware string to use for this part of the event's description (HTML tags allowed: anchor, strong, em, paragraph, lists). ### Structured Content Image Module Data (object) + image + image_id (string, required) - The ID of the image. See Media section for how to upload images. + display_size (enum[string]) - The size of the image. + small + medium + large + corner_style (enum[string]) - Which corner style to use. + rounded - Rounded image corners + rectangular - Rectangular image corners + alt (string) - The text to use as the alternative text for the image + caption (Structured Content Text Module Data) + id ### Create Structured Content Image Module Data(object) + image (object) + image_id (string) - the image_id provided by uploading an image through Eventbrite media upload. + caption (Create Structured Content Text Module Data) ### Structured Content Video Module Data (object) + video (object) + display_size (string) + Members + large + medium + small + embed_url (string) + thumbnail_url (string) + url (string) + caption (Structured Content Text Module Data) ### Create Structured Content Video Module Data (object) + video (object) + display_size (string) + Members + large + url (string) - for purposes of the event listing page, can only be YouTube. + caption (Create Structured Content Text Module Data) ### Timed Display (object) + absolute_start_utc (string) - UTC ISO601 string format "2019-11-30T19:00:00Z". Start time when a module is viewable. Either absolute_start_utc/absolute_end_utc OR relative_start/relative_end should be provided - both sets cannot be. + absolute_end_utc (string) - UTC ISO601 string format "2019-11-30T19:00:00Z". End time when a module is viewable. Optional - if absolute_end_utc is provided, then absolute_start_utc must be provided with it. + relative_start (number) - Minutes to which a module is relatively shown. Either absolute_start_utc/absolute_end_utc OR relative_start/relative_end should be provided - both sets cannot be. + relative_end (number) - Minutes to which a module is relatively hidden. Optional - if relative_end is provided, then relative_start must be provided with it. ### Resource URIs (object) + add_module (string) - URL to add a module for the provided page version + preview_module (string) - URL to preview a module for the provided page version + publish (string) - URL to publish a module for the provided page version + self (string) - URL to structured content page for the provided page version ### Event Privacy Schedule Response (object) + id: 1 (string) + schedule_date: `2020-02-04T17:10:00Z` (datetime) + privacy_type (enum[string]) + public + password_required + invitation_required + link_required + status (enum[string]) + pending + resolved + deleted + event_id: 12345 (string) ### Organizer Credit Information (object) + total_initial_amount (Currency Cost) - Represents the approximate total amount of money that the organizer has granted to all their attendees in concept of creator credits. + total_redeemed_amount (Currency Cost) - Represents the approximate total amount of money that has been already redeemed by the attendees for the organizer. + available_cards: 0 (number) - Represents the approximate total amount of virtual incentives cards that at the moment still have balance greater than 0. <!-- zoom.apib -->