Documentation

Eventbrite CLI

eventbrite-pp-cli

Install

npx -y @mvanhorn/printing-press-library install eventbrite

Installs the CLI binary and the agent skill for Claude Code, Codex, Cursor, Gemini CLI, Copilot, and more. Add --cli-only or --skill-only for one half. Requires Node.

Documentation

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.

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

FieldTypeDescription
codestringDiscount name for a Public Discount, or the code for a Coded Discount and Access Code.
typestringDiscount type. Can be access, coded, public or hold.
end_datedatetimeDate 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_relativeintegerEnd 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_offdecimalFixed 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_offdecimalPercentage 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_availableintegerNumber of times this Discount can be used; 0 indicates unlimited use.
quantity_soldintegerNumber of times this Discount has been used. This is a read only field.
start_datelocal datetimeDate from which the Discount code is usable. If null or empty, the Discount is usable effective immediately.
start_date_relativeintegerStart 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_idslistList of discounted Ticket Class IDs for a single Event. Leave empty if you want to see all the tickets for the Event.
event_idstringSingle Event ID to which the Discount can be used. Leave empty for Discounts.
ticket_group_idstringTicket Group ID to which the Discount can be used.
hold_idslistList 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.

ExpansionSourceDescription
eventevent_idSingle Event to which the Discount can be used.
ticket_groupticket_group_idTicket Group to which the Discount can be used.
reserved_seatingticket-reserved-seating-settingsReserved 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.

FieldTypeDescription
namemultipart-textEvent name.
summarystring(Optional) Event summary. Short summary describing the event and its purpose.
descriptionmultipart-text(DEPRECATED) (Optional) Event description. Description can be lengthy and have significant formatting.
urlstringURL of the Event's Listing page on eventbrite.com.
startdatetime-tzEvent start date and time.
enddatetime-tzEvent end date and time.
createddatetimeEvent creation date and time.
changeddatetimeDate and time of most recent changes to the Event.
publisheddatetimeEvent publication date and time.
statusstringEvent status. Can be draft, live, started, ended, completed and canceled.
currencystringEvent ISO 4217 currency code.
online_eventbooleantrue = Specifies that the Event is online only (i.e. the Event does not have a Venue).
hide_start_datebooleanIf true, the event's start date should never be displayed to attendees.
hide_end_datebooleanIf 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.

FieldTypeDescription
listedbooleantrue = Allows the Event to be publicly searchable on the Eventbrite website.
shareablebooleantrue = Event is shareable, by including social sharing buttons for the Event to Eventbrite applications.
invite_onlybooleantrue = Only invitees who have received an email inviting them to the Event are able to see Eventbrite applications.
show_remainingbooleantrue = Provides, to Eventbrite applications, the total number of remaining tickets for the Event.
passwordstringEvent password used by visitors to access the details of the Event.
capacityintegerMaximum 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_custombooleantrue = 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.

FieldTypeDescription
age_restrictionenumMinimum age requirement of event attendees.
presented_bystringMain music event sponsor.
door_timestringTime 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.

ExpansionSourceDescription
logologo_idEvent image logo.
venuevenue_idEvent Venue.
organizerorganizer_idEvent Organizer.
formatformat_idEvent Format.
categorycategory_idEvent Category.
subcategorysubcategory_idEvent Subcategory.
bookmark_infobookmark_infoIndicates 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_policyrefund_policyEvent Refund Policy.
ticket_availabilityticket_availabilityOverview of availability of all Ticket Classes
external_ticketingexternal_ticketingExternal ticketing data for the Event.
music_propertiesmusic_propertiesEvent Music Properties
publish_settingspublish_settingsEvent publish settings.
basic_inventory_infobasic_inventory_infoIndicates whether the event has Ticket Classes, Inventory Tiers, Donation Ticket Classes, Ticket Rules, Inventory Add-Ons, and/or Admission Inventory Tiers.
event_sales_statusevent_sales_statusEvent’s sales status details
checkout_settings checkout_settingsEvent checkout and payment settings.
listing_propertieslisting_propertiesDisplay/listing details about the event
has_digital_contenthas_digital_contentWhether 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.

