{"protocolVersion":"0.3.0","name":"Passlees","description":"Find and buy event tickets: search events, check seat availability, create an order, pay via a hosted checkout link, and retrieve QR tickets. Anonymous guest flow — no account required.","url":"https://agents.passlees.com/a2a","preferredTransport":"JSONRPC","version":"1.0.0","provider":{"organization":"Mindhalla","url":"https://passlees.com"},"capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"defaultInputModes":["application/json","text/plain"],"defaultOutputModes":["application/json","text/plain"],"skills":[{"id":"search_events","name":"Search events","description":"Search published events by free-text query and/or category. Returns event summaries (id, name, city, venue, starting price). Omit both args to browse everything.","tags":["tickets","discovery","search"],"examples":["Find jazz concerts","What sports events are on sale?"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"get_event","name":"Get event detail","description":"Get one event with its sessions (dates) and ticket types (prices). A ticket type with a section is seated (pick a seat via check_availability); one with ga_capacity is general admission (buy by quantity).","tags":["tickets","discovery"],"examples":["Show me the details and prices for this event"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"check_availability","name":"Check seat availability","description":"List the seat map for a session (reserved seating). Only seats with status \"available\" can be bought. General-admission availability is confirmed at create_order time.","tags":["tickets","inventory"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"create_order","name":"Create order","description":"Reserve seats and/or general-admission tickets and create an unpaid order. Provide seats (each {ticket_type_id, seat_id}) and/or ga (each {ticket_type_id, quantity}) — at least one. Returns order_id, total, expires_at, and a guest_access_token you MUST keep to check status and fetch tickets. Then call start_payment.","tags":["tickets","checkout"],"examples":["Buy 2 general admission tickets","Reserve seat A12 for me"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"start_payment","name":"Start payment","description":"Create a payment intent for an order and return a hosted checkout_url the buyer opens in a browser to pay. If mock_confirm is true (dev sandbox), settle instead with confirm_payment_sandbox.","tags":["tickets","payment"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"get_order_status","name":"Get order status","description":"Check whether an order has been paid. Poll this after start_payment until paid is true, then call get_tickets.","tags":["tickets","orders"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"get_tickets","name":"Get tickets","description":"Fetch the issued tickets (with QR codes) for a paid order. Returns an empty list until the order is paid and tickets are issued.","tags":["tickets","fulfillment"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"confirm_payment_sandbox","name":"Confirm payment (sandbox)","description":"DEV/SANDBOX ONLY: settle a payment through the mock provider (stands in for a provider webhook). Fails when a real payment provider is configured — then use the checkout_url from start_payment instead.","tags":["tickets","payment","sandbox"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]}]}
