---
id: service-read-delete-my-data
title: "List data delete requests of the individual"
description: "Lists all the requests of the individual to delete 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 delete 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 delete requests of the individual</h1>

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



Lists all the requests of the individual to delete 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 delete 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\": \"6af19d442d6fb7b6ac6efd11\",\n      \"userId\": \"6af081b138e8f33dcf799628\",\n      \"userName\": \"individual@example.com\",\n      \"organisationId\": \"6ae2bf741c3dadfeb27982ec\",\n      \"type\": 1,\n      \"typeStr\": \"Delete Data\",\n      \"state\": 2,\n      \"requestedDate\": \"2026-11-09 10:15:32 +0000 UTC\",\n      \"closedDate\": \"0001-01-01 00:00:00 +0000 UTC\",\n      \"stateStr\": \"Request acknowledged\",\n      \"comment\": \"We are checking your request.\"\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>
      