FieldTypeDescription
namemultipart-textEvent name.
summarystring(Optional) Event summary. Short summary describing the event and its purpose.
descriptionmultipart-text(DEPRECATED) (Optional) Event description. Description can be lengthy and have significant formatting.
urlstringURL of the Event's Listing page on eventbrite.com.
startdatetime-tzEvent start date and time.
enddatetime-tzEvent end date and time.
createddatetimeEvent creation date and time.
changeddatetimeDate and time of most recent changes to the Event.
publisheddatetimeEvent publication date and time.
statusstringEvent status. Can be draft, live, started, ended, completed and canceled.
currencystringEvent ISO 4217 currency code.
online_eventbooleantrue = Specifies that the Event is online only (i.e. the Event does not have a Venue).
hide_start_datebooleanIf true, the event's start date should never be displayed to attendees.
hide_end_datebooleanIf 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.

FieldTypeDescription
listedbooleantrue = Allows the Event to be publicly searchable on the Eventbrite website.
shareablebooleantrue = Event is shareable, by including social sharing buttons for the Event to Eventbrite applications.
invite_onlybooleantrue = Only invitees who have received an email inviting them to the Event are able to see Eventbrite applications.
show_remainingbooleantrue = Provides, to Eventbrite applications, the total number of remaining tickets for the Event.
passwordstringEvent password used by visitors to access the details of the Event.
capacityintegerMaximum 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_custombooleantrue = 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.

FieldTypeDescription
age_restrictionenumMinimum age requirement of event attendees.
presented_bystringMain music event sponsor.
door_timestringTime 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.

ExpansionSourceDescription
logologo_idEvent image logo.
venuevenue_idEvent Venue.
organizerorganizer_idEvent Organizer.
formatformat_idEvent Format.
categorycategory_idEvent Category.
subcategorysubcategory_idEvent Subcategory.
bookmark_infobookmark_infoIndicates 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_policyrefund_policyEvent Refund Policy.
ticket_availabilityticket_availabilityOverview of availability of all Ticket Classes
external_ticketingexternal_ticketingExternal ticketing data for the Event.
music_propertiesmusic_propertiesEvent Music Properties
publish_settingspublish_settingsEvent publish settings.
basic_inventory_infobasic_inventory_infoIndicates whether the event has Ticket Classes, Inventory Tiers, Donation Ticket Classes, Ticket Rules, Inventory Add-Ons, and/or Admission Inventory Tiers.
event_sales_statusevent_sales_statusEvent’s sales status details
checkout_settings checkout_settingsEvent checkout and payment settings.
listing_propertieslisting_propertiesDisplay/listing details about the event
has_digital_contenthas_digital_contentWhether 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

FieldTypeDescription
createddatetimeDate and time the Order was placed and the Attendee created.
changeddatetimeDate and time of the last change to Attendee.
namestringOrder owner name. To ensure forward compatibility with non-Western names, use this field instead of first_name/last_name.
first_namestringOrder owner first name. Use name field instead.
last_namestringOrder owner last name. Use name field instead.
emailstringOrder owner email address.
costsorder-costsCost breakdown of the Order.
event_idstringOrder's Event ID.
time_remainingnumberTime remaining to complete Order (in seconds).
questionsorder-questions(Optional) Custom questions shown to Order's owner.
answersorder-answers(Optional) Answers to custom questions shown to Order's owner.
promo_codestring(Optional) Discount code applied to Order.
statusstringOrder status.

Order Costs Fields

Contains a breakdown of Order costs.

FieldTypeDescription
base_pricecurrencyOrder 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_pricecurrencyOrder 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_feecurrencyOrder amount with fees and tax included (absorbed) in the price as displayed.
grosscurrencyTotal amount of Order.
eventbrite_feecurrencyEventbrite fee as portion of Order gross amount. Do not expose this field to Order owner.
payment_feecurrencyPayment processor fee as portion of Order gross amount.
taxcurrencyTax as portion of Order gross amount passed to Event Organization.
display_taxorder-display-taxOrder tax. Same value as tax field, but also includes the tax name.
price_before_discountcurrencyOrder price before a Discount code is applied. If no discount code is applied, value should be equal to display_price.
discount_amountcurrencyOrder total Discount. If no discount code is applied, discount_amount will not be returned.
discount_typestringType 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_componentsCost Component (list)List of price costs components that belong to the fee display group.
tax_componentsCost Component (list)List of price costs components that belong to the tax display group.
shipping_componentsCost Component (list)List of price costs components that belong to the shippig display group.
has_gts_taxbooleanIndicates if any of the tax_components is a gts tax.
tax_namestringThe name of the tax that applies, if any.

