---
id: service-read-delete-my-data-status
title: "Read the open data delete request of the individual"
description: "Tells if the individual has an open request (state `1` or `2`) to delete its data in your organisation, and gives its ID, state and date. Use it, for example, to show a cancel button. This route takes an API key or a token of the identity provider of the organisation, not an individual token or a token of the privacy dashboard login."
sidebar_label: "Read the open data delete request 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"}>Read the open data delete request of the individual</h1>

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



Tells if the individual has an open request (state `1` or `2`) to delete its data in your organisation, and gives its ID, state and date. Use it, for example, to show a cancel button. This route takes an API key or a token of the identity provider of the organisation, not an individual token or a token of the privacy dashboard login.

## 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 open delete request, or `requestOngoing` `false`.

</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={"requestOngoing"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","example":true,"description":"`true` when the individual has an open request of this type."}}></SchemaItem><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"6af19d442d6fb7b6ac6efd11","description":"ID of the open request, or `\"\"`."}}></SchemaItem><SchemaItem collapsible={false} name={"state"} required={true} schemaName={"integer"} qualifierMessage={"**Possible values:** [`0`, `1`, `2`]"} schema={{"type":"integer","enum":[0,1,2],"example":2,"description":"State of the open request: `1` initiated, `2` acknowledged. `0` when there is no open request."}}></SchemaItem><SchemaItem collapsible={false} name={"stateStr"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [``, `Request initiated`, `Request acknowledged`]"} schema={{"type":"string","enum":["","Request initiated","Request acknowledged"],"example":"Request acknowledged","description":"Name of the state, or `\"\"`."}}></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 open request in UTC, in the text form `YYYY-MM-DD hh:mm:ss +0000 UTC` (not RFC 3339), or `\"\"`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"requestOngoing\": true,\n  \"id\": \"6af19d442d6fb7b6ac6efd11\",\n  \"state\": 2,\n  \"stateStr\": \"Request acknowledged\",\n  \"requestedDate\": \"2026-11-09 10:15:32 +0000 UTC\"\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"open"} value={"open"}><Markdown> The individual has an open request</Markdown><ResponseSamples responseExample={"{\n  \"requestOngoing\": true,\n  \"id\": \"6af19d442d6fb7b6ac6efd11\",\n  \"state\": 2,\n  \"stateStr\": \"Request acknowledged\",\n  \"requestedDate\": \"2026-11-09 10:15:32 +0000 UTC\"\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"none"} value={"none"}><Markdown> The individual has no open request</Markdown><ResponseSamples responseExample={"{\n  \"requestOngoing\": false,\n  \"id\": \"\",\n  \"state\": 0,\n  \"stateStr\": \"\",\n  \"requestedDate\": \"\"\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>
      