{"lexicon":1,"id":"tickets.atmosphere.claimWaitlistOffer","defs":{"main":{"type":"procedure","description":"Claim a ticket waitlist OFFER by starting checkout against its already-reserved offer hold. Returns an ATM checkout URL; ATM never auto-charges a waitlister. Requires app service-auth.","input":{"encoding":"application/json","schema":{"type":"object","required":["waitlistId"],"properties":{"environment":{"type":"string","knownValues":["test","live"],"maxLength":16},"waitlistId":{"type":"string","minLength":1,"maxLength":300},"buyerDid":{"type":"string","format":"did"},"buyerAssertionJwt":{"type":"string","description":"Optional short-lived user service-auth JWT from buyerDid to ATM, scoped to tickets.atmosphere.claimWaitlistOffer.","maxLength":8192},"customerEmail":{"type":"string","maxLength":320,"description":"Private delivery/receipt hint. Stored privately by ATM; never written to protocol records."},"returnUrl":{"type":"string","format":"uri","maxLength":2000},"cancelUrl":{"type":"string","format":"uri","maxLength":2000}}}},"output":{"encoding":"application/json","schema":{"type":"object","required":["waitlistId","holdId","token","url","expiresAt","amount","currency"],"properties":{"waitlistId":{"type":"string","maxLength":300},"holdId":{"type":"string","maxLength":300},"token":{"type":"string","maxLength":500},"url":{"type":"string","format":"uri","maxLength":2000},"environment":{"type":"string","knownValues":["test","live"],"maxLength":16},"expiresAt":{"type":"string","format":"datetime"},"amount":{"type":"integer","minimum":0},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Lowercase ISO 4217 currency code, matching money.atmosphere.price."}}}},"errors":[{"name":"AppNotRegistered","description":"Caller DID is not registered as an ATM app."},{"name":"TicketsModuleDisabled","description":"This app has not enabled ATM Tickets."},{"name":"WaitlistEntryNotFound","description":"Waitlist entry not found."},{"name":"WaitlistOfferNotClaimable","description":"This waitlist entry has no active offer to claim."},{"name":"WaitlistOfferExpired","description":"This waitlist offer has expired."},{"name":"WaitlistOfferAlreadyClaimed","description":"This waitlist offer was already claimed."},{"name":"WaitlistClaimIdentityMismatch","description":"The claiming identity does not match the waitlist entry's buyer."},{"name":"LiveModeNotEnabled","description":"This app may not start live-environment checkouts yet."},{"name":"UserDidMismatch","description":"buyerAssertionJwt issuer does not match buyerDid."}]}}}