---
id: config-read-data-request
title: "Read data request"
description: "Reads one data request of an individual of your organisation."
sidebar_label: "Read data request"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "get api-method"
info_path: docs/consent-management-admin-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 data request</h1>

<MethodEndpoint method={"get"} path={"/v4/config/consent/organisation/data-request/{dataReqId}"}></MethodEndpoint>



Reads one data request of an individual of your organisation.

This route needs the feature `consentManagement` of your organisation.

## Request

<details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><h3 className={"openapi-markdown__details-summary-header-params"}>Path Parameters</h3></summary><div><ul><ParamsItem className={"paramsItem"} param={{"description":"ID of the data request.","in":"path","name":"dataReqId","required":true,"schema":{"type":"string"},"example":"6af19d442d6fb7b6ac6efd11"}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The data request.

</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"}>dataRequest</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

A request of an individual to delete, download or update personal data that your organisation holds. The individual makes it, your organisation handles it and moves it through its states, and the individual can cancel it.

</div><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></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"dataRequest\": {\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}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"dataRequest\": {\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}"} 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={"403"} value={"403"}><div>

The API key does not have the scope `data-requests:read` (the older body `{"Code", "Message"}`), or the feature `consentManagement` of your organisation is off (`errorKey` `feature_disabled` and the member `feature`).

</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"}}><div><span className={"badge badge--info"}>anyOf</span><SchemaTabs><TabItem label={"MOD1"} value={"0-item-properties"}><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></TabItem><TabItem label={"Older error body"} value={"1-item-properties"}><SchemaItem collapsible={false} name={"Code"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The HTTP status.","example":403}}></SchemaItem><SchemaItem collapsible={false} name={"Message"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"What went wrong.","example":"Unauthorized access;User doesn't have enough permissions;"}}></SchemaItem></TabItem></SchemaTabs></div></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"missingScope"} value={"missingScope"}><Markdown> The API key does not have the scope</Markdown><ResponseSamples responseExample={"{\n  \"Code\": 403,\n  \"Message\": \"Unauthorized access;User doesn't have enough permissions;\"\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"featureDisabled"} value={"featureDisabled"}><Markdown> The feature consentManagement is off</Markdown><ResponseSamples responseExample={"{\n  \"errorCode\": 403,\n  \"errorDescription\": \"The feature consentManagement is not enabled for this organisation\",\n  \"errorKey\": \"feature_disabled\",\n  \"feature\": \"consentManagement\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"500"} value={"500"}><div>

The data request does not exist in your organisation, or the server could not read it. The body has the older form `{"Code", "Message"}`.

</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={"Code"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The HTTP status.","example":403}}></SchemaItem><SchemaItem collapsible={false} name={"Message"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"What went wrong.","example":"Unauthorized access;User doesn't have enough permissions;"}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"Code\": 403,\n  \"Message\": \"Unauthorized access;User doesn't have enough permissions;\"\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"Code\": 500,\n  \"Message\": \"Failed to get data request: 6af19d442d6fb7b6ac6efd99 for organization: 6ae2bf741c3dadfeb27982ec\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div></div>
      