Changelog.
Terse, date-ordered log of API and docs changes. Phase C (customer experience) entries start at the top. No pre-Phase-C history is reconstructed here; consult git if you need it.
Phase C — customer experience
-
2026-04-19
added
docs.relaystation.ai— Quickstart, Concepts (leases, handoff, pricing, auth, errors), Services (storage, mailbox, checkpoint), Integrations (MCP, x402, Verafirma), and this OpenAPI / Changelog reference. -
2026-04-19
added
/v1/account/me,/v1/account/ledger,/v1/account/api-keys(single-key rotate/revoke, Option S). Gated byrequireAuth; acceptsrs_live_API keys or account JWTs. -
2026-04-19
added
DELETE /api/handoffs/:id— revoke an outstanding handoff token. Idempotent; second call returns404. Claims already completed are not rolled back. -
2026-04-19
added
requireDashboardAuthmiddleware — transitional gate that accepts API keys, account JWTs, and legacy wallet-signature JWTs. The wallet-JWT branch is marked[PHASE-C wallet-JWT transitional branch]and retires post-Phase C. -
2026-04-19
added
Shared design tokens + components at
public/shared/tokens.css+components.css+nav.html. Dashboard and marketing now consume a single source of truth. -
2026-04-19
renamed
Full rebrand from
stashdata/stashdata.devtorelaystation/relaystation.ai. Repo-wide grep returns zero user-facing hits. - 2026-04-19 docs Service-variant framing locked per §3.6 of the Phase C design doc: Mailbox and Checkpoint lead with the clean one-shot "pickup triggers deletion" story; the fuller v1 backend capabilities are disclosed under "How the backend implements this shortcut today."
Known gaps we haven't closed yet
- Handoff on Mailbox + Checkpoint.
POST /api/handoff/:lease_idis wired for Storage only in v1. Mailbox / Checkpoint service pages document the bridging pattern (wrap the payload in a Storage lease withdelete_on_claim: true) until native handoff lands. - OpenAPI spec drift.
reference/openapi.jsonis hand-authored. Response schemas for/api/leases,/api/mailboxes, and/api/checkpointsare currently described at a high level rather than fully shape-typed; pasting real captures is tracked for a future pass.