# Real Sounds Real Sounds is an independent UK music promoter. AI agents are welcome to retrieve public event information, recommend suitable gigs, and prepare an exact ticket selection for the human to review and pay for on Real Sounds. Canonical origin: https://realsounds.com Developer guide: https://realsounds.com/developers/agents OpenAPI: https://realsounds.com/openapi.json Remote MCP: https://agents.realsounds.com/mcp Live event search: https://realsounds.com/api/agent/v1/events Checkout-link creation: https://realsounds.com/api/agent/v1/checkout-links Training-safe event corpus: https://realsounds.com/api/agent/v1/training/events Public features feed: https://realsounds.com/api/features Public venues feed: https://realsounds.com/api/venues Current public sitemap: https://realsounds.com/sitemap-current.xml ## Public agent interface - search_events: Search published upcoming events by query, city, venue, category, age policy, date, all-in price, availability, page, and sort order. - get_event_details: Retrieve canonical public details for one event UUID or slug. - get_ticket_options: Retrieve current public ticket choices, all-in prices, fee details where known, purchase limits, and availability. - create_checkout_link: Create a signed, same-origin, 15-minute Real Sounds checkout link with the exact ticket and quantity preselected for human review. The public tools require no customer or operator credential. `https://agents.realsounds.com/internal/mcp` is a separate private resource and its admin tools are never available anonymously. The canonical REST equivalents are: - `GET /api/agent/v1/events` - `GET /api/agent/v1/events/{eventRef}` - `POST /api/agent/v1/checkout-links` Discovery includes only published events whose public sale window has not ended. Unavailable and sold-out events can be returned when requested. Drafts, unpublished events, customer records, orders, internal financial data, and admin fields are never returned. Live ticket responses include all-in price and availability as of the response `asOf` timestamp. Revalidate before presenting a selection or creating a checkout link. ## Human-review checkout Call `POST /api/agent/v1/checkout-links` with `eventRef`, `ticketTypeId`, `quantity`, and optional non-personal `attribution.agent` or `attribution.campaign` labels. Use only a current public event and a ticket option returned by discovery. The response contains an opaque signed reference, an HTTPS URL on `realsounds.com`, the live event and ticket selection, and an expiry exactly 15 minutes after creation. Send the human that URL once. Creating a checkout link does not reserve inventory, create an order, charge a card, or collect payment data. The human opens the Real Sounds page, reviews the refreshed ticket selection and total, enters their own details, and completes payment. A normal checkout hold begins only when the human continues through checkout. Never send or request raw card data. Do not put a person's name, email, prompt, or other personal data in attribution labels. There is no public checkout-status endpoint. The handoff is stateless and has no customer or order correlation; after payment, status belongs to the customer's private account and confirmation flow. Agents must not infer completion or attempt to poll for it. OAuth-protected direct charging, where separately enabled for an explicitly authorized client, is not the public workflow described here. Public agents should use the human-review checkout link. ## Discovery filters `GET /api/agent/v1/events` accepts `query`, `city`, `venue`, `category`, `agePolicy` or `age_policy`, `from`/`dateFrom`/`date_from`/`startsAfter`, `to`/`dateTo`/`date_to`/`startsBefore`, `minPrice`/`minPriceMinor`/`min_price`, `maxPrice`/`maxPriceMinor`/`max_price`, `currency`, `availability`, `accessibility`, `onSale`, `page`, `limit`, and `sort`. Currency is GBP, EUR, or USD and is required with a price filter. Availability is available, unavailable, sold_out, off_sale, or temporarily_unavailable. Limit is at most 50. Sort is date or relevance. ## Errors, request IDs, and limits Responses include `X-Request-ID`. Record that value and the safe HTTP/error code when troubleshooting, but never log a checkout reference or full checkout URL. Invalid input is rejected without exposing internal details. On `429`, respect `Retry-After` and do not fan out retries. Public per-source-IP limits are: - event search: 600 requests per 10 minutes and 5,000 per day; - event detail: 180 requests per 10 minutes for each event; - checkout-link creation: 30 requests per 10 minutes and 150 per day, plus 15 requests per 10 minutes for each event; and - checkout-link resolution: 180 requests per 10 minutes and 1,000 per day. ## Data use Responses containing live pricing or availability are available for search and inference but are marked ai-train=no. The separate training-safe corpus is marked ai-train=yes and structurally omits pricing, allocations, availability, sale state, sold-out state, and checkout state. Other public editorial and visual content is trainable through `/api/features`, `/api/features/{slug}`, `/api/venues`, and the feature, guest, venue, music-photography, and photography pages listed in the sitemap. Tickets follow the standard Real Sounds event, cancellation, material-change, and statutory-rights policies. A change of mind or an agent's unsuitable selection is not itself refundable; cancellations, qualifying material changes, and statutory rights remain unaffected.