Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
EVENTBRITE_API_URLNoBase URL for Eventbrite APIhttps://www.eventbriteapi.com/v3
EVENTBRITE_RETRIESNoNumber of retry attempts3
EVENTBRITE_TIMEOUTNoRequest timeout in ms30000
EVENTBRITE_API_TOKENYesYour Eventbrite API token

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

    • default: Default business type

    • music: Music business 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:

  • organizations (array): List of Organization objects

  • pagination: Pagination information

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:

  • 400 ARGUMENTS_ERROR: There are errors with your arguments

  • 404 NOT_FOUND: The organization_id you requested does not exist

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:

  • published (boolean): true if successfully published

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:

  • unpublished (boolean): true if successfully unpublished

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:

  • deleted (boolean): true if successfully deleted

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:

  • Event must not have pending or completed orders

SERIES PARENT EVENTS:

  • All occurrences must be in valid state to cancel

  • Canceling parent cancels all occurrences

RESPONSE:

  • canceled (boolean): true if successfully canceled

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:

  • event: Event for the Ticket Class

  • image: Image for the Ticket Class

POSSIBLE ERRORS (400):

  • AUTO_HIDE_NOT_SET: Must select an auto hide setting

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_classes (array): List of Ticket Class objects

  • pagination: Pagination information

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:

  • pos (optional): Filter by point of sale

    • online: Online sales

    • at_the_door: At-the-door sales

    • lock_box: Lock box sales

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):

  • ORDER_EXPIRED: The order is expired

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

    • active: Attending orders

    • inactive: Not attending orders

    • both: All orders

    • all_not_deleted: Active and inactive, but not deleted

  • 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:

  • orders (array): List of Order objects

  • pagination: Pagination information

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):

  • DISCOUNT_CANNOT_BE_DELETED: Discount has been used, cannot delete

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:

  • width (optional): Thumbnail width

  • height (optional): Thumbnail height

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:

  • listing (default): Basic event description

  • digital_content: Online Event Page for attendees

RESPONSE:

  • page_version_number: Current version

  • modules: List of modules (text, image, video)

  • widgets: List of widgets (agenda, faqs)

ERRORS (400):

  • NOT_AUTHORIZED: No permission to view

  • ARGUMENTS_ERROR: Invalid event ID

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:

  • text: Text content with HTML

  • image: Image with ID and URL

  • video: Video embed

WIDGET TYPES:

  • agenda: Event schedule with tabs/slots/hosts

  • faqs: FAQ list

PURPOSE:

  • listing (default): Event description

  • digital_content: Online Event Page

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):

  • NOT_AUTHORIZED

ERRORS (404):

  • NOT_FOUND: Event or inventory_tier_id doesn't exist

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):

  • EXCEED_MAXIMUM_INVENTORY_TIERS: Cannot create more than 100 tiers

  • EXCEED_MAXIMUM_TICKET_RULE_TICKETS: Ticket rule tickets cannot exceed 1000

  • ARGUMENTS_ERROR

ERRORS (403):

  • NOT_AUTHORIZED

ERRORS (404):

  • NOT_FOUND: Event doesn't exist

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:

  • Maximum 100 inventory tiers per event

  • All tiers must belong to the same event

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:

  • seatmap_number: Filter by tier group

  • count_against_event_capacity: Filter by whether tier counts toward capacity

ERRORS (403):

  • NOT_AUTHORIZED

ERRORS (404):

  • NOT_FOUND: Event doesn't exist

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):

  • ARGUMENTS_ERROR

  • HOLD_QUANTITIES_EXCEEDS_CAPACITY_TOTAL: Sum of hold quantities must be less than capacity_total

ERRORS (403):

  • NOT_AUTHORIZED

ERRORS (404):

  • NOT_FOUND: Event or inventory_tier_id doesn't exist

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):

  • NOT_AUTHORIZED

