Skip to content

List consent history

GET /consent/{collection_point_id}/consents

Use this endpoint to retrieve all consent log entries recorded for a specific user at a given collection point, ordered from newest to oldest. If the user has no consent records at all (across any collection point), the API returns 404.

Path parameters

ParameterTypeRequiredDescription
collection_point_idstringYesUUID or display_id of the collection point

Query parameters

ParameterTypeDefaultDescription
userIdstringRequired. The user ID whose consent history you want to retrieve.
limitinteger50Number of records to return per page. Maximum: 100.
offsetinteger0Number of records to skip before returning results. Use with limit to paginate.

Headers

HeaderTypeRequiredDescription
X-API-KeystringYesYour tenant API key

Response

200 OK

FieldTypeDescription
collection_pointobjectSnapshot of the collection point at query time
user_idstringThe user ID that was queried
consentsarrayConsent log entries, ordered newest first
total_countintegerTotal number of consent records before pagination
limitintegerThe effective page size for this response
offsetintegerThe effective offset for this response

collection_point fields:

FieldTypeDescription
idstringUUID of the collection point
namestringDisplay name
descriptionstringDescription, or null if not set

consents[] fields:

FieldTypeDescription
idstringUUID of the consent log entry
actionstringThe recorded decision: approved, declined, partial_consent, revoked, or no_action
purpose_consentsarrayPer-purpose breakdown. See Record consent for structure.
timestampstringISO 8601 timestamp
request_idstringRequest identifier supplied at record time, or a server-generated UUID
collection_point_versionintegerVersion of the collection point definition active when this entry was recorded
metadataobjectArbitrary key-value metadata attached to this consent entry
statusstringProcessing status of the consent log entry

Errors

StatusDescription
400userId query parameter is missing
404No collection point found, or the user has no consent records
500Internal server error

Example

Terminal window
curl --request GET \
--url 'https://{your-truConsent-endpoint}/consent/cp_signup_form/consents?userId=usr_7f3a9b21&limit=10&offset=0' \
--header 'X-API-Key: tck_live_xxxxxxxxxxxx'
{
"collection_point": {
"id": "a0b1c2d3-1111-2222-3333-444455556666",
"name": "Sign-up form",
"description": "Consent collected at new user registration"
},
"user_id": "usr_7f3a9b21",
"consents": [
{
"id": "c1d2e3f4-aaaa-bbbb-cccc-ddddeeeeeeee",
"action": "partial_consent",
"purpose_consents": [
{
"purpose_id": "3d6e2f1a-bc74-4e9a-a801-123456789abc",
"purpose_name": "Marketing emails",
"status": "approved",
"is_mandatory": false,
"purpose_type": "marketing",
"purpose_version": 1
},
{
"purpose_id": "9a1b4c2d-ef56-7890-b234-abcdef012345",
"purpose_name": "Analytics",
"status": "declined",
"is_mandatory": false,
"purpose_type": "analytics",
"purpose_version": 1
}
],
"timestamp": "2026-04-21T10:34:52.123456",
"request_id": "req_external_8821",
"collection_point_version": 1,
"metadata": { "ip_address": "203.0.113.42" },
"status": "pending"
},
{
"id": "b9c8d7e6-ffff-eeee-dddd-ccccbbbbaaaa",
"action": "declined",
"purpose_consents": [],
"timestamp": "2026-03-10T08:12:00.000000",
"request_id": "e2f3a4b5-0000-1111-2222-333344445555",
"collection_point_version": 1,
"metadata": {},
"status": "pending"
}
],
"total_count": 2,
"limit": 10,
"offset": 0
}