Display Tax Fields

FieldTypeDescription
namestringTax name.
taxcurrencyTax amount.

Refund Request Fields

The Order includes a refund request.

FieldTypeDescription
from_emailstringEmail used to create the refund request.
from_namestringRefund request name.
statusstringRefund request status.
messagestringMessage associated with the refund request.
reasonstringRefund request reason code.
last_messagestringLast message associated with the last status of the refund request.
last_reasonstringLast reason code of the refund request.
itemslist of refund_itemRequested refunded items of the refund request.

Refund Item Fields

A Refund Request contains a refund item.

FieldTypeDescription
event_idstringRefund item Event.
order_idstringRefund item Order. Field can be null.
processed_datedatetime(Optional) The date and time this refund item was processed, if it has been processed.
item_typestringRefund item Order type. Use order for full refund, attendee for partial refund for the Attendee, or merchandise for partial refund as merchandise.
amount_processedcurrency(Optional) The amount of money refunded. This will be absent if the refund has not been processed.
amount_requestedcurrency(Optional) The amount of money requested for refund. Only appears for attendee-initiated refunds.
quantity_processednumber(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_requestednumber(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_codestringA descriptive code for the refund reason
statusstringRefund item status, one of pending, processed, or error

Order Questions Fields

Use to present Custom Questions to an Attendee.

FieldTypeDescription
idstringCustom Question ID.
labelstringCustom Question Label.
typestringCan be text, url, email, date, number, address, or dropdown
requiredbooleantrue = Answer to custom question is required.

Order Answers Fields

Contains information on an Attendee's answers to custom questions.

FieldTypeDescription
question_idstringCustom Question ID.
attendee_idstringAttendee ID.
questionstringCustom Question text.
typestringCan be text, url, email, date, number, address, or dropdown.
answervariesAnswer 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.

FieldTypeDescription
createddatetimeOrder note creation date and time.
textstringOrder note content up to 2000 characters.
typestringType of Order associated with order note, always and only order.
event_ideventID of Event associated with Order.
order_idorderID of Order associated with order note.
author_namestringFirst 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.

ExpansionSourceDescription
eventevent_idOrder's associated Event.
attendeesattendee(list)Order's Attendees.
merchandisemerchandise(list)Merchandise included in this Order.
conciergeconciergeOrder's concierge.
refund_requestsrefund_requestOrder's refund request.
surveyorder-questions(Optional) Order's custom questions.
survey_responsesorder-survey-responses(object)(Optional) Order's responses to survey questions.
answersorder-answers(Optional) Order's answers to custom questions.
ticket_buyer_settingsticket_buyer_settings(Optional) Include information relevant to the purchaser, including confirmation messages.
contact_list_preferencescontact_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.

FieldTypeDescription
idstringOrganization 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).
namestringOrganization Name.
image_idstring(Optional) ID of the image for an Organization.
verticalstringType 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

FieldTypeDescription
namestringTicket Group name. A name containing more than 20 characters is automatically truncated.
statusstringTicket Group status. Can be transfer, live, deleted or archived. By default, the status is live.
event_ticket_idsdictDictionary showing the Ticket Class IDs associated with a specific Event ID.
ticketsobjectlistList 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

FieldTypeDescription
addressaddressVenue address.
idstringVenue ID.
age_restrictionstringAge restriction of the Venue.
capacitynumberMaximum number of tickets that can be sold for the Venue.
namestringVenue name.
latitudestringLatitude coordinates of the Venue address.
longitudestringLongitude 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:

NameKindRequiredDescription
EVENTBRITE_API_KEYper_callYesSet 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

For agents: pass /documentation/eventbrite/agents.md to install this CLI from a prompt.