ERRORS (404):

  • NOT_FOUND: Event or tier doesn't exist

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:

  • 401: Authentication required or invalid token

  • 403: Token lacks required permissions

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):

  • NOT_AUTHORIZED: No permission to view details

  • ARGUMENTS_ERROR: Invalid event ID

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):

  • ARGUMENTS_ERROR, CURRENCY_MISMATCH, INVALID, INVALID_PARAMETER

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):

  • ARGUMENTS_ERROR, CURRENCY_MISMATCH, INVALID, INVALID_PARAMETER

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):

  • NOT_AUTHORIZED

ERRORS (404):

  • NOT_FOUND: Event doesn't exist

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):

  • NOT_AUTHORIZED

ERRORS (404):

  • NOT_FOUND

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:

  • occurrence_duration: Duration in seconds

  • recurrence_rule: iCalendar RFC format with DTSTART

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):

  • NOT_AUTHORIZED

AUTHENTICATION: Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN

list_seat_mapsA

List Seat Maps by Organization.

ENDPOINT: GET /organizations/{organization_id}/seatmaps/

PARAMETERS:

  • venue_id: Filter by venue

  • venue_name_filter: Filter by venue name substring

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):

  • NOT_AUTHORIZED: Unauthorized to view source or create on event

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):

  • FIELD_INVALID

ERRORS (403):

  • NOT_AUTHORIZED

ERRORS (404):

  • NOT_FOUND

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):

  • FIELD_INVALID

ERRORS (403):

  • NOT_AUTHORIZED

ERRORS (404):

  • NOT_FOUND

AUTHENTICATION: Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN

list_default_questionsB

List default Questions by Event.

ENDPOINT: GET /events/{event_id}/canned_questions/

PARAMETERS:

  • include_all (boolean): Return whole list included or not

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):

  • NOT_FOUND: Event doesn't exist

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):

  • INSUFFICIENT_PACKAGE: Need to upgrade package

  • NOT_ALLOWED

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):

  • ARGUMENTS_ERROR

ERRORS (404):

  • NOT_FOUND: Event doesn't exist

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):

  • NOT_FOUND: Event doesn't exist

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:

  • as_owner (boolean): Return private events and fields

ERRORS (404):

  • NOT_FOUND: Event doesn't exist

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):

  • INSUFFICIENT_PACKAGE: Need to upgrade package

ERRORS (403):

  • NOT_AUTHORIZED: No permission

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):

  • NOT_FOUND: Question doesn't exist

AUTHENTICATION: Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN

delete_custom_questionA

Delete a custom Question.

ENDPOINT: DELETE /events/{event_id}/questions/{question_id}/

ERRORS (403):

  • NOT_AUTHORIZED: No permission

ERRORS (404):

  • NOT_FOUND: Question doesn't exist

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):

  • MISSING, INVALID

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):

  • MISSING, INVALID

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):

  • INVALID_CURRENCY_COUNTRY_COMBINATION, ARGUMENTS_ERROR

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).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 81 tools

Disambiguation3/5

Many tools target distinct resources and actions, but notable overlaps exist: get_user and get_current_user both hit /users/me/, and create_inventory_tier vs create_multiple_inventory_tiers (bulk) can be confused. With 81 tools, the cognitive load makes selection error-prone, though detailed descriptions help mitigate ambiguity.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (e.g., list_events, create_event, update_ticket_class). Minor variations like 'get_current_user' vs 'get_user' do not break the pattern. No mixed conventions are present.

Tool Count1/5

81 tools is an extreme mismatch for an MCP server; even a large API like Eventbrite can be exposed with fewer, higher-level tools. The count far exceeds the recommended 3-15 range, causing significant selection burden for an agent.

Completeness4/5

The surface covers most Eventbrite domains: events, orders, attendees, tickets, discounts, venues, webhooks, media, inventory tiers, seat maps, custom questions, text overrides, pricing, reports, and structured content. However, some areas like organizer management, refunds, and user-specific event lists are missing, so minor gaps remain.

Maintenance

ActivityInactive
ResponsivenessNo issues