This page tracks notable changes to the v2 API specification. Entries are ordered newest-first. Subscribe to this page or check back regularly to stay informed about upcoming and recently shipped changes.
2.2.1 (2026-06-02)
- Documentation:
AvailabilityOption.seating_areadescription corrected from "null when venue has no seating areas configured" to "null when not assigned" —nullis also returned when the venue has seating areas but the underlying allocation is not scoped to one. - Documentation: single-resource success responses are now documented with the
{ "data": ... }envelope they have always returned. This affectsPOST /v2/reservations,GET /v2/reservations/{id},PATCH /v2/reservations/{id},POST /v2/reservations/{id}/cancel,GET /v2/venues/{id},POST /v2/entities,GET /v2/entities/{id},PATCH /v2/entities/{id},PUT /v2/entities/{id}/programs, andPOST /v2/entities/{id}/logo. The spec previously showed these as bare objects. The API behavior is unchanged — these responses have always been enveloped; this entry only corrects the spec to match runtime behavior. (POST /v2/holdsintentionally remains a bare object and is unchanged.) - Documentation: several fields that have always been able to return
nullare now correctly documented as nullable —aspect_ratio,width, andheighton image objects (nulluntil image dimensions have been processed),descriptionon seating areas (nullwhen not set),addressonGET /v2/venues/{id}(nullwhen no address is set), andline2within a present address (nullwhen the address has no second line). The spec previously declared these non-nullable, so clients validating responses strictly against 2.2.0 may have rejected nulls they were in practice receiving. The API behavior is unchanged; this entry only corrects the spec to match runtime behavior.
2.2.0 (2026-05-27)
- New
org_idJWT claim on organization-bound access tokens — the recommended way to bind entity context, especially for credentials with access to multiple entities. See requesting an organization-bound token. - New identity introspection endpoints —
GET /v2/identities/mereturns your identity with its associated entity IDs and the IDs of any delegated identities you manage;GET /v2/identities/me/delegates+GET /v2/identities/me/delegates/{id}resolve those IDs to full records. See Authentication. - New
PUT /v2/entities/{id}/programsendpoint — replaces an entity's assigned programs. Requiresentities:update. See the API reference. - New
Entityschema fields —default_program_idat the top level (settable onPOSTandPATCH),unallocated_seat_accesson eachprograms[]entry, andorg_id(the organization id you pass as theorganizationparameter when requesting a token). - New Commitments endpoints —
GET /v2/commitments,GET /v2/commitments/{id},PUT /v2/commitmentsfor viewing and managing your seat allocations. New scopes:commitments:read,commitments:update. See the Seat Allocations guide. - On
GET /v2/commitmentsrows withassignment_status: ended,peer_seatsandunallocated_seatsnow return historical snapshots of the commitment's state when the parent agreement ended (previouslynull); both fields are no longer nullable. The seat math equationtotal_seats = entity_seats + peer_seats + unallocated_seatsnow holds on ended rows. See the Seat Allocations guide. - Deprecated: the
X-Entity-Idrequest header is superseded byorg_id-bound tokens. Existing integrations continue to work and will receive adequate notice before any removal. See requesting an organization-bound token. - Deprecated: the
seat_commitmentsblock onGET /v2/venues/{id}— the block remains in responses with its current shape, andvenues:readcontinues to grant access. Migrate toGET /v2/commitments?venue_id=<id>for the same per-venue view. Removal date will be announced once existing integrations have migrated. - Documentation:
Reservation.program_idis now documented — the program id when the reservation was booked against a program-allocated seat commitment, otherwisenull. The field has always been present in responses; this entry only updates the spec.
2.1.0 (2026-04-28)
- New optional
localefield onPOST /v2/reservationscontrols the language of confirmation, reminder, and cancellation emails sent to the guest. If omitted, the server uses the entity'sdefault_locale. See the Localization guide for supported codes and resolution behavior. - Entities now accept a
default_locale(settable on create and update) that serves as the fallback locale for reservations that do not specify one. Defaults toen-US. - New
_Localereusable schema: a BCP 47-style string enum with 22 supported locale codes, shared by reservation and entity endpoints. - Seating area names are now constrained to a maximum of 32 characters across all responses that include a
seating_areaobject. - Documentation: the
_Addressschema's street fields are now correctly documented asline1andline2(previously shown asline_1/line_2in the spec). The actual API response has always usedline1/line2— this only updates the spec to match. - Documentation: clarified entity context resolution to describe JWT
org_idprecedence overX-Entity-Id. Tokens issued for an organization now resolve entity context automatically; theX-Entity-Idheader remains supported for credentials whose tokens are not org-bound. See the Authentication guide for details. No request/response schema changes. - Documentation:
GET /v2/markets,GET /v2/venues,GET /v2/reservations,POST /v2/holds,GET /v2/entities, andPOST /v2/entitiesnow document a404 Not Foundresponse. The endpoint behavior is unchanged — these endpoints have always been able to return 404 when the calling Identity cannot be resolved or when entity context resolution fails. This entry only updates the spec to match runtime behavior. - Documentation:
GET /v2/entitiesis now described as returning entities scoped to the calling Identity, rather than "all entities accessible to the caller" — the listing has always honored the Identity's entity assignments.
2.0.0 (2026-02-26)
Initial v2 release.