---
title: "Record Consent"
method: POST
path: "/v1/consent/record"
tags: ["consent-api"]
---

# Record Consent

`POST /v1/consent/record`

## Request

- Base URL: `https://api.openproof.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openproof.io/v1/consent/record`
- Auth: none declared. Required headers: `X-OpenProof-Api-Key`

Record a decision the business collected through its own channel (a mobile app, a call centre, a paper
form). It goes into the same tamper-evident chain as decisions made on the banner or the consent page.
The business is vouching for it -- OpenProof records WHAT was reported and WHEN it was reported.

Send an `Idempotency-Key` header (any unique string, up to 100 characters) so a retry after a timeout
cannot record the decision twice: the same key with the same request returns the original record
(200); the same key with a different request is a 409.

## Headers

- `Idempotency-Key` string, nullable
- `X-OpenProof-Api-Key` string, required

## Request body

- RecordCreate
  - `identifier` string, required
  - `category` string, required
  - `status` string, required
  - `source` string, nullable
  - `reference` string, nullable
  - `notice_version` integer, nullable
  - `language` string, nullable
  - `guardian_email` string, nullable

## Response `201`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/openproof/apis/openproof-api.md) · [All operations](https://skmtc.dev/openproof/apis/openproof-api/llms.txt) · [OpenAPI document](https://skmtc.dev/openproof/apis/openproof-api/revisions/ddd0cac7c37e?raw)
