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.

POST

/v1/data-silo

Request Authorization

In your request headers, pass authorization: Bearer <<token>>.

If you're self-hosting Sombra, also add the request header x-sombra-authorization: Bearer <<sombraInternalKey>>. You can read more about request authorization here.

Requires scope:

API Key must be associated to this integration

Request Parameters

Header Parameters

x-transcend-nonce string
A token sent in Transcend's webhook for this job, and returned by you when uploading the result of this job back to Transcend.
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
Specifying content-type: application/json for a JSON response from the Transcend API.

Request Body

application/json

profiles array<object>(required)
An array of profiles found. Typically this of length 1, but if your silo finds multiple profiles (or accounts) for this user, you can upload multiple profiles with this array. Or zero!
status stringenum: "READY"
Override the integration to be in a "READY" state. Any unreported datapoints will be marked as "no data". Typically this isn't needed, since the integration automatically becomes "ready" once all datapoints have been reported.

Request Body Examples

Upload to the datapoints "name" and "favorite food". And denote that processing is done.:

{
"profiles": [
{
"profileId": "ben.farrell@transcend.io",
"profileData": {
"name": "Ben Farrell",
"favoriteFood": [
"pie",
"fries"
],
"address": null
}
}
],
"status": "READY"
}

Upload some of the datapoints "name", but denote more data to come:

{
"profiles": [
{
"profileId": "ben.farrell@transcend.io",
"profileData": {
"name": "Ben Farrell"
}
}
]
}

Could not find user:

{
"profiles": [
{
"profileId": "ben.farrell@transcend.io"
}
],
"status": "READY"
}

Response

200 (OK)

application/json

Your request was received without an issue.

400 (Bad Request)

application/json

While this request passed authentication, the input is malformed. Please double-check that your code conforms to our API specification.

401 (Unauthorized)

application/json

There was a problem authenticating your request. This may be an issue with the Transcend API key ("authorization" header), or the Sombra API key ("x-sombra-authorization" header used for self-hosted gateways only).

409 (Conflict)

application/json

You're attempting to modify a DSR that is not in a modifiable state. For example, the DSR may have already completed, or been revoked.

429 (Too Many Requests)

application/json

You are sending requests too quickly and have hit our rate limit. If you hit this, you'll need to throttle your request velocity or try again later.

500 (Internal Server Error)

application/json

A 5xx error means there is either an issue with your self-hosted gateway, or a Transcend server is having issues. You check our system status at status.transcend.io. Please reach out to Transcend support if you're experiencing this error.

502 (Bad Gateway)

application/json

An upstream service on Transcend's side is having issues. You check our system status at status.transcend.io. Please reach out to Transcend support if you're experiencing this error.