---
title: "Record a batch of consent decisions"
method: POST
path: "/v1/consents"
tags: ["consents"]
---

# Record a batch of consent decisions

`POST /v1/consents`

## Request

- Base URL: `https://api.getmyhotels.com`
- URL: `https://api.getmyhotels.com/v1/consents`
- Auth: none declared

Runs `compliance.recordConsentBatch` (public — signup and cookie-banner capture). Anonymous callers MUST send a `cookie:<cuid>` subjectId and a `cookie_banner` or `signup_form` source; signed-in callers are bound to their own account automatically and the subjectId is ignored.

## Request body

- object
  - `subjectId` string
  - `decisions` object[], required
    - `purpose` 'cookies.analytics' | 'cookies.marketing' | 'cookies.preferences' | 'marketing.email' | 'marketing.sms' | 'marketing.push' | 'ai.training' | 'ccpa.do_not_sell' | 'terms' | 'privacy' | 'age_confirmation' | 'auto_rebook', required
    - `granted` boolean, required
  - `policyVersion` string
  - `source` 'cookie_banner' | 'signup_form' | 'settings' | 'stop_keyword' | 'unsubscribe_link' | 'admin', required

## Response `200`

Success

- unknown

## Other responses

- `400`: Request validation failed or the router rejected the input
- `426`: Reported X-GMH-App-Version is below the supported minimum — the app must update
- `500`: Unexpected server error (opaque; details stay in logs)

---

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