Every Eventbrite organizer endpoint, plus a local SQLite mirror of your events, orders, and attendees you can search offline — the cross-event search Eventbrite removed, restored over your own data.
Existing Eventbrite tools wrap a handful of event CRUD calls one event at a time. This CLI mirrors the full v3 organizer API and syncs your events, orders, attendees, ticket classes, and discounts into a local SQLite store, then layers cross-event analytics on top: sales-velocity ranks your live events by sell rate, repeat-attendees surfaces returning fans across your whole history, and org-rollup gives agencies a single pane across every client organization.
Printed by @vinnyp (Vinny Pasceri).
Authentication
Eventbrite uses an OAuth2 private token sent as a Bearer header. For your own account you do not need the full OAuth dance — copy a private token from eventbrite.com/platform/api-keys and set EVENTBRITE_API_KEY. Run eventbrite-pp-cli doctor to confirm it is picked up.
Quick Start
# Confirm EVENTBRITE_API_KEY is set and the API is reachable before anything else.
eventbrite-pp-cli doctor
# Pull everything your token can access into local SQLite; Eventbrite paginates with continuation tokens, which sync follows automatically.
eventbrite-pp-cli sync
# Rank your live events by tickets sold per day so you can see laggards at a glance.
eventbrite-pp-cli sales-velocity --json
# Find fans who attended multiple events — the cross-event view Eventbrite's public search no longer provides.
eventbrite-pp-cli repeat-attendees --min 2 --json
# Full-text search across everything you have synced offline.
eventbrite-pp-cli search "VIP"
Unique Features
These capabilities aren't available in any other tool for this API.
Cross-event sales analytics
-
sales-velocity — Ranks all your live events by tickets sold per day since on-sale and projects a sell-out date.
Reach for this when an agent needs to know which of an organizer's events are underperforming right now, not just current totals.
eventbrite-pp-cli sales-velocity --json
-
discount-performance — Per discount code: redemptions, type, and the redemption rate (share of the code's allotment used).
Pick this to measure whether a promo code actually drove sales before renewing or killing it.
eventbrite-pp-cli discount-performance --json
-
capacity — Sold vs total capacity and percent remaining across all your live events at once.
Use this to spot which events are near sell-out or badly under-sold in a single call.
eventbrite-pp-cli capacity --json
-
refund-rate — Refunded and cancelled order counts, refunded revenue, and the rate per event or across the org.
Pick this to flag events with abnormal refund rates that signal a pricing, date, or fulfillment problem.
eventbrite-pp-cli refund-rate --json
-
top-buyers — Ranks ticket buyers by total spend across all your events, not just by how many events they attended.
Reach for this to find an organizer's highest-value customers for VIP or pre-sale outreach.
eventbrite-pp-cli top-buyers --limit 25 --json
Search your own data offline
-
repeat-attendees — Finds fans who bought into two or more of your events, across your whole synced history.
Use this for loyalty and re-marketing questions an agent cannot answer from any one event's attendee list.
eventbrite-pp-cli repeat-attendees --min 2 --json
-
roster — Offline attendee roster for one event with checked-in vs not-yet, VIP and comp flags, door-sorted.
Reach for this at the door when an agent needs a fast who-has-not-checked-in list without a live API round-trip.
eventbrite-pp-cli roster 1234567890 --csv
-
fan-export — Exports unique attendee contacts (email, name, events attended, check-in status), deduped across all your events and filterable by event.
Use this to build a clean, deduped contact list for an email campaign across an organizer's whole audience.
eventbrite-pp-cli fan-export --csv
Agency multi-org view
-
org-rollup — Single pane across every organization your token can see: events count, tickets sold, gross, and top event per org.
Use this for an agency or multi-brand operator who needs one client roll-up instead of logging into each org.
eventbrite-pp-cli org-rollup --json
Recipes
Find your slowest-selling live events
eventbrite-pp-cli sales-velocity --json
Ranks every live event by tickets sold per day since on-sale with a projected sell-out date, computed from the local order store.
Surface returning fans for re-marketing
eventbrite-pp-cli repeat-attendees --min 3 --agent --select email,name,events_count
Cross-event attendee join; --agent emits structured rows and --select narrows to just the contact fields an email tool needs.
Door check-in roster, offline
eventbrite-pp-cli roster 1234567890 --csv
Prints the synced attendee roster for one event with checked-in status as CSV for a will-call sheet — no live API call required.
Agency Friday client roll-up
eventbrite-pp-cli org-rollup --json
One pane across every organization the token can see: events, tickets sold, gross, and top event per client org.
Measure a promo code's ROI
eventbrite-pp-cli discount-performance --json
Ranks discount codes by redemptions and redemption rate (share of each code's allotment used) from the synced discount objects.
Combine Eventbrite + DICE for full event performance
eventbrite-pp-cli fan-export --json
Export your Eventbrite buyer/attendee list as JSON; a promoter selling the same show on DICE exports the DICE side too, then an agent joins events by name and date and buyers by normalized email for a cross-platform performance and loyalty view no single platform shows.
Usage
Run eventbrite-pp-cli --help for the full command reference and flag list.
Commands
balance
Manage balance
categories
Category Object
An overarching category that an event falls into (vertical). Examples are “Music”, and “Endurance”.
eventbrite-pp-cli categories category-by-id - Gets a category by ID as category.
eventbrite-pp-cli categories list-of - Returns a list of Category as categories, including subcategories nested. Returns a paginated response.
discounts
Discount Object
The Discount object represents a discount that an Order owner can use when purchasing tickets to an Event.
A Discount can be used to a single Ticket Class or across multiple Ticket Classes for multiple Events simultaneously (known as a cross event Discount).
There are four types of Discounts:
-
Public Discount. Publically displays Discount to Order owner on the Event Listing and Checkout pages. Only used with a single Event.
-
Coded Discount. Requires Order owner to use a secret code to access the Discount.
-
Access Code. Requires Order owner to use a secret code to access hidden tickets. Access codes can also optionally contain a discount amount.
-
Hold Discount. Allows Order owner to apply or unlock Discount for seats on hold.
The display price of a ticket is calculated as:
price_before_discount - discount_amount = display_price
Notes:
-
Public and Coded Discounts can specify either an amount off or a percentage off, but not both types discounts.
-
Public Discounts should not contain apostrophes or non-alphanumeric characters (except “-���, “_”, ” ”, “(”, ”)”, “/”, and “”).
-
Coded Discounts and Access Codes should not contain spaces, apostrophes or non-alphanumeric characters (except “-”, “_”, “(”, ”)”, “/”, and “”).
Fields
Use these fields to specify information about a Discount.
| Field | Type | Description |
|---|
code | string | Discount name for a Public Discount, or the code for a Coded Discount and Access Code. |
type | string | Discount type. Can be access, coded, public or hold. |
end_date | datetime | Date until which the Discount code is usable. Date is naive and assumed relative to the timezone of an Event. If null or empty, the discount is usable until the Event end_date. ISO 8601 notation: YYYY-MM-DDThh:mm:ss. |
end_date_relative | integer | End time in seconds before the start of the Event until which the Discount code is usable. If null or empty, the discount is usable until the Event end_date. |
amount_off | decimal | Fixed amount applied as a Discount. This amount is not expressed with a currency; instead uses the Event currency from 0.01 to 99999.99. Only two decimals are allowed. The default is null for an Access Code. |
percent_off | decimal | Percentage amount applied as a Discount. Displayed in the ticket price during checkout, from 1.00 to 100.00. Only two decimals are allowed. The default is null for an Access Code. |
quantity_available | integer | Number of times this Discount can be used; 0 indicates unlimited use. |
quantity_sold | integer | Number of times this Discount has been used. This is a read only field. |
start_date | local datetime | Date from which the Discount code is usable. If null or empty, the Discount is usable effective immediately. |
start_date_relative | integer | Start time in seconds before the start of the Event from which the Discount code is usable. If null or empty, the Discount is usable effective immediately. |
ticket_class_ids | list | List of discounted Ticket Class IDs for a single Event. Leave empty if you want to see all the tickets for the Event. |
event_id | string | Single Event ID to which the Discount can be used. Leave empty for Discounts. |
ticket_group_id | string | Ticket Group ID to which the Discount can be used. |
hold_ids | list | List of hold IDs this discount can unlock. Null if this discount does not unlock a hold. |
The following conditions define the extend of the Discount:
-
If event_id is provided and ticket_class_ids are not provided, a single Event Discount is created for all Event tickets.
-
If both event_id and ticket_class_ids are provided, a single Event Discount is created for the specific Event tickets.
-
If ticket_group_id is provided, a Discount is created for the Ticket Group.
-
If neither event_id nor ticket_group_id are provided, a Discount is created that applies to all tickets for an Organization's Events, including future Events.
Expansions
Information from expansions fields are not normally returned when requesting information. To receive this information in a request, expand the request.
| Expansion | Source | Description |
|---|
event | event_id | Single Event to which the Discount can be used. |
ticket_group | ticket_group_id | Ticket Group to which the Discount can be used. |
reserved_seating | ticket-reserved-seating-settings | Reserved seating settings for the Ticket Class. This expansion is not returned for Ticket Classes that do not support reserved seasting. |
eventbrite-pp-cli discounts delete-a - Delete a Discount. Only unused Discounts can be deleted.
Warning: A Discount cannot be restored after being deleted.
eventbrite-pp-cli discounts retrieve-a - Retrieve a Discount by Discount ID.
eventbrite-pp-cli discounts update-a - Update a Discount by Discount ID.
event
Event Object
The Event object represents an Eventbrite Event. An Event is owned by one Organization.
Public Fields
Use these fields to specify information about an Event. For publicly listed Events, this information can be retrieved by all Eventbrite Users and Eventbrite applications.
| Field | Type | Description |
|---|
name | multipart-text | Event name. |
summary | string | (Optional) Event summary. Short summary describing the event and its purpose. |
description | multipart-text | (DEPRECATED) (Optional) Event description. Description can be lengthy and have significant formatting. |
url | string | URL of the Event's Listing page on eventbrite.com. |
start | datetime-tz | Event start date and time. |
end | datetime-tz | Event end date and time. |
created | datetime | Event creation date and time. |
changed | datetime | Date and time of most recent changes to the Event. |
published | datetime | Event publication date and time. |
status | string | Event status. Can be draft, live, started, ended, completed and canceled. |
currency | string | Event ISO 4217 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. |
Private Fields
Use these fields to specify properties of an Event that are only available to the User.
| Field | Type | Description |
|---|
listed | boolean | true = Allows the Event to be publicly searchable on the Eventbrite website. |
shareable | boolean | true = Event is shareable, by including social sharing buttons for the Event to Eventbrite applications. |
invite_only | boolean | true = Only invitees who have received an email inviting them to the Event are able to see Eventbrite applications. |
show_remaining | boolean | true = Provides, to Eventbrite applications, the total number of remaining tickets for the Event. |
password | string | Event password used by visitors to access the details of the Event. |
capacity | integer | Maximum number of tickets for the Event that can be sold to Attendees. 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. |
Music Properties
The Music Properties object includes a few attributes of an event for Music clients. To retrieve Music Properties by Event ID, use the music_properties expansion.
| Field | Type | Description |
|---|
age_restriction | enum | Minimum age requirement of event attendees. |
presented_by | string | Main music event sponsor. |
door_time | string | Time relative to UTC that the doors are opened to allow people in the the day of the event. When not set, the event will not have any door time set. 2019-05-12T-19:00:00Z |
Expansions
Information from expansions fields are not normally returned when requesting information. To receive this information in a request, expand the request.
| Expansion | Source | Description |
|---|
logo | logo_id | Event image logo. |
venue | venue_id | Event Venue. |
organizer | organizer_id | Event Organizer. |
format | format_id | Event Format. |
category | category_id | Event Category. |
subcategory | subcategory_id | Event Subcategory. |
bookmark_info | bookmark_info | Indicates whether a user has saved the Event as a bookmark. Returns false if there are no bookmarks. If there are bookmarks, returns a a dictionary specifying the number of end-users who have bookmarked the Event as a count object like {count:3}. |
refund_policy | refund_policy | Event Refund Policy. |
ticket_availability | ticket_availability | Overview of availability of all Ticket Classes |
external_ticketing | external_ticketing | External ticketing data for the Event. |
music_properties | music_properties | Event Music Properties |
publish_settings | publish_settings | Event publish settings. |
basic_inventory_info | basic_inventory_info | Indicates whether the event has Ticket Classes, Inventory Tiers, Donation Ticket Classes, Ticket Rules, Inventory Add-Ons, and/or Admission Inventory Tiers. |
event_sales_status | event_sales_status | Event’s sales status details |
checkout_settings | checkout_settings | Event checkout and payment settings. |
listing_properties | listing_properties | Display/listing details about the event |
has_digital_content | has_digital_content | Whether or not an event Has Digital Content |
events
Event Object
The Event object represents an Eventbrite Event. An Event is owned by one Organization.
Public Fields
Use these fields to specify information about an Event. For publicly listed Events, this information can be retrieved by all Eventbrite Users and Eventbrite applications.
| Field | Type | Description |
|---|
name | multipart-text | Event name. |
summary | string | (Optional) Event summary. Short summary describing the event and its purpose. |
description | multipart-text | (DEPRECATED) (Optional) Event description. Description can be lengthy and have significant formatting. |
url | string | URL of the Event's Listing page on eventbrite.com. |
start | datetime-tz | Event start date and time. |
end | datetime-tz | Event end date and time. |
created | datetime | Event creation date and time. |
changed | datetime | Date and time of most recent changes to the Event. |
published | datetime | Event publication date and time. |
status | string | Event status. Can be draft, live, started, ended, completed and canceled. |
currency | string | Event ISO 4217 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. |
Private Fields
Use these fields to specify properties of an Event that are only available to the User.
| Field | Type | Description |
|---|
listed | boolean | true = Allows the Event to be publicly searchable on the Eventbrite website. |
shareable | boolean | true = Event is shareable, by including social sharing buttons for the Event to Eventbrite applications. |
invite_only | boolean | true = Only invitees who have received an email inviting them to the Event are able to see Eventbrite applications. |
show_remaining | boolean | true = Provides, to Eventbrite applications, the total number of remaining tickets for the Event. |
password | string | Event password used by visitors to access the details of the Event. |
capacity | integer | Maximum number of tickets for the Event that can be sold to Attendees. 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. |
Music Properties
The Music Properties object includes a few attributes of an event for Music clients. To retrieve Music Properties by Event ID, use the music_properties expansion.
| Field | Type | Description |
|---|
age_restriction | enum | Minimum age requirement of event attendees. |
presented_by | string | Main music event sponsor. |
door_time | string | Time relative to UTC that the doors are opened to allow people in the the day of the event. When not set, the event will not have any door time set. 2019-05-12T-19:00:00Z |
Expansions
Information from expansions fields are not normally returned when requesting information. To receive this information in a request, expand the request.
| Expansion | Source | Description |
|---|
logo | logo_id | Event image logo. |
venue | venue_id | Event Venue. |
organizer | organizer_id | Event Organizer. |
format | format_id | Event Format. |
category | category_id | Event Category. |
subcategory | subcategory_id | Event Subcategory. |
bookmark_info | bookmark_info | Indicates whether a user has saved the Event as a bookmark. Returns false if there are no bookmarks. If there are bookmarks, returns a a dictionary specifying the number of end-users who have bookmarked the Event as a count object like {count:3}. |
refund_policy | refund_policy | Event Refund Policy. |
ticket_availability | ticket_availability | Overview of availability of all Ticket Classes |
external_ticketing | external_ticketing | External ticketing data for the Event. |
music_properties | music_properties | Event Music Properties |
publish_settings | publish_settings | Event publish settings. |
basic_inventory_info | basic_inventory_info | Indicates whether the event has Ticket Classes, Inventory Tiers, Donation Ticket Classes, Ticket Rules, Inventory Add-Ons, and/or Admission Inventory Tiers. |
event_sales_status | event_sales_status | Event’s sales status details |
checkout_settings | checkout_settings | Event checkout and payment settings. |
listing_properties | listing_properties | Display/listing details about the event |
has_digital_content | has_digital_content | Whether or not an event Has Digital Content |
eventbrite-pp-cli events delete-an - Delete an Event if the delete is permitted. Returns a boolean indicating the success or failure of the delete action.
To delete an Event, the Event must not have any pending or completed orders.
If the event is a series parent, all series occurrences must be in a valid state to be deleted. Deleting the series parent will delete all series occurrences.
eventbrite-pp-cli events retrieve-an - Retrieve an Event by Event ID.
Note: If the Event being retrieved was created using the new version of Create, then you may notice that the Event’s description field is now being used to hold the event summary. To retrieve your event’s fully-rendered HTML description, you will need to make an additional API call to retrieve the Event's full HTML description.
eventbrite-pp-cli events update-an - Update Event by Event ID.
Note that if the event is a series parent, updating name, description, hide_start_date, hide_end_date, currency, show_remaining, password, capacity, or source on the series parent will update these fields on all occurrences in the series.
formats
Format Object
The Format object represents an Event type, for example seminar, workshop or concert. Specifying a Format helps website visitors discover a certain type of Event.
eventbrite-pp-cli formats list - List all available Formats. Returns a paginated response.
eventbrite-pp-cli formats retrieve-a - Retrieve a Format by Format ID.
media
Media Object
The Media object represents an image that can be included with an Event listing, for example to provide branding or further information on the Event.
eventbrite-pp-cli media retrieve - Retrieve Media by Media ID.
eventbrite-pp-cli media retrieve-a-upload - Retrieve information on a Media image upload.
eventbrite-pp-cli media upload-a-file - Upload a Media image file.
orders
Order object
The Order object represents an order made against Eventbrite for one or more Ticket Classes. In other words, a single Order can be made up of multiple tickets. The object contains an Order's financial and transactional information; use the Attendee object to return information on Attendees.
Order objects are considered private; meaning that all Order information is only available to the Eventbrite User and Order owner.
Order Fields
| Field | Type | Description |
|---|
created | datetime | Date and time the Order was placed and the Attendee created. |
changed | datetime | Date and time of the last change to Attendee. |
name | string | Order owner name. To ensure forward compatibility with non-Western names, use this field instead of first_name/last_name. |
first_name | string | Order owner first name. Use name field instead. |
last_name | string | Order owner last name. Use name field instead. |
email | string | Order owner email address. |
costs | order-costs | Cost breakdown of the Order. |
event_id | string | Order's Event ID. |
time_remaining | number | Time remaining to complete Order (in seconds). |
questions | order-questions | (Optional) Custom questions shown to Order's owner. |
answers | order-answers | (Optional) Answers to custom questions shown to Order's owner. |
promo_code | string | (Optional) Discount code applied to Order. |
status | string | Order status. |
Order Costs Fields
Contains a breakdown of Order costs.
| Field | Type | Description |
|---|
base_price | currency | Order amount without fees and tax. Use instead the display_price field if the Ticket Class include_fee field is used; otherwise an incorrect value is shown to the Order owner. |
display_price | currency | Order amount without fees and tax. This field shows the correct value to the Order owner when the Ticket Class include_fee field is used. |
display_fee | currency | Order amount with fees and tax included (absorbed) in the price as displayed. |
gross | currency | Total amount of Order. |
eventbrite_fee | currency | Eventbrite fee as portion of Order gross amount. Do not expose this field to Order owner. |
payment_fee | currency | Payment processor fee as portion of Order gross amount. |
tax | currency | Tax as portion of Order gross amount passed to Event Organization. |
display_tax | order-display-tax | Order tax. Same value as tax field, but also includes the tax name. |
price_before_discount | currency | Order price before a Discount code is applied. If no discount code is applied, value should be equal to display_price. |
discount_amount | currency | Order total Discount. If no discount code is applied, discount_amount will not be returned. |
discount_type | string | Type of Discount applied to Order. Can be null or coded, access, public or hold. If no discount code is applied, discount_type will not be returned. |
fee_components | Cost Component (list) | List of price costs components that belong to the fee display group. |
tax_components | Cost Component (list) | List of price costs components that belong to the tax display group. |
shipping_components | Cost Component (list) | List of price costs components that belong to the shippig display group. |
has_gts_tax | boolean | Indicates if any of the tax_components is a gts tax. |
tax_name | string | The name of the tax that applies, if any. |
Display Tax Fields
| Field | Type | Description |
|---|
name | string | Tax name. |
tax | currency | Tax amount. |
Refund Request Fields
The Order includes a refund request.
| Field | Type | Description |
|---|
from_email | string | Email used to create the refund request. |
from_name | string | Refund request name. |
status | string | Refund request status. |
message | string | Message associated with the refund request. |
reason | string | Refund request reason code. |
last_message | string | Last message associated with the last status of the refund request. |
last_reason | string | Last reason code of the refund request. |
items | list of refund_item | Requested refunded items of the refund request. |
Refund Item Fields
A Refund Request contains a refund item.
| Field | Type | Description |
|---|
event_id | string | Refund item Event. |
order_id | string | Refund item Order. Field can be null. |
processed_date | datetime | (Optional) The date and time this refund item was processed, if it has been processed. |
item_type | string | Refund item Order type. Use order for full refund, attendee for partial refund for the Attendee, or merchandise for partial refund as merchandise. |
amount_processed | currency | (Optional) The amount of money refunded. This will be absent if the refund has not been processed. |
amount_requested | currency | (Optional) The amount of money requested for refund. Only appears for attendee-initiated refunds. |
quantity_processed | number | (Optional) Quantity refunded. If the item_type field value is order, quantity_processed is always 1. If the item_type field value is attendee or merchandise, then the quantity_processed value displays the number of items processed. This will be absent if the refund has not been processed. |
quantity_requested | number | (Optional) Quantity requested to be refunded. If the item_type is order, quantity_requested is always 1. If the item_type is attendee or merchandise, then the quantity_requested value displays the number of items requested for a refund. Only appears for attendee-initiated refund items. |
refund_reason_code | string | A descriptive code for the refund reason |
status | string | Refund item status, one of pending, processed, or error |
Order Questions Fields
Use to present Custom Questions to an Attendee.
| Field | Type | Description |
|---|
id | string | Custom Question ID. |
label | string | Custom Question Label. |
type | string | Can be text, url, email, date, number, address, or dropdown |
required | boolean | true = Answer to custom question is required. |
Order Answers Fields
Contains information on an Attendee's answers to custom questions.
| Field | Type | Description |
|---|
question_id | string | Custom Question ID. |
attendee_id | string | Attendee ID. |
question | string | Custom Question text. |
type | string | Can be text, url, email, date, number, address, or dropdown. |
answer | varies | Answer type. Generally use the string value; except when an answer of address or date is more appropriate. |
Order Notes Fields
Order Notes is free-form text related to an Order.
| Field | Type | Description |
|---|
created | datetime | Order note creation date and time. |
text | string | Order note content up to 2000 characters. |
type | string | Type of Order associated with order note, always and only order. |
event_id | event | ID of Event associated with Order. |
order_id | order | ID of Order associated with order note. |
author_name | string | First and last name Order owner associated with order note. |
Expansions
Information from expansions fields are not normally returned when requesting information.
To receive this information in a request, expand the request.
| Expansion | Source | Description |
|---|
event | event_id | Order's associated Event. |
attendees | attendee(list) | Order's Attendees. |
merchandise | merchandise(list) | Merchandise included in this Order. |
concierge | concierge | Order's concierge. |
refund_requests | refund_request | Order's refund request. |
survey | order-questions | (Optional) Order's custom questions. |
survey_responses | order-survey-responses(object) | (Optional) Order's responses to survey questions. |
answers | order-answers | (Optional) Order's answers to custom questions. |
ticket_buyer_settings | ticket_buyer_settings | (Optional) Include information relevant to the purchaser, including confirmation messages. |
contact_list_preferences | contact_list_preferences | (Optional) Opt-in preferences for the email address associated with the Order. |
eventbrite-pp-cli orders <order_id> - Retrieve an Order by Order ID.
organizations
Organization Object
An object representing a business structure (like a Marketing department) in which Events are created and managed. Organizations are owned by one User and can have multiple Members.
The Organization object is used to group Members, Roles, Venues and Assortments.
Public Fields
Use these fields to specify information about an Organization.
| Field | Type | Description |
|---|
id | string | Organization ID. Must be obtained via an API request, such as a List your Organizations request. The organization_id is NOT equal to an organizer_id (the string in an Organizer Profile URL). |
name | string | Organization Name. |
image_id | string | (Optional) ID of the image for an Organization. |
vertical | string | Type of business vertical within which this Organization operates. Currently, the only values are default and music. If not specified, the value is default. |
pricing
Pricing Object
The Pricing object represents all the available fee rates for different currencies, countries, Assortments and sales channels.
eventbrite-pp-cli pricing calculate-items - Calculates the Fees that Eventbrite would charge for a given price as it’s shown on the ticket authoring flow. This price would be hypothetical, as the pricing calculation would be based on the passed parameters instead of facts as it happens when an order is created.
This price is a simplified view. The price reported can’t be used to calculate the price of an order. Its used to get fees, taxes and total price depending from scope parameter. The scope can be as one of the members: organization, event, ticket_class or assortment_plan.
Depending on the scope type, the scope identifier has different meanings:
For scope.type organization scope.identifier represents an organization id.
For scope.type event scope.identifier represents an event id.
For scope.type ticket_class scope.identifier represents a ticket class id.
For scope.type assortment_plan scope.identifier can take a value of either 'package1' or 'package2'
Returns a item_pricing according to the provided base price and scope.
eventbrite-pp-cli pricing list - List all available Pricing rates. Returns a paginated response.
reports
Report Object
The Report object represents the Reports that you can retrieve using the API. This includes Reports on:
eventbrite-pp-cli reports retrieve-a-attendee - Retrieve an Attendee Report by Event ID or Event status.
eventbrite-pp-cli reports retrieve-a-sales - Retrieve a sales Report by Event ID or Event status.
series
Manage series
eventbrite-pp-cli series <event_series_id> - Retrieve the parent Event Series by Event Series ID.
subcategories
Manage subcategories
eventbrite-pp-cli subcategories list-of - List all available Subcategories. Returns a paginated response.
eventbrite-pp-cli subcategories subcategory-by-id - Retrieve a Subcategory by Subcategory ID.
ticket-groups
Ticket Group Object
The Ticket Group object is used to group Ticket Classes.
Most commonly used to apply a Cross-Event Discount to multiple Ticket Classes.
Fields
| Field | Type | Description |
|---|
name | string | Ticket Group name. A name containing more than 20 characters is automatically truncated. |
status | string | Ticket Group status. Can be transfer, live, deleted or archived. By default, the status is live. |
event_ticket_ids | dict | Dictionary showing the Ticket Class IDs associated with a specific Event ID. |
tickets | objectlist | List of Ticket Class. Includes for each Ticket Class id, event_id, sales_channels, variants and name. By default this field is empty, unless the Ticket Class Expansions fields are used. |
eventbrite-pp-cli ticket-groups delete-a - Delete a Ticket Group. The status of the Ticket Group is changed to deleted.
eventbrite-pp-cli ticket-groups retrieve-a - Retrieve a Ticket Group by Ticket Group ID.
eventbrite-pp-cli ticket-groups update-a - Update Ticket Group by Ticket Group ID.
users
Note: Note These URLs will accept “me” in place of a user ID in URLs - for example, /users/me/orders/ will return orders placed by the current user.
User Object
User is an object representing an Eventbrite account. Users are Members of an Organization.
eventbrite-pp-cli users list-your-organizations - List the Organizations to which you are a Member. Returns a paginated response.
eventbrite-pp-cli users retrieve-information-about-a-account - Returns a user for the specified user as user. If you want to get details about the currently authenticated user, use /users/me/.
To include the User’s assortment package in the response, add the assortment expansion parameter: /users/me/?expand=assortment
eventbrite-pp-cli users retrieve-information-about-your-account - Retrieve Information About Your User Account
venues
Venue Object
The Venue object represents the location of an Event (i.e. where an Event takes place).
Venues are grouped together by the Organization object.
Venue Fields
| Field | Type | Description |
|---|
address | address | Venue address. |
id | string | Venue ID. |
age_restriction | string | Age restriction of the Venue. |
capacity | number | Maximum number of tickets that can be sold for the Venue. |
name | string | Venue name. |
latitude | string | Latitude coordinates of the Venue address. |
longitude | string | Longitude coordinates of the Venue address. |
eventbrite-pp-cli venues retrieve-a - Retrieve a Venue by Venue ID.
eventbrite-pp-cli venues update-a - Update a Venue by Venue ID.
webhooks
Webhook Object
An object representing a webhook associated with the Organization.
eventbrite-pp-cli webhooks create-deprecated - Create a Webhook.
Warning: Access to this API will be no longer usable on June 1st, 2020.
For more information regarding deprecated APIs, refer to our changelog.
eventbrite-pp-cli webhooks delete-by-id - Delete a Webhook by ID.
eventbrite-pp-cli webhooks list-of-deprecation - List Webhooks.
Warning: Access to this API will be no longer usable on June 1st, 2020.
For more information regarding deprecated APIs, refer to our changelog.
Output Formats
# Human-readable table (default in terminal, JSON when piped)
eventbrite-pp-cli formats list
# JSON for scripting and agents
eventbrite-pp-cli formats list --json
# Filter to specific fields
eventbrite-pp-cli formats list --json --select id,name,status
# Dry run — show the request without sending
eventbrite-pp-cli formats list --dry-run
# Agent mode — JSON + compact + no prompts in one flag
eventbrite-pp-cli formats list --agent
Agent Usage
This CLI is designed for AI agent consumption:
- Non-interactive - never prompts, every input is a flag
- Pipeable -
--json output to stdout, errors to stderr
- Filterable -
--select id,name returns only fields you need
- Previewable -
--dry-run shows the request without sending
- Explicit retries - add
--idempotent to create retries and --ignore-missing to delete retries when a no-op success is acceptable
- Confirmable -
--yes for explicit confirmation of destructive actions
- Piped input - write commands can accept structured input when their help lists
--stdin
- Offline-friendly - sync/search commands can use the local SQLite store when available
- Agent-safe by default - no colors or formatting unless
--human-friendly is set
Exit codes: 0 success, 2 usage error, 3 not found, 4 auth error, 5 API error, 7 rate limited, 10 config error.
Health Check
eventbrite-pp-cli doctor
Verifies configuration, credentials, and connectivity to the API.
Configuration
Config file: ~/.config/eventbrite-pp-cli/config.toml
Static request headers can be configured under headers; per-command header overrides take precedence.
Environment variables:
| Name | Kind | Required | Description |
|---|
EVENTBRITE_API_KEY | per_call | Yes | Set to your API credential. |
Troubleshooting
Authentication errors (exit code 4)
- Run
eventbrite-pp-cli doctor to check credentials
- Verify the environment variable is set:
echo $EVENTBRITE_API_KEY
Not found errors (exit code 3)
- Check the resource ID is correct
- Run the
list command to see available items
API-specific
- 401 Unauthorized on every call — Set EVENTBRITE_API_KEY to a private token from eventbrite.com/platform/api-keys, then run
eventbrite-pp-cli doctor.
- Public event search returns nothing or 404 — Eventbrite removed public event search in 2020; sync your org first with
sync and search the local store with search or repeat-attendees.
- sync stops before all records load — List endpoints page with continuation tokens; re-run
eventbrite-pp-cli sync --full to walk every page.
- sales-velocity or capacity returns empty — These read the local store — run
eventbrite-pp-cli sync first.
Sources & Inspiration
This CLI was built by studying these projects and resources:
Generated by CLI Printing Press