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. This API requires a signed token including an encrypted identifier. See reference for details.

POST

/sync

Header Parameters

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

Request Body

application/json

partitionstring(required)
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.
tokenstring(required)
A JWT including an encrypted identifier
consentobject(required)

Request Body Example

Set consent for a user:

{
  "token": "eyJhbGciOiJIUzM4NCIsInR5cCI6IkpXVCJ9.eyJlbmNyeXB0ZWRJZGVudGlmaWVyIjoiRkg2TitkZWdWY2IzNlgzMWF2L1p4dz09IiwiaWF0IjoxNjgzNjQ0OTQyfQ.IRNqiXOz8oYJuWqdWfstgIjmQ9B_uJ-gvkw1mT5uUT-G9xdlPJ7zeODCCvlNIbf_",
  "partition": "7b9916f1-a9f7-45bd-b6d4-4bd7decfddaa",
  "consent": {
    "purposes": {
      "TestPurpose": false
    },
    "communicationPreferences": {
      "Email": true,
      "Sms": false
    },
    "confirmed": true,
    "timestamp": "2023-05-11T19:32:31.707Z"
  }
}

Response

200 (OK)

application/json

Upserts consent preferences and returns merged results

Response Body

purposesobject(required)
Consent purposes to update
communicationPreferencesobject
Communication Preferences to update
confirmedboolean(required)
Was tracking consent confirmed by the user? If this is false, the consent was resolved from defaults & is not yet confirmed
timestampstring(required)
Timestamp of when consent was collected
updatedboolean
Has the consent been updated (including no-change confirmation) since default resolution
promptedboolean
Whether or not the UI has been shown to the end-user (undefined in older versions of airgap.js)
uspstring
US Privacy (USP) String
tcfstring
IAB Transparency & Consent Framework (TCF) 2.0 consent metadata

Response Body Example

Consent for user:

{
  "purposes": {
    "TestPurpose": false
  },
  "communicationPreferences": {
    "Email": true,
    "Sms": false
  },
  "confirmed": true,
  "timestamp": "2023-05-11T19:32:31.707Z"
}

400 (Bad Request)

application/json

The token could not be verified or decoded

500 (Internal Server Error)

application/json

A 500 error means the backend is having issues. You check our system status at status.transcend.io. Please reach out to Transcend support if you're experiencing this error.