{"openapi":"3.1.0","info":{"title":"Eventbrite Event Config (BYOK) API","version":"0.1.0","description":"Eventbrite Event Config (BYOK) lets an AI assistant read your own Eventbrite Event Config data through the Eventbrite Event Config API with a key you supply (Eventbrite private token). Read-only: 9 tools (list_categories, list_subcategories, list_formats, get_event_capacity_tier, list_inventory_tiers, list_custom_questions, list_default_questions, get_sales_report, list_organization_roles). The...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-eventbrite-event-config.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-eventbrite-event-config/docs"},"termsOfService":"https://connectorbay.com/byok-eventbrite-event-config/terms"},"servers":[{"url":"https://byok-eventbrite-event-config.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-eventbrite-event-config/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_categories":{"post":{"operationId":"list_categories","summary":"List Eventbrite's event categories (for example Music or Business) with id, name and short name, subcategories nested. U","description":"List Eventbrite's event categories (for example Music or Business) with id, name and short name, subcategories nested. Use for \"What event categories does Eventbrite have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"continuation":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the pagination.continuation value of the previous answer (leave empty for the first page).","title":"Continuation"}},"title":"list_categoriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_subcategories":{"post":{"operationId":"list_subcategories","summary":"List Eventbrite's event subcategories with id, name and the parent category. Use for \"What event subcategories does Even","description":"List Eventbrite's event subcategories with id, name and the parent category. Use for \"What event subcategories does Eventbrite have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"continuation":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the pagination.continuation value of the previous answer (leave empty for the first page).","title":"Continuation"}},"title":"list_subcategoriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_formats":{"post":{"operationId":"list_formats","summary":"List Eventbrite's event formats (for example Seminar or Talk, Festival) with id, name and short name. Use for \"What even","description":"List Eventbrite's event formats (for example Seminar or Talk, Festival) with id, name and short name. Use for \"What event formats can I choose on Eventbrite\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_formatsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_event_capacity_tier":{"post":{"operationId":"get_event_capacity_tier","summary":"Get an event's capacity: total capacity, sold and pending counts, whether the capacity is custom, and general admission ","description":"Get an event's capacity: total capacity, sold and pending counts, whether the capacity is custom, and general admission holds. Use for \"How full is Eventbrite event 1234567890\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"event_id":{"description":"Eventbrite event ID, the number in the event URL, for example '1234567890'.","maxLength":30,"title":"Event Id","type":"string"}},"required":["event_id"],"title":"get_event_capacity_tierArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_inventory_tiers":{"post":{"operationId":"list_inventory_tiers","summary":"List the inventory tiers of an event (shared ticket capacity pools): name, quantity total, sold and pending counts, tick","description":"List the inventory tiers of an event (shared ticket capacity pools): name, quantity total, sold and pending counts, ticket classes and holds. Use for \"What inventory tiers does Eventbrite event 1234567890 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"event_id":{"description":"Eventbrite event ID, the number in the event URL, for example '1234567890'.","maxLength":30,"title":"Event Id","type":"string"},"count_against_event_capacity":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to return only tiers that count against event capacity, false for only those that do not.","title":"Count Against Event Capacity"}},"required":["event_id"],"title":"list_inventory_tiersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_custom_questions":{"post":{"operationId":"list_custom_questions","summary":"List the custom checkout questions of an event: label, type (checkbox, dropdown, text, paragraph, radio, waiver), requir","description":"List the custom checkout questions of an event: label, type (checkbox, dropdown, text, paragraph, radio, waiver), required flag, who is asked and choices. Definitions only, no answers. Use for \"What custom questions does Eventbrite event 1234567890 ask at checkout\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"event_id":{"description":"Eventbrite event ID, the number in the event URL, for example '1234567890'.","maxLength":30,"title":"Event Id","type":"string"},"continuation":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the pagination.continuation value of the previous answer (leave empty for the first page).","title":"Continuation"}},"required":["event_id"],"title":"list_custom_questionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_default_questions":{"post":{"operationId":"list_default_questions","summary":"List the built-in (default) checkout questions of an event such as name, email or job title, with whether each is enable","description":"List the built-in (default) checkout questions of an event such as name, email or job title, with whether each is enabled and required. Use for \"Which default checkout questions are enabled on Eventbrite event 1234567890\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"event_id":{"description":"Eventbrite event ID, the number in the event URL, for example '1234567890'.","maxLength":30,"title":"Event Id","type":"string"},"include_all":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to return the whole list of default questions, not only the enabled ones.","title":"Include All"}},"required":["event_id"],"title":"list_default_questionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_sales_report":{"post":{"operationId":"get_sales_report","summary":"Get an aggregated sales report for an event: gross, net, fees, royalty and ticket quantity per period, optionally groupe","description":"Get an aggregated sales report for an event: gross, net, fees, royalty and ticket quantity per period, optionally grouped (by ticket, currency, country, source and more). Totals only, no buyer records. Use for \"How much did Eventbrite event 1234567890 sell per day\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"event_ids":{"description":"An Eventbrite event ID to report on, for example '1234567890'.","maxLength":30,"title":"Event Ids","type":"string"},"group_by":{"anyOf":[{"enum":["ticket","currency","event","payment_method","country","city","state","source","sales_channel_lvl_1","delivery_method","event_ticket"],"type":"string"},{"type":"null"}],"default":null,"description":"Group the totals by this dimension.","title":"Group By"},"date_facet":{"anyOf":[{"enum":["fifteen","hour","day","event_day","week","month","year","none"],"type":"string"},{"type":"null"}],"default":null,"description":"Period size of each data row; day is the default.","title":"Date Facet"},"period":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Number of date_facet units to report, counted back from now in the event's time zone.","title":"Period"},"start_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Event start date filter, for example 2026-01-01T00:00:00Z.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Event end date filter, for example 2026-12-31T00:00:00Z.","title":"End Date"},"timezone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA time zone name for the periods, for example America/Los_Angeles.","title":"Timezone"}},"required":["event_ids"],"title":"get_sales_reportArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_organization_roles":{"post":{"operationId":"list_organization_roles","summary":"List the roles of an Eventbrite organization: name, description, permissions and whether each can be edited or granted. ","description":"List the roles of an Eventbrite organization: name, description, permissions and whether each can be edited or granted. Use for \"What roles exist in my Eventbrite organization\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Eventbrite organization ID (the id of one of your organizations), for example '1234567890'.","maxLength":30,"title":"Organization Id","type":"string"},"continuation":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the pagination.continuation value of the previous answer (leave empty for the first page).","title":"Continuation"}},"required":["organization_id"],"title":"list_organization_rolesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}