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

Request Parameters

Header Parameters

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

Request Body

application/json

partition string(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.
token string(required)
A JWT including an encrypted identifier
consent object(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
    },
    "confirmed": true,
    "timestamp": "2023-05-11T19:32:31.707Z"
  }
}

Response

200 (OK)

application/json

Upserts consent preferences and returns merged results

Response Body

purposes object(required)
confirmed boolean(required)
Was tracking consent confirmed by the user? If this is false, the consent was resolved from defaults & is not yet confirmed
timestamp string(required)
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

Response Body Example

Consent for user:

{
  "purposes": {
    "TestPurpose": 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.