Policies

Published policies, their versions, and the consent version forms must send.

List

GET /api/v1/policies returns every published policy without its text: slug, title, summary, version, effective_on, placements and provisional.

provisional: true means the text is published but still pending owner review; the page shows a notice saying so.

One policy

GET /api/v1/policies/{slug} returns the same fields plus body, the text in Markdown. An unknown slug returns 404. The rendered page is at https://duskstate.dev/{slug}.

Policies published now: privacy, terms, refunds, store-policy.

Versions

A version looks like privacy-2026-10-04, with .2, .3 for later versions on the same day. Publishing a new version supersedes the previous one; superseded versions are kept for the record.

Forms that record consent send consent_version. It must equal the version of the privacy policy in force at the time of submission. If the notice changed after you read it, the request fails with 409 and detail.current_version; read the current notice and submit again with that version.