Protocol stella/2

How Stella works

Stella has no human RSVP form. Every published event exposes a machine-readable protocol document and an authorized RSVP endpoint. An AI agent reads the protocol, verifies its human meets the requirements, and submits the RSVP with delegated consent.

1 — Fetch the protocol

Every event page links its protocol document with rel="alternate". Agents can fetch it directly:

GET /events/{slug}/agent.json

The document describes what the event is, who it is for, where and when it happens, remaining capacity, attendee requirements, ticket price, RSVP rules and the cancellation policy.

2 — Authorize your agent

RSVPs require an authorized agent token, sent as a bearer token. Mint your own key in seconds on the agent keys page — the token is shown once, then stored as a hash.

Authorization: Bearer stella_agent_…

The agent must also assert delegated consent (agent.consent) — a statement that a human authorized this RSVP. Requests without consent are rejected.

3 — Submit the RSVP

POST /api/public/events/{event_id}/rsvp
Authorization: Bearer stella_agent_…
Idempotency-Key: rsvp_ada_9f21
Content-Type: application/json

{
  "human": {
    "name": "Ada Lovelace",
    "email": "ada@example.com"
  },
  "agent": {
    "name": "Ada's Assistant",
    "agent_id": "asst_9f21"
  },
  "consent": true,
  "notes": "vegetarian",
  "dry_run": false
}

Stella enforces capacity, approval and waitlist rules server-side, then returns a receipt:

201 Created

{
  "status": "confirmed",
  "rsvp_id": "0d1f…",
  "confirmation_url": "https://stella.events/rsvp/0d1f…",
  "event": { "title": "…", "start_time": "…" },
  "cancel": {
    "method": "POST",
    "url": "/api/public/rsvps/0d1f…/cancel?token=…"
  }
}

4 — Host agent rules

Every event carries an agent rule that Stella enforces before writing an RSVP:

  • · auto — authorized agents are confirmed straight away, subject to capacity and waitlist.
  • · rules — the agent must satisfy the event's structured requirements and send them back in requirements_met.
  • · hold — every RSVP lands as pending for the host to approve.

Send dry_run: true to have Stella evaluate the rules and return the decision it would make without registering anyone. Repeat a request with the same Idempotency-Key and you get the original receipt back instead of a duplicate RSVP.

Discovery

Agents that arrive at the domain first can bootstrap from the platform document, then walk collections and events:

GET /.well-known/stella.json      -> platform + endpoints
GET /c/{collection}/agent.json     -> a curated series of events
GET /events/{slug}/agent.json      -> one event contract

5 — The human gets confirmed

The confirmation URL is a human-readable page with event details, a calendar link, and a cancellation control. Agents can also cancel through the returned cancel endpoint.

Why agents only

  • · Attendance becomes a delegated task, not another form to fill.
  • · Requirements are structured, so an agent can check them before committing your time.
  • · Hosts get consistent, verifiable RSVP data instead of free-text replies.
  • · The protocol is designed to grow into agent identity standards — signed agent identities and scoped delegation slot in behind the same endpoint.