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
listReducedRequestsForDataSilo
family 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-requests
endpoint, used by the Cron Job integration, now exposescountry
,countrySubDivision
,locale
, anddataSubjectType
. -
Updated: The DSR webhook now includes
extras.pollId: string
. ThispollId
can 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
.Shellcurl -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-06-07T00:00:00.000Z" }'
You then receive a webhook:
JSON{ "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-silo
DSR response endpoint:-
✅ New accepted
profileStatus
value: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 status
ERROR
and custom messageShellcurl -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": "ERROR", "message": "Something went wrong" }'
Save
WAITING
status with message and pollIdShellcurl -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" }'
Save
WAITING
status withpollId
andretryAfterDate
(7 days out)Shellcurl -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-06-07T00:00:00.000Z" }'
Save
WAITING
status with shortretryAfterDate
(auto-adjusts to 10+ minutes)Shellcurl -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" }'
-
-
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_REVIEW
has been enabled.