{"lexicon":1,"id":"tickets.atmosphere.getTicketAvailability","defs":{"main":{"type":"query","description":"Read app-scoped ticket availability derived from private ATM holds and issued tickets. Exactly one of eventId or eventUri identifies the event. Requires app service-auth.","parameters":{"type":"params","required":[],"properties":{"environment":{"type":"string","knownValues":["test","live"],"maxLength":16},"eventId":{"type":"string","minLength":1,"maxLength":300},"eventUri":{"type":"string","format":"at-uri"},"eventCode":{"type":"string","minLength":3,"maxLength":64,"description":"Preferred buyer-entered event code. ATM resolves discount, hidden-ticket unlock, or combined effects in the exact event namespace; reading availability never consumes a code."},"accessCode":{"type":"string","minLength":3,"maxLength":64,"description":"Legacy visibility-only input. New storefronts should use eventCode; hidden ticket types are omitted unless the supplied code unlocks them."}}},"output":{"encoding":"application/json","schema":{"type":"object","required":["ticketTypes"],"properties":{"event":{"type":"ref","ref":"tickets.atmosphere.defs#eventSummary"},"ticketTypes":{"type":"array","items":{"type":"ref","ref":"tickets.atmosphere.defs#ticketAvailability"},"maxLength":250}}}},"errors":[{"name":"AppNotRegistered","description":"Caller DID is not registered as an ATM app."},{"name":"TicketsModuleDisabled","description":"This app has not enabled ATM Tickets."},{"name":"EventNotFound","description":"Ticketed event not found."},{"name":"InvalidEventCode","description":"The event code is invalid, unavailable, expired, or exhausted."},{"name":"EventCodeConflict","description":"The event code conflicts with a different legacy code field."}]}}}