---
id: config-list-data-attribute
title: "Read data attributes"
description: "This endpoint reads all data attrinbutes defined in a data agreement."
sidebar_label: "Read data attributes"
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 attributes</h1>

<MethodEndpoint method={"get"} path={"/config/data-agreement/{dataAgreementId}/data-attributes"}></MethodEndpoint>



This endpoint reads all data attrinbutes defined in a data agreement.

## 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":"Unique ID of an object","in":"path","name":"dataAgreementId","required":true,"schema":{"type":"string"}}}></ParamsItem></ul></div></details><details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><h3 className={"openapi-markdown__details-summary-header-params"}>Query Parameters</h3></summary><div><ul><ParamsItem className={"paramsItem"} param={{"description":"Number of records to skip for pagination.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"name":"limit","in":"query","description":"Maximum number of records to return per page.","required":false,"schema":{"type":"integer","default":10}}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

Data attributes for data agreement listed successfully

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><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={"dataAttributes"} required={false} schemaName={"object[]"} qualifierMessage={undefined} schema={{"items":{"allOf":[{"type":"object","description":"Data attributes contain specifications of exactly what is collected.","x-not-in-database":false,"required":["name","description"],"properties":{"id":{"type":"string","format":"","example":"65471222e8c7c3bb3c2c8501","description":"Data attribute ID"},"name":{"type":"string","format":"","example":"Name","description":"Name of the attribute, for instance \"name\" or \"age\""},"description":{"type":"string","format":"","example":"Full name of the individual","description":"Description of the attribute"},"sensitivity":{"type":"boolean","format":"","example":false,"description":"Sensitivity of data attribute"},"category":{"type":"string","format":"","example":"Personal","description":"Category of data attribute"},"scope":{"type":"string","format":"","example":"read","description":"Scope required for data attribute"}}},{"properties":{"dataAgreement":{"type":"object","properties":{"id":{"type":"string"},"purpose":{"type":"string"}}}},"type":"object"}]},"type":"array"}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>pagination</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"currentPage"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Current page number","example":1}}></SchemaItem><SchemaItem collapsible={false} name={"totalItems"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Total number of items available","example":25}}></SchemaItem><SchemaItem collapsible={false} name={"totalPages"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Total number of pages based on limit","example":3}}></SchemaItem><SchemaItem collapsible={false} name={"limit"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Number of items per page","example":10}}></SchemaItem><SchemaItem collapsible={false} name={"hasPrevious"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates if there's a previous page","example":false}}></SchemaItem><SchemaItem collapsible={false} name={"hasNext"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates if there's a next page","example":true}}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"dataAttributes\": [\n    {\n      \"id\": \"65471222e8c7c3bb3c2c8501\",\n      \"name\": \"Name\",\n      \"description\": \"Full name of the individual\",\n      \"sensitivity\": false,\n      \"category\": \"Personal\",\n      \"scope\": \"read\",\n      \"dataAgreement\": {\n        \"id\": \"string\",\n        \"purpose\": \"string\"\n      }\n    }\n  ],\n  \"pagination\": {\n    \"currentPage\": 1,\n    \"totalItems\": 25,\n    \"totalPages\": 3,\n    \"limit\": 10,\n    \"hasPrevious\": false,\n    \"hasNext\": true\n  }\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

bad input parameter

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div></div></TabItem><TabItem label={"401"} value={"401"}><div>

Unauthorized

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><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></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"500"} value={"500"}><div>

Internal server error

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><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></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div></div>
      