Transcend Docs
API referencePreferences (Client-Side)

Set consent preferences for a user

POST
/sync

Set consent preferences for a user at https://consent.transcend.io or https://consent.us.transcend.io. N.B. This is not a Sombra route. Authenticate with a signed JWT that carries identifier name/value pairs (preferred) or the deprecated single encryptedIdentifier. See reference for details.

Header Parameters

content-type*string

Specify content-type: application/json for a JSON response from the Transcend API.

Matchapplication-json

Request Body

application/json
  1. body
partition*string

The consent partition or bundle ID. You can find the partition value under Consent Management > Developer Settings. If this value is not set, please use your bundle ID.

token*string

A JWT signed with HS384. Prefer { "identifiers": [{ "name": "email", "value": "<AES-KWP encrypted value>" }] }. Encrypt each value with your Preference Store encryption key (AES-KWP, base64). At least one identifier must be unique for the partition. Lowercase emails (and otherwise normalize identifiers) on your backend before encryption — Transcend never sees decrypted values and does not validate them. Deprecated: { "encryptedIdentifier": "<AES-KWP encrypted value>" }. See Storing Consent Preferences.

consent*

Response Body

Upserts consent preferences and returns merged results

application/json
  1. response
purposes*

Consent purposes to update

confirmed*boolean

Was tracking consent confirmed by the user? If this is false, the consent was resolved from defaults & is not yet confirmed

timestamp*string

Timestamp of when consent was collected

updated?boolean

Has the consent been updated (including no-change confirmation) since default resolution

prompted?boolean

Whether or not the UI has been shown to the end-user (undefined in older versions of airgap.js)

usp?string

US Privacy (USP) String

tcf?string

IAB Transparency & Consent Framework (TCF) 2.0 consent metadata

curl -X POST 'https://multi-tenant.sombra.transcend.io/sync' \  -H 'content-type: string' \  -H 'Content-Type: application/json' \  -d '{  "token": "eyJhbGciOiJIUzM4NCIsInR5cCI6IkpXVCJ9.eyJpZGVudGlmaWVycyI6W3sibmFtZSI6ImVtYWlsIiwidmFsdWUiOiJGSDZOK2RlZ1ZjYjM2WDMxYXYvWnh3PT0ifV0sImlhdCI6MTY4MzY0NDk0Mn0.IRNqiXOz8oYJuWqdWfstgIjmQ9B_uJ-gvkw1mT5uUT-G9xdlPJ7zeODCCvlNIbf_",  "partition": "7b9916f1-a9f7-45bd-b6d4-4bd7decfddaa",  "consent": {    "purposes": {      "TestPurpose": false    },    "confirmed": true,    "timestamp": "2023-05-11T19:32:31.707Z"  }}'
Example Response
{  "purposes": {    "TestPurpose": false  },  "confirmed": true,  "timestamp": "2023-05-11T19:32:31.707Z"}