| list_organizationsA | List organizations that the authenticated user is a member of. ENDPOINT: GET /users/me/organizations/ An Organization represents a business structure (like a Marketing department) where Events are created and managed. Organizations are owned by one User and can have multiple Members. Organizations group Members, Roles, Venues, and Assortments. IMPORTANT: The organization_id returned by this endpoint must be obtained via API request. It is NOT the same as the organizer_id found in an Organizer Profile URL. ORGANIZATION OBJECT FIELDS: id (string): Organization ID (required for API calls like creating events, listing organization events) name (string): Organization name image_id (string, optional): ID of organization image vertical (string): Business vertical type
USE CASES: Get organization IDs needed for other API operations Create events under an organization (requires organization_id) List events for an organization Manage organization members and roles
RESPONSE: AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_eventsB | List Events by Organization ID. Returns a paginated response. ENDPOINT: GET /organizations/{organization_id}/events/ PARAMETERS: organization_id (string, required): Organization ID name_filter (string, optional): Filter Organization's Events by specified name currency_filter (string, optional): Filter Organization's Events by specified currency (e.g., USD) order_by (enum, optional): Sort order for the list of Events
• start_asc, start_desc, created_asc, created_desc, name_asc, name_desc series_filter (array[enum], 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.
• allevents: non-series & child series & parent series. Equivalent to [children,parents,nonseries] or [allevents,nonseries]
• children: only child series
• parents: only parent series
• nonseries: non-series events
• allseries: only series events. Equivalent to [children,parents] show_series_parent (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 (enum, optional): Filter Organization's Events by status. Specify multiple status values as a comma delimited string.
• 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 (number, optional): Number of records to display on each page of the list (default: 50) time_filter (string, optional): Limits the list results to either past or current and future Events
• 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], optional): Filter Organization's Events by Inventory Type
• limited: limited quantity inventory/GA
• reserved: Reserved inventory
• externally_ticketed: Externally ticketed event (no inventory) event_ids_to_exclude (array[string], optional): IDs of events to exclude from the Organization's Events list event_ids (array[string], optional): IDs of events to include from the Organization's Events list collection_ids_to_exclude (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.
ERROR RESPONSES: |
| get_eventA | Retrieve an Event by Event ID. ENDPOINT: GET /events/{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. EVENT OBJECT - PUBLIC FIELDS: name (multipart-text): Event name summary (string, optional): Event summary. Short summary describing the event and its purpose description (multipart-text, optional, DEPRECATED): Event description. Description can be lengthy and have significant formatting url (string): URL of the Event's Listing page on eventbrite.com start (datetime-tz): Event start date and time end (datetime-tz): Event end date and time 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, canceled currency (string): Event ISO 4217 currency code online_event (boolean): true = Specifies that the Event is online only (i.e. the Event does not have a Venue) 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
EVENT OBJECT - PRIVATE FIELDS (only available to User): listed (boolean): true = Allows the Event to be publicly searchable on the Eventbrite website shareable (boolean): true = Event is shareable, by including social sharing buttons for the Event to Eventbrite applications invite_only (boolean): true = Only invitees who have received an email inviting them to the Event are able to see Eventbrite applications show_remaining (boolean): true = Provides, to Eventbrite applications, the total number of remaining tickets for the Event password (string): Event password used by visitors to access the details of the Event capacity (integer): Maximum number of tickets for the Event that can be sold to Attendees. The total capacity is calculated by the sum of the quantity_total of the Ticket Class 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
AVAILABLE EXPANSIONS:
Use ?expand=expansion_name to include additional data: logo: Event image logo venue: Event Venue organizer: Event Organizer format: Event Format category: Event Category subcategory: Event Subcategory bookmark_info: Indicates whether a user has saved the Event as a bookmark refund_policy: Event Refund Policy ticket_availability: Overview of availability of all Ticket Classes external_ticketing: External ticketing data for the Event music_properties: Event Music Properties publish_settings: Event publish settings 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's sales status details checkout_settings: Event checkout and payment settings listing_properties: Display/listing details about the event has_digital_content: Whether or not an event Has Digital Content
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| create_eventA | Create a new Event. ENDPOINT: POST /organizations/{organization_id}/events/ 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. REQUIRED PARAMETERS: organization_id (string): ID of the Organization that owns the Event name (htmltext, required): Event name. Value cannot be empty nor whitespace start (datetime-tz-utc, required): Start date/time of the event with timezone and UTC end (datetime-tz-utc, required): End date/time of the event with timezone and UTC currency (string, required): The ISO 4217 currency code for this event (e.g., USD, EUR, GBP)
OPTIONAL PARAMETERS: 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 to learn about the new way to create an event description hide_start_date (boolean, optional): Whether the start date should be hidden hide_end_date (boolean, optional): Whether the end date should be hidden online_event (boolean, optional): If this event doesn't have a venue and is only held online (default: false) 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 (boolean, optional): Is this event publicly searchable on Eventbrite? (default: true) shareable (boolean, optional): Can this event show social sharing buttons? (default: false) invite_only (boolean): Can only people with invites see the event page? show_remaining (boolean, optional): If the remaining number of tickets is publicly visible on the event page password (string): Password needed to see the event in unlisted mode capacity (number, optional): Set specific capacity (if omitted, sums ticket capacities) is_reserved_seating (boolean, optional): If the event is reserved seating is_series (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 (boolean, optional): For reserved seating event, if attendees can pick their seats show_seatmap_thumbnail (boolean, optional): For reserved seating event, if venue map thumbnail visible on the event page show_colors_in_seatmap_thumbnail (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)
SUPPORTED LOCALES:
de_AT, de_CH, de_DE, en_AU, en_CA, en_DK, en_FI, en_GB, en_HK, en_IE, en_IN, en_NZ, en_SE, en_US, es_AR, es_CL, es_CO, es_ES, fr_BE, fr_CA, fr_CH, fr_FR, hi_IN, it_IT, nl_BE, nl_NL, pt_BR, pt_PT ERROR RESPONSES: 400 DATE_CONFLICT: Start date cannot be after end date 400 DIFFERENT_TIMEZONES: You have passed different timezones for the start and end times; they must be the same 400 INVALID_DATE: Start and end dates cannot be in the past 400 INVENTORY_TYPE_CONFLICT: Only a single inventory type may be set at once 400 INVITE_CONFLICT: You have set both listed and invite_only; these two options are mutually exclusive, and you are only allowed to set one 400 NO_DEFAULT_ORGANIZER: The event does not have an organizer ID, and no default organizer could be found for the user 400 NO_PACKAGE_SELECTED: You need to select a package to create an event. Go to /organizations/{organization_id}/assortment/ to select a package 400 NO_VENUE: You have attempted to create an event without a venue 400 PASSWORD_CONFLICT: You have set both listed and password; these two options are mutually exclusive, and you are only allowed to set one 400 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 400 UNSUPPORTED_TIMEZONE: The time zone for the start and end times does not exist 400 VENUE_AND_ONLINE: You have set both online_event and venue_id; an event can either have a venue or be online, but not both at the same time 400 SUMMARY_DESCRIPTION_CONFLICT: You have set values for both summary and description; these two options are mutually exclusive, and you may only set one
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| update_eventA | Update an Event by Event ID. ENDPOINT: POST /events/{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. EVENT OBJECT - PUBLIC FIELDS (can be updated): name (multipart-text): Event name summary (string, optional): Event summary. Short summary describing the event and its purpose description (multipart-text, optional, DEPRECATED): Event description. Use summary instead start (datetime-tz): Event start date and time end (datetime-tz): Event end date and time currency (string): Event ISO 4217 currency code online_event (boolean): true = Event is online only (no Venue) hide_start_date (boolean): If true, event's start date never displayed to attendees hide_end_date (boolean): If true, event's end date never displayed to attendees
EVENT OBJECT - PRIVATE FIELDS (can be updated): listed (boolean): true = Event publicly searchable on Eventbrite shareable (boolean): true = Event is shareable with social buttons invite_only (boolean): true = Only invitees can see the event show_remaining (boolean): true = Show remaining ticket count password (string): Password to access event details capacity (integer): Maximum attendees (sum of ticket class quantities) capacity_is_custom (boolean): true = Use custom capacity, false = Calculate from ticket classes organizer_id (string): ID of event organizer venue_id (string): ID of event venue format_id (string): ID of event format category_id (string): ID of event category subcategory_id (string): ID of event subcategory logo_id (string): ID of event logo image is_reserved_seating (boolean): Whether event has reserved seating is_series (boolean): Whether this is a series parent event show_pick_a_seat (boolean): For reserved seating, show seat picker show_seatmap_thumbnail (boolean): Show seat map thumbnail show_colors_in_seatmap_thumbnail (boolean): Show colors in seat map thumbnail
POSSIBLE ERRORS (400): CANNOT_UPDATE_CURRENCY: Cannot update event with paid sales or reserved seats CANNOT_UPDATE_SOURCE: Event source can only be set during creation DATE_CONFLICT: End date must be after start date DIFFERENT_TIMEZONES: Start and end times must have same timezone INVALID_DATE: Start and end dates cannot be in the past INVENTORY_TYPE_CONFLICT: Only single inventory type may be set at once INVITE_CONFLICT: Cannot set both listed and invite_only NO_DEFAULT_ORGANIZER: No organizer ID and no default found NO_PAYMENT_OPTIONS: Event has paid tickets but no payment options NO_PACKAGE_SELECTED: Need to select package at /organizations/{id}/assortment/ NO_VENUE: Attempted to create event without venue PASSWORD_CONFLICT: Cannot set both listed and password PAYMENT_OPTIONS_DEPRECATED_SPLIT_FEES: Split fees no longer supported PAYMENT_OPTIONS_NO_COUNTRY: Paid tickets but no payment country PAYMENT_OPTIONS_NO_PAYMENT_TYPE: Paid tickets but no payment type PAYMENT_OPTIONS_PAYPAL_NO_EMAIL: PayPal configured but no email SHARE_INVITE_CONFLICT: Cannot set both shareable and invite_only UNSUPPORTED_TIMEZONE: Timezone does not exist VENUE_AND_ONLINE: Cannot set both venue_id and online_event SUMMARY_DESCRIPTION_CONFLICT: Cannot set both summary and description OCCURRENCE_TIMEZONE_UPDATE_NOT_ALLOWED: Cannot change timezone on series occurrence SERIES_PARENT_START_END_DATE_EDIT: Cannot set start/end on series parent OCCURRENCE_DURATION_TOO_LONG: Series occurrences cannot exceed 7 days IS_RESERVED_SEATING_UPDATE_NOT_ALLOWED_ON_SERIES_EVENTS: Reserved seating events cannot be recurring IS_SERIES_UPDATE_NOT_ALLOWED_ON_RESERVED_EVENTS: Reserved seating events cannot be recurring 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: Delete all occurrences to change to one-time event IS_SERIES_UPDATE_NOT_ALLOWED_ON_SERIES_OCCURRENCE: Cannot change occurrence to one-time event ARGUMENTS_ERROR: Errors with your arguments
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| publish_eventA | Publish an Event. ENDPOINT: POST /events/{event_id}/publish/ 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 cannot be published. REQUIREMENTS FOR PUBLISHING: Event must have a name Event must have a description or summary Event must have an organizer Event must have at least one ticket class If event has paid tickets, must have valid payment options configured: Payment country must be set Payment type must be configured If using PayPal, PayPal email must be specified Split fees are not supported (deprecated)
SERIES PARENT EVENTS: All occurrences must be in valid state Publishing parent publishes all occurrences Must have at least one date scheduled
RESPONSE:
Returns object with: POSSIBLE ERRORS (400): ALREADY_PUBLISHED_OR_DELETED: Event already published or deleted NO_PAYMENT_OPTIONS: Event has paid tickets but no payment options configured PAYMENT_OPTIONS_DEPRECATED_SPLIT_FEES: Split fees configured (no longer supported) PAYMENT_OPTIONS_NO_COUNTRY: Paid tickets but no payment country configured PAYMENT_OPTIONS_NO_PAYMENT_TYPE: Paid tickets but no payment type configured PAYMENT_OPTIONS_PAYPAL_NO_EMAIL: PayPal configured but no email specified PUBLISH_FREE_EVENT_FEATURE_DENIED: Reached limit of free events in Professional plan ERROR_CANNOT_PUBLISH_SERIES_WITH_NO_DATES: Series must have at least one date scheduled
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| unpublish_eventA | Unpublish an Event. ENDPOINT: POST /events/{event_id}/unpublish/ Returns boolean indicating success or failure of unpublish action. UNPUBLISH REQUIREMENTS: Free Event (including past): Must not have pending or completed orders Paid Event (completed/paid out): Can be unpublished Paid Event (not completed): Can only unpublish if no pending or completed orders
SERIES PARENT EVENTS: All occurrences must be in valid state to unpublish Unpublishing parent unpublishes all occurrences Series occurrence cannot be unpublished individually
RESPONSE: POSSIBLE ERRORS (400): NOT_PUBLISHED: Event not currently published, cannot unpublish CANNOT_UNPUBLISH: Cannot unpublish event with pending/completed sales (unless past/completed/paid out for paid tickets), or if series parent has occurrences in invalid state, or if trying to unpublish individual series occurrence
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| delete_eventA | Delete an Event if the delete is permitted. ENDPOINT: DELETE /events/{event_id}/ 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. WARNING: This action cannot be undone. Deleted events cannot be recovered. DELETION REQUIREMENTS: Event must not have any pending orders Event must not have any completed orders For series parents: all occurrences must meet deletion requirements
SERIES PARENT EVENTS: All occurrences must be in valid state for deletion Deleting parent deletes all occurrences Cannot delete if any occurrence has pending/completed orders
RESPONSE:
Returns object with: POSSIBLE ERRORS (400): ALREADY_DELETED: Event has already been deleted CANNOT_DELETE: Cannot delete event that has pending or completed orders, or series parent where any occurrence has pending or completed orders
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| cancel_eventA | Cancel an Event. ENDPOINT: POST /events/{event_id}/cancel/ Returns boolean indicating success or failure. CANCEL REQUIREMENTS: SERIES PARENT EVENTS: RESPONSE: POSSIBLE ERRORS (400): ALREADY_CANCELED: Event already canceled CANNOT_CANCEL: Event has pending/completed ticket sales that must be refunded first, or series parent has occurrences that cannot be canceled
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| copy_eventA | Copy an Event, creating duplicate with new Event ID. ENDPOINT: POST /events/{event_id}/copy/ Creates new Event based on existing Event. Returns Event object for newly created Event. COPIED ELEMENTS: Event payment options Payout method Refund policy Tax settings
POSSIBLE ERRORS (400): INSUFFICIENT_PACKAGE: Need to upgrade package. Go to /users/{user_id}/assortment/ INVALID_END_DATE: End date must be 1 minute to 365 days after start time INVALID_START_DATE: Start date must be between now and 10 years from now UNABLE_TO_COPY_EVENT: Currently unable to copy. Recovery not possible UNSUPPORTED_TIMEZONE: Timezone not supported
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_attendeesA | List Attendees by Event ID. Returns a paginated response. ENDPOINT: GET /events/{event_id}/attendees/ ATTENDEE OBJECT:
The Attendee object represents the details of Attendee (ticket holder to an Event). The model is one Attendee per each sold ticket. If the Event is specified to only collect information on the Order owner (the default), all returned Attendees have the same information, apart from the barcodes and Ticket Class ID. Attendee objects are considered private; meaning that all Attendee information is only available to the User and Order owner. ATTENDEE FIELDS RETURNED: 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 ticket cost breakdown profile (attendee-profile): Attendee basic profile information addresses (attendee-addresses): Attendee address questions (attendee-questions, optional): Custom questions for the Attendee answers (attendee-answers, optional): Attendee's answers to custom questions barcodes (attendee-barcodes): Attendee's entry bar code 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
PARAMETERS: event_id (string, required): Event ID status (enum, optional): Filter Attendees by status
• 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
AVAILABLE EXPANSIONS:
Use ?expand=expansion_name to include additional data: event: Attendee's Event order: Attendee's Order promotional_code: Promotional Code applied to Attendee's Order assigned_number: Attendee bib number, if one exists for a race or endurance Event answers: Attendee answers to custom questions survey: Custom questions presented to the Attendee survey_responses: Attendee's responses to survey questions assigned_unit: Attendee's seating assignment details if Event has reserved seating contact_list_preferences: Opt-in preferences for the email address associated with the Attendee
PAGINATION:
Returns paginated response with continuation token support AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_attendeeA | Retrieve an Attendee by Attendee ID. ENDPOINT: GET /events/{event_id}/attendees/{attendee_id}/ The Attendee object represents ticket holder details for an Event. One Attendee per sold ticket. If Event only collects Order owner info (default), all Attendees have same info except barcodes and Ticket Class ID. Attendee objects are private - only available to User and Order owner. ATTENDEE FIELDS: created (datetime): When order placed/attendee created changed (datetime): Last change to attendee ticket_class_id (string): Ticket Class used when registering variant_id (string): Variant of Ticket Class ticket_class_name (string): Name of Ticket Class quantity (integer): Always 1 costs (object): Ticket cost breakdown profile (object): Attendee basic profile addresses (object): Attendee addresses questions (array, optional): Custom questions answers (array, optional): Answers to custom questions barcodes (array): Entry bar codes team (object, optional): Team information affiliate (string, optional): Affiliate code checked_in (boolean): true = Checked in cancelled (boolean): true = Cancelled refunded (boolean): true = Receives refund status (string): Attendee status event_id (string): Event ID order_id (string): Order ID guestlist_id (string): Guest list ID (null = not a guest) invited_by (string): Who invited guest (null = not a guest) delivery_method (string): will_call, electronic, standard_shipping, third_party_shipping
ATTENDEE COSTS: base_price (currency): Price excluding fees/tax (don't expose if include_fee used) eventbrite_fee (currency): Fee (don't expose if include_fee used) tax (currency): Tax amount payment_fee (currency): Payment processing fee gross (currency): Total cost (base_price + eventbrite_fee + payment_fee + tax)
ATTENDEE PROFILE: name (string): Full name (use instead of first_name/last_name) email (string): Email address first_name, last_name (string): Use name instead prefix, suffix (string, optional): Title/honorific age (integer, optional): Age job_title, company, website, blog (string, optional) gender (string, optional): male or female birth_date (date, optional): Birth date cell_phone (string, optional): Mobile number
ATTENDEE ADDRESSES: home, ship, work (address, optional): Home, shipping, work addresses
ATTENDEE BARCODES: barcode (string): Barcode contents (null if: printable tickets off, delivery method mismatch, not electronic delivery) status (string): unused, used, or refunded created, changed (datetime): Creation and last change times is_printed (boolean): true = Ticket printed
AVAILABLE EXPANSIONS: event: Attendee's Event order: Attendee's Order promotional_code: Promo code applied to Order assigned_number: Bib number for race/endurance events answers: Answers to custom questions survey: Custom questions presented survey_responses: Responses to survey questions assigned_unit: Seating assignment details (reserved seating events) contact_list_preferences: Email opt-in preferences
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| create_ticket_classA | Create a new Ticket Class. ENDPOINT: POST /events/{event_id}/ticket_classes/ TICKET CLASS OBJECT:
The Ticket Class object represents a possible ticket class (i.e. ticket type) for an Event. 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 per one ticket model. TICKET CLASS 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 Donation: Order owner is prompted to enter at their own discretion an amount to donate during checkout. There is no fixed cost of donation
IMPORTANT NOTES: After May 7, 2020, you must provide an inventory_tier_id as part of your request for any ticket_classes you are creating or updating for a tiered event Add-On creation: First create an Add-On Inventory Tier with count_against_event_capacity set to false, then provide the inventory_tier_id when creating a new Ticket Class
REQUIRED PARAMETERS: event_id (string, required): Event ID name (string, optional): Name of this ticket type quantity_total (number, optional): 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
OPTIONAL PARAMETERS: cost (string, optional): Cost of the ticket (currently currency must match event currency). Format: "USD,4500" for $45.00. The value is in minor currency units (cents for USD) 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. 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 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, required): start_time or 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
ERROR RESPONSES: 400 AUTO_HIDE_NOT_SET: You must select an auto hide setting 400 BAD_QUANTITIES: The sum of tickets across ticket classes is not equal to the sum of total tickets available 400 COST_GREATER_THAN_FEE: The cost of the ticket class must be greater than the fee 400 CURRENCY_MISMATCH: Event currency ticket currency must match 400 DONATION_AND_COST: A ticket cannot be a donation and a charged ticket 400 DONATION_AND_FREE: A ticket cannot be a donation and a free ticket 400 DONATION_AND_MIN_QUANTITY: Please set a minimum quantity for donation ticket 400 FREE_AND_COST: A ticket cannot be a free ticket and a charged ticket 400 INSUFFICIENT_PACKAGE: You need to upgrade your package to create more than one ticket 400 INVALID_DELIVERY_METHOD: A ticket under this event organization cannot have this delivery method 400 INVALID_EVENT: This event is not qualified to have tickets 400 INVALID_EVENT_ID: Event id must match the event id associated with the ticket 400 INVALID_INVENTORY_TIER_ID: You cannot change the inventory tier of a ticket 400 INVALID_TICKET: You cannot update a child ticket directly 400 NO_COST: A price must be set for a charged ticket 400 NO_QUANTITY_TOTAL: A quantity total must be set for this ticket 400 SPLIT_AND_INCLUDE: You cannot split fees and include them in the price of the ticket 400 SPLIT_FEES_DEPRECATED: This functionality is being deprecated 400 SALES_END_RELATIVE_TOO_FAR_IN_PAST: The ticket sales_end relative can't result in a date < 2000
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_ticket_classA | Retrieve a Ticket Class by Ticket Class ID. ENDPOINT: GET /events/{event_id}/ticket_classes/{ticket_class_id}/ The Ticket Class object represents a possible ticket class (i.e. ticket type) for an Event. Multiple different types of tickets for an Event can be purchased in one transaction. TICKET CLASS TYPES: Free: No cost or currency. Event with only free tickets doesn't require payout info Paid: Associated cost in Event's currency Donation: Order owner enters amount to donate at checkout (no fixed cost)
TICKET CLASS OBJECT - PUBLIC FIELDS: name (string): Ticket Class name description (string, optional): Ticket Class description sorting (integer): Order in purchase flow on event listing page cost (currency): Display cost on Ticket Listing page (paid only) fee (currency): Display fee on Ticket Listing page (paid only) donation (boolean): true = Ticket Class is a Donation free (boolean): true = Ticket Class is Free minimum_quantity (integer): Minimum tickets per Order maximum_quantity (integer): Maximum tickets per Order has_pdf_ticket (boolean): true = Attendee receives PDF confirmation delivery_methods (list): electronic, will_call, standard_shipping, third_party_shipping on_sale_status (string): AVAILABLE or SOLD_OUT image_id (string): Image ID for ticket class (used for add-ons)
TICKET CLASS OBJECT - PRIVATE FIELDS (Organization Members only): capacity (integer): Number available for sale quantity_sold (integer): Number previously sold (excludes real-time purchases) hidden (boolean): true = Hidden from public sales_start (datetime): When sales begin sales_end (datetime): When sales end sales_end_relative (object): Relative values for sales_end (series parent tickets only) sales_start_after (string): Ticket Class ID that triggers sales start when it sells out include_fee (boolean): true = Fee included in displayed price (cannot use with split_fee) split_fee (boolean): true = Fee not included, actual_cost and actual_fee shown separately hide_description (boolean): true = Description hidden on Ticket Listing page hide_sale_dates (boolean): true = Sale dates hidden on event page auto_hide (boolean): true = Hidden when not for sale auto_hide_before (datetime): Override auto-hide disable time (default: sales_start) auto_hide_after (datetime): Override auto-hide enable time (default: sales_end) order_confirmation_message (string): Message shown when Order completed secondary_assignment_enabled (boolean): true = Secondary barcode assignment enabled (e.g., RFID)
AVAILABLE EXPANSIONS:
Use ?expand=expansion_name to include additional data: POSSIBLE ERRORS (400): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| update_ticket_classA | Update an existing Ticket Class for an event. ENDPOINT: POST /events/{event_id}/ticket_classes/{ticket_class_id}/ Supports partial updates. After May 7, 2020, inventory_tier_id is required for tiered events. TICKET CLASS OBJECT - PUBLIC FIELDS (can be updated): name (string): Ticket Class name description (string): Ticket Class description sorting (integer): Order in purchase flow cost (currency): Display cost (format: "CURRENCY,amount_in_cents" e.g., "USD,1000" for $10.00) donation (boolean): Is donation ticket free (boolean): Is free ticket minimum_quantity (integer): Minimum tickets per Order maximum_quantity (integer): Maximum tickets per Order delivery_methods (array): electronic, will_call, standard_shipping, third_party_shipping image_id (string): Image ID for ticket class
TICKET CLASS OBJECT - PRIVATE FIELDS (can be updated): quantity_total (integer): Total number available capacity (integer): Number available for sale hidden (boolean): Hidden from public sales_start (string): When sales begin (ISO 8601 datetime) sales_end (string): When sales end (ISO 8601 datetime) sales_start_after (string): Ticket Class ID that triggers sales start include_fee (boolean): Fee included in price (cannot use with split_fee) split_fee (boolean): Fee shown separately hide_description (boolean): Hide description on listing page hide_sale_dates (boolean): Hide sale dates on event page auto_hide (boolean): Hide when not for sale auto_hide_before (datetime): Override auto-hide disable time auto_hide_after (datetime): Override auto-hide enable time inventory_tier_id (string): Inventory tier ID (required for tiered events) order_confirmation_message (string): Message when Order completed secondary_assignment_enabled (boolean): Secondary barcode assignment (RFID)
POSSIBLE ERRORS (400): AUTO_HIDE_NOT_SET: Must select auto hide setting BAD_QUANTITIES: Sum of tickets doesn't equal total available COST_GREATER_THAN_FEE: Cost must be greater than fee CURRENCY_MISMATCH: Event and ticket currency must match DONATION_AND_COST: Cannot be both donation and charged ticket DONATION_AND_FREE: Cannot be both donation and free ticket DONATION_AND_MIN_QUANTITY: Set minimum quantity for donation ticket FREE_AND_COST: Cannot be both free and charged ticket INSUFFICIENT_PACKAGE: Need to upgrade package INVALID_DELIVERY_METHOD: Delivery method not allowed for this organization INVALID_EVENT: Event not qualified to have tickets INVALID_EVENT_ID: Event ID must match ticket's event INVALID_INVENTORY_TIER_ID: Cannot change inventory tier of ticket
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_ticket_classesA | List all ticket classes for an event. ENDPOINT: GET /events/{event_id}/ticket_classes/ Returns paginated list of ticket classes with complete details including name, description, cost, fee, capacity, quantity_sold, sales dates, hidden status, and delivery methods. TICKET CLASS TYPES: Free: No cost, no payout info required Paid: Has cost in event's currency Donation: Buyer enters amount at checkout
RESPONSE INCLUDES: TICKET CLASS FIELDS RETURNED:
PUBLIC: name, description, sorting, cost, fee donation, free, minimum_quantity, maximum_quantity has_pdf_ticket, delivery_methods, on_sale_status, image_id
PRIVATE (Organization Members): capacity, quantity_sold, hidden sales_start, sales_end, sales_end_relative, sales_start_after include_fee, split_fee, hide_description, hide_sale_dates auto_hide, auto_hide_before, auto_hide_after order_confirmation_message, secondary_assignment_enabled
FILTERING: AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_orderA | Retrieve an Order by Order ID. ENDPOINT: GET /orders/{order_id}/ The Order object represents an order made against Eventbrite for one or more Ticket Classes. A single Order can be made up of multiple tickets. Contains Order's financial and transactional information. Use Attendee object for attendee information. Order objects are private - only available to User and Order owner. ORDER FIELDS: created (datetime): When Order was placed and Attendee created changed (datetime): Last change to Attendee name (string): Order owner name (use instead of first_name/last_name) first_name (string): Order owner first name (deprecated, use name) last_name (string): Order owner last name (deprecated, use name) email (string): Order owner email costs (object): Cost breakdown event_id (string): Order's Event ID time_remaining (number): Time to complete Order (seconds) questions (array, optional): Custom questions for Order owner answers (array, optional): Answers to custom questions promo_code (string, optional): Discount code applied status (string): Order status
ORDER COSTS BREAKDOWN: base_price (currency): Amount without fees/tax (use display_price if include_fee used) display_price (currency): Correct amount when include_fee used display_fee (currency): Fees/tax included (absorbed) in displayed price gross (currency): Total Order amount eventbrite_fee (currency): Eventbrite fee (don't expose to Order owner) payment_fee (currency): Payment processor fee tax (currency): Tax amount display_tax (object): Tax with name price_before_discount (currency): Price before discount applied discount_amount (currency): Total discount (if applied) discount_type (string): coded, access, public, hold, or null fee_components (list): Fee cost components tax_components (list): Tax cost components shipping_components (list): Shipping cost components has_gts_tax (boolean): Has GTS tax tax_name (string): Tax name if applicable
AVAILABLE EXPANSIONS: event: Order's Event attendees: Order's Attendees merchandise: Merchandise in Order concierge: Order's concierge refund_requests: Order's refund request survey: Order's custom questions survey_responses: Responses to survey questions answers: Answers to custom questions ticket_buyer_settings: Purchaser information including confirmation messages contact_list_preferences: Email opt-in preferences
POSSIBLE ERRORS (400): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_ordersA | List orders for an event or organization. ENDPOINT: GET /events/{event_id}/orders/ OR GET /organizations/{organization_id}/orders/ Returns paginated list of orders. Orders are private - only available to authorized users. FILTERING OPTIONS: status: Filter by order status changed_since (datetime): Only orders changed on/after this time (ISO 8601) last_item_seen (string): With changed_since, orders after this time with ID > last_item_seen only_emails (array): Only include orders from these email addresses exclude_emails (array): Exclude orders from these email addresses refund_request_statuses (array, event only): Filter by refund status completed, pending, outside_policy, disputed, denied
ORDER FIELDS RETURNED: created, changed: Timestamps name, first_name, last_name, email: Order owner info costs: Complete breakdown (base_price, display_price, eventbrite_fee, payment_fee, tax, gross, discount_amount, discount_type) event_id: Event ID time_remaining: Seconds to complete status: Order status promo_code (optional): Discount code
RESPONSE: AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_categoryA | Get a category by ID. ENDPOINT: GET /categories/{id}/ Category is an overarching category that an event falls into (vertical). Examples: Music, Endurance. AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_categoriesA | List all categories. ENDPOINT: GET /categories/ Returns paginated list of categories including subcategories nested. AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_subcategoryB | Retrieve a Subcategory by ID. ENDPOINT: GET /subcategories/{subcategory_id}/ AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_subcategoriesB | List all subcategories. ENDPOINT: GET /subcategories/ Returns paginated response. AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_formatA | Retrieve a Format by ID. ENDPOINT: GET /formats/{format_id}/ Format represents event type (e.g., seminar, workshop, concert). AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_formatsB | List all available formats. ENDPOINT: GET /formats/ Returns paginated response. AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_discountC | Retrieve a Discount by ID. ENDPOINT: GET /discounts/{discount_id}/ DISCOUNT TYPES: Public: Publicly displays on Event Listing/Checkout (single event only) Coded: Requires secret code Access Code: Secret code for hidden tickets (optional discount amount) Hold: Unlock discount for seats on hold
DISCOUNT FIELDS: code (string): Discount name (public) or code (coded/access) type (string): access, coded, public, hold end_date (datetime): Usable until this date (relative to event timezone) end_date_relative (integer): Seconds before event start amount_off (decimal): Fixed amount 0.01-99999.99 (uses event currency) percent_off (decimal): Percentage 1.00-100.00 quantity_available (integer): Usage limit (0 = unlimited) quantity_sold (integer, readonly): Times used start_date (local datetime): Usable from this date start_date_relative (integer): Seconds before event start ticket_class_ids (list): Ticket Class IDs (empty = all tickets) event_id (string): Single Event ID (empty for cross-event) ticket_group_id (string): Ticket Group ID hold_ids (list): Hold IDs this unlocks
EXPANSIONS: event: Single Event for discount ticket_group: Ticket Group for discount reserved_seating: Reserved seating settings
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| create_discountA | Create a new Discount. ENDPOINT: POST /organizations/{organization_id}/discounts/ DISCOUNT TYPES: Public: Displays publicly (single event, no apostrophes/special chars except -_()/) Coded: Secret code required (no spaces/apostrophes/special chars except -_()/) Access Code: Secret code for hidden tickets (no spaces/apostrophes/special chars except -_()/) Hold: Unlock seats on hold
DISCOUNT SCOPE: event_id + ticket_class_ids: Specific tickets in single event event_id only: All tickets in single event ticket_group_id: Ticket Group discount Neither: All tickets for all organization events (including future)
FIELDS: code (string, required): Name (public) or code (coded/access) type (string, required): access, coded, public, hold amount_off (decimal): Fixed amount 0.01-99999.99 (event currency, 2 decimals) percent_off (decimal): Percentage 1.00-100.00 (2 decimals) quantity_available (integer): Usage limit (0 = unlimited) start_date (local datetime): Usable from (empty = immediately) start_date_relative (integer): Seconds before event start end_date (datetime): Usable until (empty = event end_date) end_date_relative (integer): Seconds before event start ticket_class_ids (list): Ticket Class IDs (empty = all) event_id (string): Single Event ID ticket_group_id (string): Ticket Group ID hold_ids (list): Hold IDs to unlock
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| update_discountB | Update a Discount by ID. ENDPOINT: POST /discounts/{discount_id}/ Same fields as create_discount. AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_discountsA | List Discounts by Organization. ENDPOINT: GET /organizations/{organization_id}/discounts/ Returns paginated response. FILTERS: scope (required): event, multi_events, user code_filter: Approximate match code/name code: Exact match code/name type: coded, access, public, hold ticket_group_id: Ticket Group ID event_id: Event ID (required for event scope) order_by: code_asc, code_desc, discount_type_asc, discount_type_desc, start_asc, start_desc hold_ids: Hold IDs (format: H123 or I123)
ERRORS (400): CODE_AND_CODE_FILTER_PROVIDED: Only one of code or code_filter INVALID_USAGE_FOR_EVENT_ID: Event ID cannot be used with multi_events scope ORDER_BY_NOT_SUPPORTED: Must provide code or code_filter for sorting
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| delete_discountA | Delete a Discount. ENDPOINT: DELETE /discounts/{discount_id}/ Only unused discounts can be deleted. Cannot be restored after deletion. ERRORS (400): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_venueA | Retrieve a Venue by ID. ENDPOINT: GET /venues/{venue_id}/ Venue represents location where Event takes place. Venues grouped by Organization. VENUE FIELDS: id (string): Venue ID name (string): Venue name address (address): Venue address age_restriction (string): Age restriction capacity (number): Maximum tickets that can be sold latitude (string): Latitude coordinates longitude (string): Longitude coordinates
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| create_venueC | Create new Venue under an Organization. ENDPOINT: POST /organizations/{organization_id}/venues/ VENUE FIELDS: name (string, required): Venue name address (object): Venue address with address_1, city, region, postal_code, country age_restriction (string): Age restriction capacity (number): Maximum tickets latitude (string): Latitude longitude (string): Longitude
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| update_venueB | Update a Venue by ID. ENDPOINT: POST /venues/{venue_id}/ VENUE FIELDS (all optional for update): name (string): Venue name address (object): Address age_restriction (string): Age restriction capacity (number): Max capacity
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_venuesB | List Venues by Organization. ENDPOINT: GET /organizations/{organization_id}/venues/ Returns paginated response. AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| create_webhookB | Create a Webhook by Organization ID. ENDPOINT: POST /organizations/{organization_id}/webhooks/ Webhook represents webhook associated with Organization. AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_webhooksA | List Webhooks by Organization ID. ENDPOINT: GET /organizations/{organization_id}/webhooks/ Returns paginated response. AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| delete_webhookB | Delete a Webhook by ID. ENDPOINT: DELETE /webhooks/{id}/ AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_mediaB | Retrieve Media by ID. ENDPOINT: GET /media/{media_id}/ Media represents image for Event listing. PARAMETERS: AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| upload_mediaB | Upload a Media image file. ENDPOINT: POST /media/upload/ ERRORS (400): BAD_FILE: File not valid BAD_FORMAT: File format not supported BAD_UPLOAD_TOKEN: Upload token invalid S3_ERROR: Error uploading to S3, try again
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_media_uploadA | Get Media Upload Information Endpoint: GET /media/upload/ Returns information about a media upload, including upload status and processing state. Authentication: Requires a valid Eventbrite API token with appropriate permissions. Use Cases: Check upload status after initiating a media upload Verify media processing completion Get media ID for use in events or organizers Monitor upload progress
Response Fields: id: Media upload ID upload_token: Token for the upload status: Upload status (pending, processing, complete, failed) media_type: Type of media (image-event-logo, image-organizer-logo, etc) url: URL of the uploaded media (when complete) created: Upload creation timestamp
Error Codes: 400: Invalid upload token 401: Authentication required 404: Media upload not found
|
| get_structured_contentA | Retrieve latest published structured content for event. ENDPOINT: GET /events/{id}/structured_content/ Returns latest published version. Must publish version first (publish=true in set). PURPOSE: RESPONSE: page_version_number: Current version modules: List of modules (text, image, video) widgets: List of widgets (agenda, faqs)
ERRORS (400): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| set_structured_contentA | Set structured content for event (create/update). ENDPOINT: POST /events/{id}/structured_content/{version}/ Structured content = modules (text, image, video) + widgets (agenda, faqs).
Must send publish=true with modules to make visible to public. MODULE TYPES: WIDGET TYPES: PURPOSE: ERRORS (400): NOT_AUTHORIZED: No permission PAGE_VERSION_DISCONTINUITY: Version mismatch MODULES_LIMIT_REACHED: Max 100 modules PAGE_VERSION_LIMIT_REACHED: Max 5000 versions
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_inventory_tierA | Retrieve an Inventory Tier by ID for an Event. ENDPOINT: GET /events/{event_id}/inventory_tiers/{inventory_tier_id}/ Inventory Tier controls capacity across multiple tickets. Supports GA holds. ERRORS (403): ERRORS (404): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| create_inventory_tierA | Create a new Inventory Tier for an Event. ENDPOINT: POST /events/{event_id}/inventory_tiers/ Max 100 tiers per event. ERRORS (400): ERRORS (403): ERRORS (404): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| create_multiple_inventory_tiersA | Create Multiple Inventory Tiers (Bulk) Endpoint: POST /events/{event_id}/inventory_tiers/ Creates multiple inventory tiers in a single request for efficient bulk operations. Authentication: Requires a valid Eventbrite API token with event management permissions. Use Cases: Set up multiple inventory tiers at once during event creation Bulk import inventory tier configurations Efficiently configure complex inventory structures Reduce API calls when setting up many tiers
Inventory Tier Fields: name: Tier name (required) quantity: Number of tickets in this tier price: Price for this tier (if applicable) sales_start: When sales begin for this tier sales_end: When sales end for this tier minimum_quantity: Minimum tickets per order maximum_quantity: Maximum tickets per order
Limits: Error Codes: 400: Invalid tier data or exceeds maximum tiers 401: Authentication required 403: Insufficient permissions 404: Event not found
|
| update_multiple_inventory_tiersA | Update Multiple Inventory Tiers (Bulk) Endpoint: POST /events/{event_id}/inventory_tiers/ Updates multiple inventory tiers in a single request for efficient bulk operations. Authentication: Requires a valid Eventbrite API token with event management permissions. Use Cases: Bulk update tier quantities or prices Synchronize tier configurations across multiple tiers Efficiently modify complex inventory structures Reduce API calls when updating many tiers
Updatable Fields: name: Tier name quantity: Number of tickets in this tier price: Price for this tier sales_start: When sales begin for this tier sales_end: When sales end for this tier minimum_quantity: Minimum tickets per order maximum_quantity: Maximum tickets per order
Important Notes: Each tier object must include its ID Only provided fields will be updated (partial updates supported) All tiers must belong to the specified event
Error Codes: 400: Invalid tier data or tier IDs 401: Authentication required 403: Insufficient permissions 404: Event or tier not found
|
| list_inventory_tiersA | List Inventory Tiers for an Event. ENDPOINT: GET /events/{event_id}/inventory_tiers/ FILTERS: ERRORS (403): ERRORS (404): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| update_inventory_tierB | Update an Inventory Tier by ID. ENDPOINT: POST /events/{event_id}/inventory_tiers/{inventory_tier_id}/ Supports partial updates. ERRORS (400): ERRORS (403): ERRORS (404): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| delete_inventory_tierA | Delete an Inventory Tier. ENDPOINT: DELETE /events/{event_id}/inventory_tiers/{inventory_tier_id}/ ERRORS (400): HAS_ATTENDEES: Cannot delete if purchased by attendees IS_STARTED_AFTER: Another ticket starts when this ends LAST_TICKET: Cannot delete last ticket while event live HAS_SEAT_ASSIGNMENTS: Cannot delete if seats still assigned
ERRORS (403): ERRORS (404): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_userB | Get authenticated user information. ENDPOINT: GET /users/me/ Returns current user details. AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_current_userA | Get Current User Endpoint: GET /users/me/ Returns information about the currently authenticated user (the user whose API token is being used). Authentication: Requires a valid Eventbrite API token. Use Cases: Verify authentication and token validity Get current user's ID for other API calls Display user information in applications Check user's name and email Verify user permissions and access
Response Fields: id: User ID name: User's full name first_name: User's first name last_name: User's last name email: User's email address emails: Array of email objects with verification status image_id: User's profile image ID
Error Codes: |
| get_organizationA | Get an Organization by ID. ENDPOINT: GET /organizations/{organization_id}/ Organization represents business structure where Events are created/managed. ORGANIZATION FIELDS: id (string): Organization ID name (string): Organization name image_id (string, optional): Image ID vertical (string): Business type (default or music)
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_organization_membersB | List Members of an Organization. ENDPOINT: GET /organizations/{organization_id}/members/ Returns paginated response. AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_display_settingsA | Retrieve Display Settings for an Event. ENDPOINT: GET /events/{event_id}/display_settings/ Display Settings control how Event appears on Event Listing page. AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| update_display_settingsB | Update Display Settings for an Event. ENDPOINT: POST /events/{event_id}/display_settings/ AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_event_descriptionA | Retrieve full HTML description for an Event. ENDPOINT: GET /events/{event_id}/description/ Returns fully rendered description as HTML string. Works with events created using New or Classic Create. PERMISSIONS:
event.details:read ERRORS (400): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_sales_reportA | Retrieve a sales Report by Event ID or status. ENDPOINT: GET /reports/sales/ PARAMETERS: event_ids (array[string], required): Event IDs event_status (string): all, live, ended start_date, end_date (string): Date range filter_by (string): Filter by ticket_ids, currencies group_by (string): payment_method, ticket, currency, event, country, etc. period (number): Time period in date_facet units date_facet (string): fifteen, hour, day, event_day, week, month, year, none timezone (string): Timezone (default: first event timezone)
ERRORS (400): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_attendee_reportA | Retrieve an Attendee Report by Event ID or status. ENDPOINT: GET /reports/attendees/ Same parameters as sales report. ERRORS (400): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_capacity_tierA | Retrieve capacity tier for an event. ENDPOINT: GET /events/{event_id}/capacity_tier/ Capacity tier for GA holds against event capacity (not tiered inventory). ERRORS (403): ERRORS (404): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| update_capacity_tierA | Update capacity tier for an event. ENDPOINT: POST /events/{event_id}/capacity_tier/ Supports partial updates. Can create/update/delete GA capacity hold inventory tiers. ERRORS (400): ARGUMENTS_ERROR, HAS_ATTENDEES, CAPACITY_TOTAL_TOO_SMALL, HOLD_QUANTITIES_EXCEEDS_REMAINING_CAPACITY
ERRORS (403): ERRORS (404): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_event_seriesB | Retrieve parent Event Series by ID. ENDPOINT: GET /series/{event_series_id}/ Event Series is repeating Event with multiple dates. AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_events_by_seriesB | List Events by Event Series ID. ENDPOINT: GET /series/{event_series_id}/events/ Returns paginated response. PARAMETERS: time_filter: all, past, current_future order_by: start_asc, start_desc, created_asc, created_desc start_date.range_start, start_date.range_end: Date range
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| create_event_scheduleA | Create an event schedule for series parent. ENDPOINT: POST /events/{event_id}/schedules/ Adds occurrences to series parent according to pattern. Requires series parent event. PARAMETERS: ERRORS (400): MISSING, INVALID, DTSTART_MISSING, RECURRENCE_RULE_DATES_NOT_IN_UTC, DTSTART_OUTSIDE_PERMITTED_RANGE, LAST_OCCURRENCE_START_EXCEEDS_LIMIT, EXCEEDS_MAX_OCCURRENCES
ERRORS (403): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_seat_mapsA | List Seat Maps by Organization. ENDPOINT: GET /organizations/{organization_id}/seatmaps/ PARAMETERS: WARNING: Response not paginated yet, will be paginated soon. AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| create_seat_mapA | Create Seat Map for reserved seating event by copying existing. ENDPOINT: POST /events/{event_id}/seatmaps/ Event must be new reserved seating. Once created, cannot create again. ERRORS (403): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_ticket_buyer_settingsA | Retrieve Ticket Buyer Settings by Event. ENDPOINT: GET /events/{event_id}/ticket_buyer_settings/ Settings for ticket buyers: confirmation message, instructions, refund requests, attendee updates, survey info. ERRORS (400): ERRORS (403): ERRORS (404): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| update_ticket_buyer_settingsB | Update Ticket Buyer Settings for an Event. ENDPOINT: POST /events/{event_id}/ticket_buyer_settings/ ERRORS (400): ERRORS (403): ERRORS (404): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_default_questionsB | List default Questions by Event. ENDPOINT: GET /events/{event_id}/canned_questions/ PARAMETERS: AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_default_questionA | Retrieve a Default Question by ID. ENDPOINT: GET /events/{event_id}/canned_questions/{question_id}/ ERRORS (404): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| create_default_questionB | Create a default Question for an Event. ENDPOINT: POST /events/{event_id}/canned_questions/ ERRORS (400): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| update_default_questionB | Update Default Question by ID. ENDPOINT: POST /events/{event_id}/canned_questions/{question_id}/ ERRORS (400): ERRORS (404): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| delete_default_questionA | Delete Default Question by ID. ENDPOINT: DELETE /events/{event_id}/canned_questions/{question_id}/ Deactivates canned question for event. ERRORS (404): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_custom_questionsA | List custom Questions by Event. ENDPOINT: GET /events/{event_id}/questions/ Returns paginated response with question array. PARAMETERS: ERRORS (404): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| create_custom_questionB | Create a custom question for an Event. ENDPOINT: POST /events/{event_id}/questions/ Returns result as question array. ERRORS (400): ERRORS (403): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_custom_questionB | Retrieve a Custom Question by ID. ENDPOINT: GET /events/{event_id}/questions/{question_id}/ ERRORS (404): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| delete_custom_questionA | Delete a custom Question. ENDPOINT: DELETE /events/{event_id}/questions/{question_id}/ ERRORS (403): ERRORS (404): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_text_overridesC | Retrieve Text Overrides for Organization. ENDPOINT: GET /organizations/{organization_id}/text_overrides/ Customize strings shown during ticket sales per event. PARAMETERS: locale: Locale (e.g., en_US) venue_id: Venue ID filter event_id: Event ID filter text_codes: List of codes (tickets_not_yet_on_sale, tickets_sold_out, etc.)
ERRORS (400): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| create_text_overridesB | Create Text Overrides for Organization, Venue, or Event. ENDPOINT: POST /organizations/{organization_id}/text_overrides/ PARAMETERS: locale: Locale (optional, uses event locale or default) venue_id: Venue ID (optional) event_id: Event ID (optional) strings: Array of text override objects (required)
ERRORS (400): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| calculate_item_pricingA | Calculate hypothetical fees for ticket pricing. ENDPOINT: POST /pricing/calculate_price_for_item/ Calculates Eventbrite fees for given price based on scope (organization, event, ticket_class, assortment_plan). PARAMETERS: base_price (string, required): Format "CURRENCY,amount_in_cents" country (string, required): ISO 3166 2-letter code scope (object, required): type (organization/event/ticket_class/assortment_plan) and identifier absorb_fees (boolean): Include fees in base price absorb_taxes (boolean): Include taxes in base price payment_type: eventbrite, authnet, paypal channel: web, atd
ERRORS (400): PRICING_MODEL_NOT_SUPPORTED, INVALID_CURRENCY_COUNTRY_COMBINATION, BASE_PRICE_TOO_LOW_TO_ABSORB, ARGUMENTS_ERROR
AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_fee_ratesA | List all available Pricing rates. ENDPOINT: GET /pricing/fee_rates/ Returns paginated response. PARAMETERS (all required): country: ISO 3166 alpha-2 code currency: ISO 4217 3-character code plan: any, package1, package2 payment_type: any, eventbrite, authnet, moneris, paypal, google, manual, free, offline, cash, check, invoice channel: any, atd, web item_type: any, ticket, product
ERRORS (400): AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| list_organization_rolesA | List Roles by Organization. ENDPOINT: GET /organizations/{organization_id}/roles/ Organization Role represents set of permissions owned by Organization. Returns paginated response. AUTHENTICATION:
Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN |
| get_api_docsA | Returns the complete Eventbrite API Blueprint documentation. Contains all endpoints, parameters, validation rules, error codes, and data structures for the Eventbrite API v3 (6933 lines). |