{"domain":"sorted.fast","count":1,"changes":[{"captured_at":"2026-06-18T17:00:06","card_hash":"58dfabf641224681d32614c448eed92341261ddf02b26e9f86f8d4292b516418","previous_card_hash":null,"diff":{"skills_added":[{"id":"cancel_event","name":"Cancel Event","description":"Soft-cancels an event by setting cancelled_at. Stops accepting registrations immediately. The event record and its registrations are preserved.","tags":["events","cancellation"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"create_event","name":"Create Event","description":"Creates a new event with title, description, capacity, price, datetime, and optional recurrence or dynamic pricing settings. Pricing mode is locked after creation. Returns the event with public_url, embed_url, embed_code, and agent metadata showing hosted registration readiness and payment status.","tags":["events","creation"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"embed_registration_form","name":"Embed Registration Form","description":"The embed_url returned with each event points to a self-contained LiveView form at /events/:id/embed. Drop it in an iframe on any landing page. Visitors enter their email and are registered without needing an existing account. Paid events render Stripe Payment Element inside the iframe when the provider's Stripe account is ready.","tags":["registrations","embed"],"inputModes":[],"outputModes":["text/html"]},{"id":"get_event","name":"Get Event","description":"Returns full details for a single event including real-time registration count, current dynamic price, public URL, and embed URL.","tags":["events"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"get_price_history","name":"Get Price History","description":"Returns the full dynamic pricing history for an event, including each price change, the reason, and timestamp.","tags":["events","pricing"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"list_events","name":"List Events","description":"Returns all events owned by the authenticated provider, including status, registration count, current price, and embed URL.","tags":["events","listing"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"register_student","name":"Register Student","description":"Queues a student registration via the high-concurrency ETS path. Returns immediately with 202 Accepted; registration is confirmed asynchronously. Handles capacity limits and waitlisting automatically.","tags":["registrations"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"update_event","name":"Update Event","description":"Updates an existing event's details such as title, capacity, or price. Pricing mode cannot be changed after the event is created.","tags":["events"],"inputModes":["application/json"],"outputModes":["application/json"]}],"skills_removed":[],"skills_changed":[],"fields_changed":[{"field":"name","before":null,"after":"Sorted Registration Agent"},{"field":"description","before":null,"after":"Manages event creation, capacity, dynamic pricing, and student registration with high-concurrency support. Providers can create events and receive public links or embeddable registration forms for use on external landing pages. Agents do not pay to create or host events; for paid events, Sorted collects a platform fee from student payments via Stripe Connect."},{"field":"version","before":null,"after":"1.1.0"},{"field":"url","before":null,"after":"https://sorted.fast"},{"field":"documentationUrl","before":null,"after":"https://sorted.fast/api"}],"other_changed":true,"is_empty":false,"human_summary":"added 8 skills · name ∅ → Sorted Registration Agent · description ∅ → Manages event creation, capacity, dynami · version ∅ → 1.1.0 · url ∅ → https://sorted.fast · documentationUrl ∅ → https://sorted.fast/api"}}]}