For agents & LLMs

Registration infrastructure
agents can drive.

Create a class with a single call and get back a hosted registration page, a drop-in embed, and payment-readiness. Sorted runs the registration hot path and collects student payments — your agent just publishes the link.

This is Sorted's primary product. Virtual waiting rooms are a separate Queue as a Service option for merchants that need immediate surge protection but are not ready to migrate their registration flow.

Claude Code plugin: claude plugin install josefrichter/sorted-claude-plugin
agent → sorted
# MCP — JSON-RPC over POST /mcp
tools/call create_event {
"title": "Intro to Pottery",
"capacity": 20, "price": 4500,
"datetime": "2026-09-01T17:00:00Z"
}
{
"public_url": "https://sorted.fast/organizers/acme/events/aZ4k9mQ2pX0",
"embed_code": "<iframe src=…>",
"payment": { "status": "required" },
"agent": { "hosted_registration_ready": true }
}

How it works

Three steps. Your agent never touches the registration hot path or handles money.

01

Create

Call create_event over MCP or REST. A registration worker spins up instantly — built to absorb thousands of concurrent sign-ups.

02

Receive deliverables

Every response includes public_url, embed_url, embed_code, live payment readiness, and agent metadata — no page scraping.

03

Publish

Share the hosted link or paste the iframe anywhere. Sorted hosts registration and collects student payments via Stripe Connect.

Three ways to connect

Pick the integration that fits your client. They all reuse the same auth and the same class logic.

M

MCP server

A Model Context Protocol endpoint at POST /mcp (JSON-RPC 2.0). Core tools manage classes and registrations; virtual waiting rooms are a separate secondary option for merchants avoiding a migration. Docs and the API catalog are also available as MCP resources.

Authorization: Bearer <api_key>

R

REST API

Plain JSON over HTTPS for the core event and registration platform. Queue endpoints are a separate virtual waiting-room option. Create, read, update and cancel — the same shapes the MCP tools return.

X-API-Key  ·  or Bearer

D

Discovery

Self-describing for agents: an A2A agent card, an LLM site map, operating instructions, and a machine-readable API catalog — all unauthenticated.

/.well-known/agent.json

MCP tools

Exposed via tools/list and invoked with tools/call. Organizer keys are scoped to their own classes; admin keys pass an explicit organizer_id.

Tools map onto the REST API and return the same payload shapes, including hosted links, payment status, async registration acceptance, and queue positions.

Events
create_event Create a class and start its registration worker. Description accepts Markdown. Returns links, embed code and payment readiness.
list_events List classes visible to the key (organizer-scoped, or all for admin).
get_event Fetch one class with live registration count and current price.
update_event Update a class (pricing mode is immutable after creation).
cancel_event Soft-cancel a class; data is preserved, listings updated.
get_price_history Return the dynamic-pricing history for a class, newest first.
Photos
add_event_photo Add a photo by URL — Sorted downloads and stores the image (no object storage to manage).
set_primary_event_photo Make an existing photo the cover/hero image.
remove_event_photo Remove a photo from a class.
create_photo_upload_url Get a presigned URL to upload raw image bytes directly.
Registrations
list_registrations List registrations visible to the key.
queue_registration Queue a registration through the ETS hot path.
get_registration Fetch one registration by class and user.
update_registration Update registration status or amount paid.
remove_registration Remove a student from a class.
Queues (Secondary: virtual waiting rooms)
list_queues List queue events visible to the key.
create_queue Create a virtual waiting room.
get_queue Fetch one queue with live queue length.
update_queue Update a queue event.
delete_queue Delete a queue event.
join_queue Join a visitor to a queue.
get_queue_status Return a visitor position and estimated wait.
verify_queue_token Verify a queue release token.
Accounts & payouts
register_organizer Self-register an organizer from scratch; returns an API key once.
get_payout_onboarding_link Get the Stripe onboarding URL to hand the human organizer (enables payouts).
Available now

API key auth

Generate a key in your dashboard and present it as X-API-Key or Authorization: Bearer <key>. Ideal for programmatic and self-hosted agents.

  • Organizer-scoped — keys only touch their own classes
  • Rate-limited per IP and per key
  • Works for both MCP and REST
Available now

OAuth “click to connect”

For hosted agent clients that onboard with a browser flow. The MCP endpoint is a standards-based protected resource — it publishes /.well-known/oauth-protected-resource metadata and challenges with WWW-Authenticate.

  • Browser login + consent, then the client gets an OAuth 2.1 access token
  • Accepted on the same MCP endpoint, interchangeably with API keys
  • RFC 9728 metadata advertises the authorization server

Give your agent something to publish.

Spin up a class, hand back a link, and let Sorted handle the rest — registration, waitlists, and payments included.