Record a visitor's cookie consent choice (widget loader, browser key)
POST/api/public/consent
Doc 106 §3.5, §4.6, CMP-1 — what the chat widget's loader sends for
every explicit choice made through ConnectWiz consent
(window.cwz.consent.set(), later the banner). Same keys, domain
check, CORS and text/plain JSON body as recordWebsiteTouch; its own
rate limit per key + client IP.
Stored APPEND-ONLY (a changed mind is a new row): the consent id, the
banner version, the categories (necessary is always true), the action,
the page without its query string, the language — and from the request
the country (edge header), the IP cut to /24 (IPv4) or /48 (IPv6) with
a keyed hash of the whole address, and a browser/OS/device summary.
Never the raw IP or user agent. Never written to consents: a cookie
choice is not a general, marketing or İYS consent (doc 106 rule 7).
On a site without ConnectWiz consent switched on (or not linked to the
widget) nothing is stored (outcome: ignored).
Request
Responses
- 200
- 201
- 401
- 403
- 404
- 422
- 429
The site does not use ConnectWiz consent (outcome ignored).
Recorded.
No key (missing_key) or an unknown one (unknown_key).
The site is switched off, not linked to the widget, or the request is not from its domains.
The workspace has no website connection (unknown_site).
The request failed validation.
Rate limit exceeded.
Response Headers
Request quota for the current window.
Remaining requests in the current window.
Seconds to wait before retrying.