---
id: service-read-download-my-data
title: "List data download requests of the individual"
description: "Lists all the requests of the individual to download its data in your organisation, open and closed, in no fixed order. `dataRequests` is `null` when the individual has made none."
sidebar_label: "List data download requests of the individual"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "get api-method"
info_path: docs/consent-management-individual-api/igrant-io-api-documentation
custom_edit_url: null
---

> **Build this with an AI coding agent.** Install the iGrant.io Agent Skills, then ask your agent to build the integration:
>
> ```bash
> npx skills add L3-iGrant/skills
> ```


import ApiTabs from "@theme/ApiTabs";
import DiscriminatorTabs from "@theme/DiscriminatorTabs";
import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes";
import MimeTabs from "@theme/MimeTabs";
import ParamsItem from "@theme/ParamsItem";
import ResponseSamples from "@theme/ResponseSamples";
import SchemaItem from "@theme/SchemaItem";
import SchemaTabs from "@theme/SchemaTabs";
import Markdown from "@theme/Markdown";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";

<h1 className={"openapi__heading"}>List data download requests of the individual</h1>

<MethodEndpoint method={"get"} path={"/v4/service/consent/organisation/data-download"}></MethodEndpoint>



Lists all the requests of the individual to download its data in your organisation, open and closed, in no fixed order. `dataRequests` is `null` when the individual has made none.

## Request

<details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><h3 className={"openapi-markdown__details-summary-header-params"}>Header Parameters</h3></summary><div><ul><ParamsItem className={"paramsItem"} param={{"in":"header","name":"X-ConsentBB-IndividualId","required":false,"schema":{"type":"string"},"example":"6af081b138e8f33dcf799628","description":"ID of the individual, or its `externalId`. Mandatory with an API key: without it the answer is `400` (\"IndividualId is not present in request header\"), and an unknown individual gets `400` too. With an individual token, leave it out: the server takes the individual from the token. Send it only on the routes that list it: with an API key that has resource scopes (for example `consent-records:read`), another route answers `400` to a request with this header."}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The data download requests of the individual.

</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>dataRequests</strong><span className={"openapi-schema__name"}> object[]</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__nullable"}>nullable</span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"6af19d442d6fb7b6ac6efd11","description":"ID of the data request."}}></SchemaItem><SchemaItem collapsible={false} name={"userId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"6af081b138e8f33dcf799628","description":"ID of the individual who made the request."}}></SchemaItem><SchemaItem collapsible={false} name={"userName"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"individual@example.com","description":"E-mail address of the individual when the request was made. It is empty when the individual has no e-mail address."}}></SchemaItem><SchemaItem collapsible={false} name={"organisationId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"6ae2bf741c3dadfeb27982ec","description":"ID of your organisation."}}></SchemaItem><SchemaItem collapsible={false} name={"type"} required={true} schemaName={"integer"} qualifierMessage={"**Possible values:** [`1`, `2`, `3`]"} schema={{"type":"integer","enum":[1,2,3],"example":1,"description":"Type of the request: `1` delete the data, `2` download the data, `3` update the data."}}></SchemaItem><SchemaItem collapsible={false} name={"typeStr"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`Delete Data`, `Download Data`, `Update Data`]"} schema={{"type":"string","enum":["Delete Data","Download Data","Update Data"],"example":"Delete Data","description":"Name of the type."}}></SchemaItem><SchemaItem collapsible={false} name={"state"} required={true} schemaName={"integer"} qualifierMessage={"**Possible values:** [`1`, `2`, `6`, `7`, `8`]"} schema={{"type":"integer","enum":[1,2,6,7,8],"example":2,"description":"State of the request: `1` initiated, `2` acknowledged, `6` processed without action, `7` processed with action, `8` cancelled by the individual. A request in state `1` or `2` is open; a request in state `6`, `7` or `8` is closed."}}></SchemaItem><SchemaItem collapsible={false} name={"stateStr"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`Request initiated`, `Request acknowledged`, `Request processed without action`, `Request processed with action`, `Request cancelled by user`]"} schema={{"type":"string","enum":["Request initiated","Request acknowledged","Request processed without action","Request processed with action","Request cancelled by user"],"example":"Request acknowledged","description":"Name of the state."}}></SchemaItem><SchemaItem collapsible={false} name={"requestedDate"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"2026-11-09 10:15:32 +0000 UTC","description":"Date and time of the request in UTC, in the text form `YYYY-MM-DD hh:mm:ss +0000 UTC` (not RFC 3339). It comes from the `id` and has a precision of one second."}}></SchemaItem><SchemaItem collapsible={false} name={"closedDate"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"0001-01-01 00:00:00 +0000 UTC","description":"Date and time in UTC when the request went to state `6`, `7` or `8`, in the same text form as `requestedDate` (with milliseconds when they are not zero, for example `2026-11-10 09:03:12.548 +0000 UTC`). An open request has the value `0001-01-01 00:00:00 +0000 UTC`."}}></SchemaItem><SchemaItem collapsible={false} name={"comment"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"We are checking your request.","description":"The comment of your organisation for the current state of the request (the `comment` of the update that set this state). It is empty when there is none."}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"dataRequests\": [\n    {\n      \"id\": \"6af19d442d6fb7b6ac6efd11\",\n      \"userId\": \"6af081b138e8f33dcf799628\",\n      \"userName\": \"individual@example.com\",\n      \"organisationId\": \"6ae2bf741c3dadfeb27982ec\",\n      \"type\": 1,\n      \"typeStr\": \"Delete Data\",\n      \"state\": 2,\n      \"stateStr\": \"Request acknowledged\",\n      \"requestedDate\": \"2026-11-09 10:15:32 +0000 UTC\",\n      \"closedDate\": \"0001-01-01 00:00:00 +0000 UTC\",\n      \"comment\": \"We are checking your request.\"\n    }\n  ]\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"dataRequests\": [\n    {\n      \"id\": \"6af187212d6fb7b6ac6efd0e\",\n      \"userId\": \"6af081b138e8f33dcf799628\",\n      \"userName\": \"individual@example.com\",\n      \"organisationId\": \"6ae2bf741c3dadfeb27982ec\",\n      \"type\": 2,\n      \"typeStr\": \"Download Data\",\n      \"state\": 7,\n      \"requestedDate\": \"2026-11-09 08:41:05 +0000 UTC\",\n      \"closedDate\": \"2026-11-10 09:03:12.548 +0000 UTC\",\n      \"stateStr\": \"Request processed with action\",\n      \"comment\": \"We sent the export of your data to your e-mail address.\"\n    }\n  ]\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

The `X-ConsentBB-IndividualId` header is missing, or the individual does not exist.

</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"401"} value={"401"}><div>

The API key or the token is missing or not valid.

</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"500"} value={"500"}><div>

Internal server error.

</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div></div>
      