Quickstart

Four requests that show what the API offers, with no account or key.

Every request below works from a terminal with curl. Add | jq for readable output.

1. See what works now

curl -s https://duskstate.dev/capabilities.json

Each capability has an id, an endpoint, a method and its auth. Anything not listed is not available, whatever else you read.

2. Read a public record

curl -s https://duskstate.dev/api/v1/records/dusk-state

A record is a list of claims. Each claim has a statement, a label (observed, inferred, proposed, unknown or superseded) and the evidence behind it. See Concepts and Records.

curl -s https://duskstate.dev/api/v1/policies/privacy | jq -r .version

Every form that records consent sends this value as consent_version. See Policies.

4. Join the waiting list

curl -s -X POST https://duskstate.dev/api/v1/waitlist \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Ada Example",
    "email": "ada@example.com",
    "interests": ["store", "agent-services"],
    "consent": true,
    "consent_version": "<version from step 3>",
    "legend_terms_version": "legend-2026-10-04"
  }'

The reply is 202 with {"status": "received", "legend": true} or false. It is the same whether or not the email was already listed. If the waiting list is closed you get 503. See Waiting list.

Next

  • Public API for conventions that apply to every endpoint.
  • Agents if you are building or running an agent.