Skip to main content
Glama

create_event

Create a new Eventbrite event with specified name, start/end times, and currency. Optionally set it as a series parent for recurring events.

Instructions

Create a new Event.

ENDPOINT: POST /organizations/{organization_id}/events/

By default, this API creates an event that occurs once. In order to create a series of events with multiple occurrences (also known as a "repeating event" or "recurring event"), you must first create one event to serve as the "series parent", then add occurrences to the series parent. Creating the series parent is done by calling the Create Event API with the is_series attribute set to True. Occurrences can then be added to the newly created series parent, using the Event Schedule API.

REQUIRED PARAMETERS:

  • organization_id (string): ID of the Organization that owns the Event

  • name (htmltext, required): Event name. Value cannot be empty nor whitespace

  • start (datetime-tz-utc, required): Start date/time of the event with timezone and UTC

  • end (datetime-tz-utc, required): End date/time of the event with timezone and UTC

  • currency (string, required): The ISO 4217 currency code for this event (e.g., USD, EUR, GBP)

OPTIONAL PARAMETERS:

  • summary (string, optional): Event summary. This is a plaintext field and will have any supplied HTML removed from it. Maximum of 140 characters, mutually exclusive with description

  • description (htmltext, optional, DEPRECATED): Event description (contents of the event page). May be long and have significant formatting. Please refer to the event description tutorial to learn about the new way to create an event description

  • hide_start_date (boolean, optional): Whether the start date should be hidden

  • hide_end_date (boolean, optional): Whether the end date should be hidden

  • online_event (boolean, optional): If this event doesn't have a venue and is only held online (default: false)

  • organizer_id (string): ID of the event organizer

  • logo_id (string, optional): Image ID of the event logo

  • venue_id (string, optional): Event venue ID

  • format_id (string, optional): Event format

  • category_id (string, optional): Event category

  • subcategory_id (string, optional): Event subcategory (US only)

  • listed (boolean, optional): Is this event publicly searchable on Eventbrite? (default: true)

  • shareable (boolean, optional): Can this event show social sharing buttons? (default: false)

  • invite_only (boolean): Can only people with invites see the event page?

  • show_remaining (boolean, optional): If the remaining number of tickets is publicly visible on the event page

  • password (string): Password needed to see the event in unlisted mode

  • capacity (number, optional): Set specific capacity (if omitted, sums ticket capacities)

  • is_reserved_seating (boolean, optional): If the event is reserved seating

  • is_series (boolean, optional): If the event is part of a series. Specifying this attribute as True during event creation will always designate the event as a series parent, never as a series occurrence. Series occurrences must be created through the schedules API and cannot be created using the events API

  • show_pick_a_seat (boolean, optional): For reserved seating event, if attendees can pick their seats

  • show_seatmap_thumbnail (boolean, optional): For reserved seating event, if venue map thumbnail visible on the event page

  • show_colors_in_seatmap_thumbnail (boolean, optional): For reserved seating event, if venue map thumbnail should have colors on the event page

  • source (string, optional): Source of the event (defaults to API)

  • locale (Locale, optional): Indicates event language on Event's listing page (default: en_US)

SUPPORTED LOCALES: de_AT, de_CH, de_DE, en_AU, en_CA, en_DK, en_FI, en_GB, en_HK, en_IE, en_IN, en_NZ, en_SE, en_US, es_AR, es_CL, es_CO, es_ES, fr_BE, fr_CA, fr_CH, fr_FR, hi_IN, it_IT, nl_BE, nl_NL, pt_BR, pt_PT

ERROR RESPONSES:

  • 400 DATE_CONFLICT: Start date cannot be after end date

  • 400 DIFFERENT_TIMEZONES: You have passed different timezones for the start and end times; they must be the same

  • 400 INVALID_DATE: Start and end dates cannot be in the past

  • 400 INVENTORY_TYPE_CONFLICT: Only a single inventory type may be set at once

  • 400 INVITE_CONFLICT: You have set both listed and invite_only; these two options are mutually exclusive, and you are only allowed to set one

  • 400 NO_DEFAULT_ORGANIZER: The event does not have an organizer ID, and no default organizer could be found for the user

  • 400 NO_PACKAGE_SELECTED: You need to select a package to create an event. Go to /organizations/{organization_id}/assortment/ to select a package

  • 400 NO_VENUE: You have attempted to create an event without a venue

  • 400 PASSWORD_CONFLICT: You have set both listed and password; these two options are mutually exclusive, and you are only allowed to set one

  • 400 SHARE_INVITE_CONFLICT: You have set both shareable and invite_only; these two options are mutually exclusive, and you are only allowed to set one

  • 400 UNSUPPORTED_TIMEZONE: The time zone for the start and end times does not exist

  • 400 VENUE_AND_ONLINE: You have set both online_event and venue_id; an event can either have a venue or be online, but not both at the same time

  • 400 SUMMARY_DESCRIPTION_CONFLICT: You have set values for both summary and description; these two options are mutually exclusive, and you may only set one

