---
id: service-agreement-data-read
title: "List data attributes"
description: "This endpoint is used to read the data attributes defined in a particular data agreement revision."
sidebar_label: "List 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-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 attributes</h1>

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



This endpoint is used to read the data attributes defined in a particular data agreement revision.

## 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><ParamsItem className={"paramsItem"} param={{"description":"An object with ID revisionId","in":"query","name":"revisionId","required":false,"schema":{"type":"string"}}}></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={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>dataAttributes</strong><span className={"openapi-schema__name"}> object[]</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={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"65471222e8c7c3bb3c2c8501","description":"Data attribute ID"}}></SchemaItem><SchemaItem collapsible={false} name={"name"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"Name","description":"Name of the attribute, for instance \"name\" or \"age\""}}></SchemaItem><SchemaItem collapsible={false} name={"description"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"Full name of the individual","description":"Description of the attribute"}}></SchemaItem><SchemaItem collapsible={false} name={"sensitivity"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","format":"","example":false,"description":"Sensitivity of data attribute"}}></SchemaItem><SchemaItem collapsible={false} name={"category"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"Personal","description":"Category of data attribute"}}></SchemaItem><SchemaItem collapsible={false} name={"scope"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"read","description":"Scope required for data attribute"}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></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    }\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>
      