Once the status of the original DSR indicates there are files available to download, it is possible to get a list of these files for download.

GET

/v1/data-subject-request/{id}/download-keys

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:

View the Request Compilation

Header Parameters

authorizationstring
An API key generated from the Transcend dashboard: https://app.transcend.io/infrastructure/api-keys.
x-sombra-authorizationstring
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-typestring
Specify content-type: application/json for a JSON response from the Transcend API.

Path Parameters

idstring
The request ID (returned from "Submit a DSR")

Query Parameters

limitnumberdefault:25min:0
The maximum number of file keys to return on this page.
offsetnumberdefault:0min:0
The pagination offset.

Response

200 (OK)

application/json

This request was found. Responds with a paginated list of files and their metadata. To download the file, make a separate request for each file using their `downloadKey` from this response.

Response Body

totalCountnumber(required)
Total number of files available for download.
nodesarray<object>(required)
List of files available for download.
_linksobject(required)
Pagination information

Response Body Example

Sample response:

{
  "totalCount": 25,
  "nodes": [
    {
      "downloadKey": "superlongstring1",
      "error": null,
      "mimetype": "text/plain",
      "size": 16,
      "fileName": "Personal identifier/Name.txt",
      "dataPoint": {
        "id": "bd7a415c-0367-455f-bb6d-7f1b5c391bdc",
        "title": null,
        "description": null,
        "name": "ActionItemUsers",
        "metadata": {
          "references": [
            "https://docs.transcend.io/docs/privacy-requests/connecting-data-silos/internal-data-silos"
          ]
        },
        "slug": "actionItemUsers",
        "encryption": null,
        "path": [
          "transcend",
          "public"
        ],
        "dataSilo": {
          "id": "709b0a9d-d489-4eed-ab1f-747a5a6867d7",
          "title": "Database",
          "description": "Integrate with your own databases, such as Amazon Redshift or PostgreSQL.",
          "type": "database",
          "outerType": null
        }
      }
    },
    {
      "downloadKey": "superlongstring2",
      "error": null,
      "mimetype": "application/json",
      "size": 3124,
      "fileName": "User online activities/usage.json",
      "dataPoint": {
        "id": "f7d01243-4918-4045-813f-e53945774ea1",
        "title": {
          "id": "3eed04de-8308-4d47-bc40-11bd26b67ff1",
          "defaultMessage": "Email Address"
        },
        "description": {
          "id": "3e8c9597-a4ca-4368-9836-86701d210550",
          "defaultMessage": "The email we have associated with the account."
        },
        "name": "email",
        "metadata": {
          "references": [
            "https://docs.transcend.io/docs/silo-server"
          ]
        },
        "slug": "email",
        "encryption": null,
        "path": [],
        "dataSilo": {
          "id": "222d8172-b05a-4d55-89a4-af0e240fd290",
          "title": "Transcend Users",
          "description": "Send a webhook to a server and POST back through our API.",
          "type": "server",
          "outerType": null
        }
      }
    },
    {
      "downloadKey": "superlongstring3",
      "error": null,
      "mimetype": "video/mp4",
      "size": 456711231,
      "fileName": "User profile/mymovie.mp4",
      "dataPoint": {
        "id": "bd7a415c-0367-455f-bb6d-7f1b5c391bdc",
        "title": null,
        "description": null,
        "name": "ActionItemUsers",
        "metadata": {
          "references": [
            "https://docs.transcend.io/docs/privacy-requests/connecting-data-silos/internal-data-silos"
          ]
        },
        "slug": "actionItemUsers",
        "encryption": null,
        "path": [
          "transcend",
          "public"
        ],
        "dataSilo": {
          "id": "709b0a9d-d489-4eed-ab1f-747a5a6867d7",
          "title": "Database",
          "description": "Integrate with your own databases, such as Amazon Redshift or PostgreSQL.",
          "type": "database",
          "outerType": null
        }
      }
    }
  ],
  "_links": {
    "self": "/v1/data-subject-request/da13d328-3f9d-40d5-9312-9f4fcf3ad0d2/download-keys?limit=3&offset=3",
    "prev": "/v1/data-subject-request/da13d328-3f9d-40d5-9312-9f4fcf3ad0d2/download-keys?limit=3&offset=0",
    "next": "/v1/data-subject-request/da13d328-3f9d-40d5-9312-9f4fcf3ad0d2/download-keys?limit=3&offset=6"
  }
}

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).

413 (Request Entity Too Large)

application/json

The request body is too large. JSON and raw bodies must be less than 50MB. URL encoded bodies must be less than 30MB.

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.