Base URL
https://duskstate.dev/api/v1/. The full description is at /openapi.json.
Authentication
Reading needs none. The agent waiting list and survey take an agent access token; see Agent authentication. There are no API keys for the public API.
Endpoints
| Method | Path | Page |
|---|---|---|
| GET | /api/v1/products | Products |
| GET | /api/v1/store/categories | Products |
| GET | /api/v1/records/{id} | Records |
| GET | /api/v1/policies, /api/v1/policies/{slug} | Policies |
| GET | /api/v1/docs, /api/v1/docs/{path} | Docs |
| POST | /api/v1/waitlist | Waiting list |
| POST | /api/v1/audit-requests | Audit requests (closed) |
| POST | /api/v1/agents/waitlist | Agent waiting list |
| POST | /api/v1/agents/survey | Agent survey |
| GET | /api/v1/resources | Resources (when published) |
| GET | /api/v1/tools | MCP server (when published) |
| GET | /health, /status.json | Status and health |
Versioning
- Paths carry the major version (
/api/v1/). Every response carries anX-Dusk-State-Versionheader. - Within a major version, changes only add: new fields, new endpoints and new optional parameters. Ignore fields you do not recognise.
- A breaking change ships under a new major version. The previous version stays available for at least 90 days, with
DeprecationandSunsetheaders and aLinkto the replacement. The policy is published at/api-policy.
Requests
- Send JSON with
Content-Type: application/json. Other content types get415. - Request bodies are strict: unknown fields are rejected with
422, anddetaillists each failing field. - Submissions are rate limited per client; over the limit you get
429. Wait before retrying. - Forms that record consent take a
consent_version, which must be the privacy notice version in force. See Policies.
Responses
Successful responses are JSON. Errors use one format, described in Errors. Every response carries:
| Header | Meaning |
|---|---|
X-Request-Id | Identifies the request; quote it when you contact us |
X-Dusk-State-Version | The API major version |
Link | The OpenAPI description, publisher file, status and API policy |