Skip to content

Consent purposes

Every profile’s consent map answers these keys, and every switch that offers one is labelled from here. One is fixed for every organization, marketing, the master switch every other purpose sits under; the rest are whatever your own code declares under purposes in cow.json. transactional is not here and never will be: it is why a receipt or an alert goes out, which is not something a recipient chooses, so nothing stores an answer to it. Read-only: purposes are code, so a push is what adds or relabels one, and nothing ever deletes one, because profiles already hold answers against it.

List the consent purposes this organization declares

Auth: Session token.

Query parameters

{
"cursor": "string",
"limit": 50
}
Field Type Required Constraints
cursor string no
limit integer no default 50; 1 ≤ x ≤ 100

Response 200

{
"data": [
{
"key": "string",
"label": "string",
"defaultGranted": true
}
],
"meta": {
"requestId": "string",
"nextCursor": "string",
"hasMore": true
}
}
Field Type Required Constraints
data object[] yes
data[] object yes
data[].key string yes length 0–50
data[].label string yes
data[].defaultGranted boolean yes
meta object no
meta.requestId string no
meta.nextCursor string | null no
meta.hasMore boolean no

Errors follow the shared envelope and code table.