Transcend Docs
API referenceCustom integration

Respond to an access request (JSON bulk upload)

POST
/v1/data-silo

When responding to an access request, use this POST method. You can upload to many datapoints at once when the files uploaded to each Datapoint is valid JSON.

Authorization

Transcend_API_Key API Key must be associated to this integration
headerAuthorizationBearer <token>

authorization: Bearer <>

Scope: API Key must be associated to this integration

Header Parameters

x-transcend-nonce*string

A reusable token sent in Transcend's webhook for this job, and returned by you when uploading the result of this job back to Transcend. Called a 'nonce' for legacy reasons, but is actually reusable.

authorization*string

An API key generated from the Transcend dashboard: https://app.transcend.io/infrastructure/api-keys.

x-sombra-authorization?string

The Sombra internal key. This header is only needed for self-hosted Sombra gateways. See https://docs.transcend.io/docs/dsr-automation/api-integration/authentication#authenticating-to-sombra

content-type*string

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

Matchapplication-json

Request Body

For the integration to be considered "ready" for the user to download, Transcend expects each Datapoint of an integration to receive data, or otherwise be reported as having no data found.

In a JSON bulk upload, you can indicate that a datapoint was not found by returning null, undefined, [], {}, or None. Check out the example to see what that looks like.

You can also override the integration to be "ready" by passing the status: "READY" option.

application/json
  1. body
profiles?array<>

An array of profiles found. Typically this of length 1, but if your system finds multiple profiles (or accounts) for this user, you can upload multiple profiles with this array. Or zero!

Items0 <= items <= 1
status?string

Override the integration to be in a specific state. Any unreported datapoints will be marked as "no data" when status is "READY", "RESOLVED", or "ACTION_REQUIRED". Any unreported datapoints will be marked as "skipped" when status is "SKIPPED" or "SKIPPED_DUE_TO_EXCEPTION". When status is "WAITING", unreported datapoints will not have their statuses changed. Typically this isn't needed, since the integration automatically becomes "ready" once all datapoints have been reported. When responding to indicate that an async job is still in progress, use profileStatus: "WAITING" and include your pollId (an external job ID that Transcend will pass back on the next invocation, so your integration can look up the status of the async job) and a retryAfterDate. For async jobs, reserve the top-level status field for terminal outcomes only (READY, RESOLVED, SKIPPED).

Value in"READY""RESOLVED""SKIPPED""SKIPPED_DUE_TO_EXCEPTION""ACTION_REQUIRED""WAITING"
profileStatus?string

Override the profile datapoints that have profileData set to be in a specific state. Any unreported datapoints will be updated according to the status field instead of this field.

Value in"RESOLVED""SKIPPED""SKIPPED_DUE_TO_EXCEPTION""WAITING""ERROR"

Response Body

Your request was received without an issue.

application/json
  1. response
curl -X POST 'https://multi-tenant.sombra.transcend.io/v1/data-silo' \  -H 'x-transcend-nonce: string' \  -H 'authorization: string' \  -H 'content-type: string' \  -H 'Content-Type: application/json' \  -d '{  "profiles": [    {      "profileData": {        "name": "Ben Farrell",        "favoriteFood": [          "pie",          "fries"        ],        "address": null      }    }  ],  "status": "READY"}'
Example Response
{}