# OpenTicket > Agent-native ticketing: every ticket is discoverable and buyable by an AI > agent. Payments via Stripe (hosted checkout). "Your agent handles the checkout." ## Skills (fastest path) - Install once: `npx skills add LucasLeguizamo/openticket-skills --copy` - Teaches any agent the full flow: discovery, buy within spend_limit, idempotent retries, structured errors. - Repo: https://github.com/LucasLeguizamo/openticket-skills ## Discovery - [Events feed (JSON)](https://open-ticket-ochre.vercel.app/api/events): published events + ticket types with price (minor units), ISO 4217 currency and available quota. - [Live ticker (SSE)](https://open-ticket-ochre.vercel.app/api/ticker): public activity stream, no PII. - [OpenAPI 3.1](https://open-ticket-ochre.vercel.app/openapi.json): spec of the public endpoints. ## Buying via MCP (recommended) - MCP server (streamable HTTP): https://open-ticket-ochre.vercel.app/api/mcp - Tools: search_events, get_ticket, buy_ticket, set_reminder. - buy_ticket returns pending_payment + checkout_url (Stripe). Check the status with get_order. - ALWAYS retry with the same idempotency_key (you, the client, generate it). - Structured errors: sold_out, mandate_exceeded, invalid_intent. ## Notes - Honor the user's spend_limit in buy_ticket. - Discovery GETs require no auth. Buying may require an API key once the public feed opens up.