docs · for developers

REST API

Everything the dashboard can do to a site, over HTTPS. 71 routes under /v1, authenticated with workspace tokens, described by an OpenAPI 3.1 document.

Authentication and scopes

curl https://api.cookiecrumbs.eu/v1/sites \
  -H "Authorization: Bearer cc_…"

Create tokens under Workspace settings → Developers (the secret is shown once) or with cookiecrumbs tokens create. Every route declares the scope it needs: sites:read, sites:write, banner:read, banner:write, banner:publish, scans:read, scans:run, logs:read, logs:export, analytics:read. Tokens can be bound to one site or environment and expire on a date you set.

The surface

GroupWhat it covers
sitesList, create, read and update sites (PATCH /sites/:id: name, retention, settings), their domains and domain verification.
configRead and write the draft (GET/PUT /sites/:id/config/draft), server-side validation (POST …/config/validate).
versionsPublish (POST /sites/:id/versions), list, roll back, promote preview to production.
scansQueue and read scans, findings as JSON, CSV or SARIF (GET /scans/:id/findings?format=…), the diff against the previous run, the scan schedule (GET/PATCH /sites/:id/scan-schedule) and install checks (GET/POST /sites/:id/install-checks).
servicesThe recorded trackers: list, create, update, delete; compliance issues and their suppression (POST /issues/:id/suppress).
declarationThe public cookie list as .json, .html or .md, per language.
consentsRead consent records; subject IDs are masked without logs:export.
exportsCreate and download signed proof exports. Downloads carry X-Content-SHA256, X-Signature-Ed25519 and X-Signing-Kid so anyone can verify the file against the published keys.
alerts · webhooks · templates · tokensThe alert inbox and alert channels, webhook endpoints and deliveries, banner templates (list, read, save, update, delete, apply), token management.
me · rGET /v1/me describes the token; GET /v1/r resolves a visitor's country to a regime (used by the runtime).

Billing endpoints exist but accept a signed-in user only, never a cc_* token.

Limits and errors

600 requests per minute per token. Errors are RFC 9457 problem+json with a stable type, so match on that rather than the message text.

The OpenAPI document

GET https://api.cookiecrumbs.eu/v1/openapi.json is the machine-readable contract, suitable for generating clients. The dashboard's Developers page links a rendered copy.