Jun 11, 2025, 2:59 PM UTC
Local time: Jun 11, 2025, 2:59 PM UTC
- New Integration: Option to specify usage of Privacy Service API with Adobe Experience Platform integration.
- Fixed: Google Spanner integration now works with database enrichment.
- Fixed: Google Spanner integration now works with SQL generation.
- Fixed: API Key access for the
listReducedRequestsForDataSilofamily of GraphQL queries. - Updated: Addresses PyTorch susceptibility to local Denial of Service and Improper Resource Shutdown or Release vulnerabilities.
- New: Added a new table to view processing activities.
- Updated: In the Admin Dashboard, under Data Inventory, the submit button in the "Add DataPoints" form modal is disabled until the required fields are filled in.
- Fixed: Retrying request enricher jobs automatically reloads the status of the jobs.
- New: Added Retry All Errors button to Request integration screen.
- Updated: Reorders identifiers table to display the resolution column first and the communication column last.
- Updated: When uploading a file to a DSR, the name of the file is preserved for all custom integration types (prompt a person, server webhook, cron job).
- Updated: The
list-pending-requestsendpoint, used by the Cron Job integration, now exposescountry,countrySubDivision,locale, anddataSubjectType. - Updated: The DSR webhook now includes
extras.pollId: string. ThispollIdcan be useful when implementing async jobs that need to be initiated and then checked back at a later time for completion. This works well in tandem with thePUT /v1/data-silo endpoint.curl -X PUT https://multi-tenant.sombra.transcend.io/v1/data-silo \You then receive a webhook:
-H "Accept: application/json" \
-H "Authorization: Bearer $API_KEY" \
-H "x-transcend-nonce: $NONCE" \
-d '{
"profileStatus": "WAITING",
"message": "pending response",
"pollId": "abcde",
"retryAfterDate": "2025-06-07T00:00:00.000Z"
}'{
"type": "ACCESS",
"dataSubject": {
"type": "customer"
},
"isTest": false,
"extras": {
"pollId": "abcde",
"profile": {
"identifier": "jane.doe@example.com",
"type": "email",
"id": "bd955664-611f-4d62-adfe-aa14d4a77608",
"RequestDataSiloId": "1aeb5dbd-5003-4880-9db6-c9ab3e408f74"
},
"dataSilo": {
"id": "12dd1fd8-b310-4712-ba6b-0e2e29ecd2ac",
"title": "My Custom Integration",
"description": "Our production application backend. Calls a function that exports or deletes a user from our service.",
"link": "https://app.transcend.io/infrastructure/connected-services/configuration/12dd1fd8-b310-4712-ba6b-0e2e29ecd2ac"
},
"request": {
"details": "",
"id": "303b8129-70d9-47b9-b408-aa5ddca398e4",
"link": "https://app.transcend.io/request/303b8129-70d9-47b9-b408-aa5ddca398e4",
"createdAt": "2022-03-04T02:50:42.257Z",
"locale": "fr-FR",
"origin": "PRIVACY_CENTER",
"country": "US",
"countrySubDivision": "US-CA",
"attributes": []
},
"organization": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"uri": "e-shop-it",
"name": "eShopIt"
}
},
"coreIdentifier": {
"value": "jane.doe@example.com"
}
} - Updated: Adds additional responses to the
PUT /v1/data-siloDSR response endpoint:- ✅ New accepted
profileStatusvalue:ERROR - ✅ Ability to persist a message associated with the profile. This can indicate an error state, a description about the current job status, or details about the completed response.
- ✅ Support for storing a
pollId. This enables asyncronous server webhook responses for custom functions - ✅ Support for
retryAfterDate, with a 10-minute minimum enforced. This allows for scheduling async follow ups.
🧪 Example Requests:
Save profile with statusERRORand custom messagecurl -X PUT https://multi-tenant.sombra.transcend.io/v1/data-silo \Save
-H "Accept: application/json" \
-H "Authorization: Bearer $API_KEY" \
-H "x-transcend-nonce: $NONCE" \
-d '{
"profileStatus": "ERROR",
"message": "Something went wrong"
}'WAITINGstatus with message and pollIdcurl -X PUT https://multi-tenant.sombra.transcend.io/v1/data-silo \Save
-H "Accept: application/json" \
-H "Authorization: Bearer $API_KEY" \
-H "x-transcend-nonce: $NONCE" \
-d '{
"profileStatus": "WAITING",
"message": "pending response",
"pollId": "abcde"
}'WAITINGstatus withpollIdandretryAfterDate(7 days out)curl -X PUT https://multi-tenant.sombra.transcend.io/v1/data-silo \Save
-H "Accept: application/json" \
-H "Authorization: Bearer $API_KEY" \
-H "x-transcend-nonce: $NONCE" \
-d '{
"profileStatus": "WAITING",
"message": "pending response",
"pollId": "abcde",
"retryAfterDate": "2025-06-07T00:00:00.000Z"
}'WAITINGstatus with shortretryAfterDate(auto-adjusts to 10+ minutes)curl -X PUT https://multi-tenant.sombra/transcend.io/v1/data-silo \
-H "Accept: application/json" \
-H "Authorization: Bearer $API_KEY" \
-H "x-transcend-nonce: $NONCE" \
-d '{
"profileStatus": "WAITING",
"message": "pending response",
"pollId": "abcde",
"retryAfterDate": "2025-05-31T17:01:00.000Z"
}'
- ✅ New accepted
- Fixed: A bug that prevented files from uploading if there were special characters in the file name.
- Fixed: A bug where preflight errors were not being bubbled up to an admin.
- Updated: Tooltip text for Encounters in (under Consent Management > Cookies) is now clearer about the data not being an exhaustive list.
- Fixed: Submitting an assessment when the last section is
IN_REVIEWhas been enabled.