# Get the files to download (/docs/api-reference/data-subject-request/get-v1-data-subject-request-id-download-keys)

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

```json
{
  "servers": [
    {
      "url": "https://multi-tenant.sombra.transcend.io",
      "description": "Multi-tenant (EU)"
    },
    {
      "url": "https://multi-tenant.sombra.us.transcend.io",
      "description": "Multi-tenant (US)"
    },
    {
      "description": "Self-hosted",
      "url": "https://_yourOrganizationSombraURL_.com"
    },
    {
      "description": "Preference Store in Europe",
      "url": "https://consent.transcend.io"
    },
    {
      "description": "Preference Store in the U.S.",
      "url": "https://consent.us.transcend.io"
    },
    {
      "description": "Rules Automation webhook ingestion (EU)",
      "url": "https://rule-automation.transcend.io"
    },
    {
      "description": "Rules Automation webhook ingestion (US)",
      "url": "https://rule-automation.us.transcend.io"
    }
  ],
  "security": [
    {
      "Transcend_API_Key": [],
      "Sombra_Token": [],
      "Transcend_API_Key_If_Multitenant": []
    }
  ],
  "pathParameters": [
    {
      "schema": {
        "type": "string"
      },
      "name": "id",
      "in": "path",
      "required": true,
      "description": "The request ID (returned from \"Submit a DSR\")"
    }
  ],
  "operation": {
    "summary": "Get the files to download",
    "tags": [
      "Data subject request"
    ],
    "responses": {
      "200": {
        "description": "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.",
        "content": {
          "application/json": {
            "schema": {
              "description": "",
              "type": "object",
              "properties": {
                "totalCount": {
                  "type": "number",
                  "description": "Total number of files available for download."
                },
                "nodes": {
                  "type": "array",
                  "uniqueItems": true,
                  "minItems": 1,
                  "description": "List of files available for download.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "downloadKey": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Access key for file, a long string"
                      },
                      "error": {
                        "description": "Nullable",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "mimetype": {
                        "type": "string",
                        "minLength": 1,
                        "description": "The media type as a MIMETYPE."
                      },
                      "size": {
                        "type": "number",
                        "description": "Size of the file in bytes."
                      },
                      "fileName": {
                        "type": "string"
                      },
                      "dataPoint": {
                        "type": "object",
                        "description": "Information about the associated with a datapoint when listing request files.",
                        "required": [
                          "id",
                          "title",
                          "description",
                          "name",
                          "metadata",
                          "slug",
                          "encryption",
                          "dataSilo"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "format": "uuid",
                            "description": "The ID of this datapoint in Transcend."
                          },
                          "title": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "Information about an internationalized message.",
                            "required": [
                              "id",
                              "defaultMessage"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "minLength": 1,
                                "format": "uuid",
                                "description": "The ID of this message in Transcend."
                              },
                              "defaultMessage": {
                                "type": "string",
                                "minLength": 1,
                                "description": "The defaultMessage of the message."
                              }
                            }
                          },
                          "description": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "Information about an internationalized message.",
                            "required": [
                              "id",
                              "defaultMessage"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "minLength": 1,
                                "format": "uuid",
                                "description": "The ID of this message in Transcend."
                              },
                              "defaultMessage": {
                                "type": "string",
                                "minLength": 1,
                                "description": "The defaultMessage of the message."
                              }
                            }
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1,
                            "description": "The name of the datapoint."
                          },
                          "metadata": {
                            "type": "object",
                            "description": "Metadata about the datapoint.",
                            "properties": {
                              "references": {
                                "type": "array",
                                "description": "References to documentation about the datapoint.",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "slug": {
                            "type": "string",
                            "minLength": 1,
                            "description": "The slug of the datapoint."
                          },
                          "encryption": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "The encryption of the datapoint."
                          },
                          "path": {
                            "type": "array",
                            "description": "The schema of the datapoint within the database.",
                            "items": {
                              "type": "string"
                            }
                          },
                          "dataSilo": {
                            "type": "object",
                            "description": "Information about the associated integration in Transcend.",
                            "required": [
                              "id",
                              "title",
                              "description",
                              "type",
                              "outerType"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "minLength": 1,
                                "format": "uuid",
                                "description": "The ID of this integration in Transcend."
                              },
                              "title": {
                                "type": "string",
                                "minLength": 1,
                                "description": "The title of integration in Transcend."
                              },
                              "description": {
                                "type": "string",
                                "minLength": 1,
                                "description": "The description of integration in Transcend."
                              },
                              "type": {
                                "type": "string",
                                "minLength": 1,
                                "description": "The type of integration in Transcend."
                              },
                              "outerType": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "description": "The outer type of the integration in Transcend."
                              }
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "downloadKey",
                      "error",
                      "mimetype",
                      "size",
                      "dataPoint"
                    ]
                  }
                },
                "_links": {
                  "type": "object",
                  "description": "Pagination information",
                  "required": [
                    "self"
                  ],
                  "properties": {
                    "self": {
                      "type": "string",
                      "example": "/v1/data-subject-request/da13d328-3f9d-40d5-9312-9f4fcf3ad0d2/download-keys?limit=3&offset=3",
                      "description": "The URL path of this page."
                    },
                    "next": {
                      "type": "string",
                      "example": "/v1/data-subject-request/da13d328-3f9d-40d5-9312-9f4fcf3ad0d2/download-keys?limit=3&offset=6",
                      "description": "The URL path for the next page."
                    },
                    "prev": {
                      "type": "string",
                      "example": "/v1/data-subject-request/da13d328-3f9d-40d5-9312-9f4fcf3ad0d2/download-keys?limit=3&offset=6",
                      "description": "The URL path of the previous page."
                    }
                  }
                }
              },
              "required": [
                "totalCount",
                "nodes",
                "_links"
              ]
            },
            "examples": {
              "Sample response": {
                "value": {
                  "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-systems/internal-data-systems"
                          ]
                        },
                        "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-systems/internal-data-systems"
                          ]
                        },
                        "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": {
        "description": "While this request passed authentication, the input is malformed. Please double-check that your code conforms to our API specification.",
        "headers": {},
        "content": {
          "application/json": {
            "schema": {
              "description": "",
              "type": "object",
              "properties": {}
            }
          }
        }
      },
      "401": {
        "description": "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).",
        "headers": {},
        "content": {
          "application/json": {
            "schema": {
              "description": "",
              "type": "object",
              "properties": {}
            }
          }
        }
      },
      "413": {
        "description": "The request body is too large. JSON and raw bodies must be less than 50MB. URL encoded bodies must be less than 30MB.",
        "headers": {},
        "content": {
          "application/json": {
            "schema": {
              "description": "",
              "type": "object",
              "properties": {}
            }
          }
        }
      },
      "429": {
        "description": "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.",
        "headers": {
          "Retry-After": {
            "description": "The number of seconds to wait before retrying.",
            "schema": {
              "type": "integer"
            }
          },
          "X-RateLimit-Limit": {
            "description": "The maximum number of requests allowed in the time window.",
            "schema": {
              "type": "integer"
            }
          },
          "X-RateLimit-Remaining": {
            "description": "The number of requests remaining in the time window.",
            "schema": {
              "type": "integer"
            }
          },
          "X-RateLimit-Reset": {
            "description": "The time at which the rate limit will reset.",
            "schema": {
              "type": "integer"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "description": "",
              "type": "object",
              "properties": {}
            }
          }
        }
      },
      "500": {
        "description": "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.",
        "headers": {},
        "content": {
          "application/json": {
            "schema": {
              "description": "",
              "type": "object",
              "properties": {}
            }
          }
        }
      },
      "502": {
        "description": "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.",
        "headers": {},
        "content": {
          "application/json": {
            "schema": {
              "description": "",
              "type": "object",
              "properties": {}
            }
          }
        }
      }
    },
    "operationId": "get-v1-data-subject-request-id-download-keys",
    "description": "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.",
    "security": [
      {
        "Transcend_API_Key": [
          "View the Request Compilation"
        ]
      }
    ],
    "parameters": [
      {
        "$ref": "#/components/parameters/authorization"
      },
      {
        "$ref": "#/components/parameters/x-sombra-authorization"
      },
      {
        "$ref": "#/components/parameters/content-type-application-json"
      },
      {
        "schema": {
          "type": "number",
          "default": 25,
          "minimum": 0
        },
        "in": "query",
        "name": "limit",
        "description": "The maximum number of file keys to return on this page."
      },
      {
        "schema": {
          "type": "number",
          "minimum": 0,
          "default": 0
        },
        "in": "query",
        "name": "offset",
        "description": "The pagination offset."
      }
    ]
  }
}
```