AUTHENTICATION: Requires: Authorization: Bearer PERSONAL_OAUTH_TOKEN

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesEvent name (required). Value cannot be empty nor whitespace
listedNoIs this event publicly searchable on Eventbrite? (optional, default: true). Mutually exclusive with invite_only and password
localeNoIndicates event language on Event's listing page (optional, default: en_US). Supported: de_AT, de_CH, de_DE, en_AU, en_CA, en_DK, en_FI, en_GB, en_HK, en_IE, en_IN, en_NZ, en_SE, en_US, es_AR, es_CL, es_CO, es_ES, fr_BE, fr_CA, fr_CH, fr_FR, hi_IN, it_IT, nl_BE, nl_NL, pt_BR, pt_PT
logoIdNoImage ID of the event logo (optional)
onlineNoIf this event doesn't have a venue and is only held online (optional, default: false). Cannot be used with venue_id
sourceNoSource of the event (optional, defaults to API)
endTimeYesEvent end time in ISO 8601 UTC format (required). Example: 2024-12-31T23:00:00Z
summaryNoEvent summary (optional). Plaintext field, HTML will be removed. Maximum of 140 characters. Mutually exclusive with description
venueIdNoEvent venue ID (optional). Cannot be used with online_event
capacityNoSet specific capacity (optional). If omitted, sums ticket capacities
currencyYesISO 4217 currency code (required). Examples: USD, EUR, GBP, CAD, AUD
formatIdNoEvent format ID (optional)
isSeriesNoIf the event is part of a series (optional). Specifying this as True during event creation will always designate the event as a series parent, never as a series occurrence. Series occurrences must be created through the schedules API
passwordNoPassword needed to see the event in unlisted mode (optional). Mutually exclusive with listed
timezoneYesTimezone for the event (required). Olson format. Example: America/New_York, America/Los_Angeles, UTC
shareableNoCan this event show social sharing buttons? (optional, default: false). Mutually exclusive with invite_only
startTimeYesEvent start time in ISO 8601 UTC format (required). Example: 2024-12-31T20:00:00Z
categoryIdNoEvent category ID (optional)
inviteOnlyNoCan only people with invites see the event page? (optional). Mutually exclusive with listed and shareable
descriptionNo(DEPRECATED) Event description (supports HTML). Use summary instead. Mutually exclusive with summary. Please refer to the event description tutorial to learn about the new way to create an event description
hideEndDateNoWhether the end date should be hidden (optional)
organizerIdNoID of the event organizer (optional)
hideStartDateNoWhether the start date should be hidden (optional)
showPickASeatNoFor reserved seating event, if attendees can pick their seats (optional)
showRemainingNoIf the remaining number of tickets is publicly visible on the event page (optional)
subcategoryIdNoEvent subcategory ID (optional, US only)
organizationIdYesOrganization ID to create the event under (required)
isReservedSeatingNoIf the event is reserved seating (optional)
showSeatmapThumbnailNoFor reserved seating event, if venue map thumbnail visible on the event page (optional)
showColorsInSeatmapThumbnailNoFor reserved seating event, if venue map thumbnail should have colors on the event page (optional)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.6

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden and does so well: it lists 13 specific 400 error codes documenting mutual-exclusion rules (listed/invite_only, listed/password, summary/description, online_event/venue_id), timezone consistency, no-venue and no-organizer failures, and states the required Bearer auth header.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then endpoint, then series mechanics, then parameters grouped by required/optional, then errors. The parameter enumeration partially duplicates the 100%-covered schema, but the error catalog and series explanation earn their space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 30-parameter mutation tool with no annotations and no output schema, the definition covers auth, defaults, deprecations, mutually exclusive combinations, supported locales, and failure modes. An agent has everything needed to construct a valid call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description adds real value by grouping required vs. optional, flagging description as DEPRECATED, noting summary's 140-character limit and HTML stripping, and surfacing interoperability constraints between parameters rather than restating types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create a new Event') with the endpoint, and goes further to explain the series-parent vs. occurrence distinction. That distinction reliably separates it from siblings like create_event_schedule and update_event.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes recurring-event work: create the event with is_series=True as the series parent, then add occurrences via the Event Schedule API. It does not address when to prefer copy_event or how this differs from other creation paths, but the guidance for the complex case is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools