---
id: config-list-individuals
title: "List all individuals"
description: "This endpoint is used to list all individuals in the organisation defined in the consent building block."
sidebar_label: "List all individuals"
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"}>List all individuals</h1>

<MethodEndpoint method={"get"} path={"/config/individuals"}></MethodEndpoint>



This endpoint is used to list all individuals in the organisation defined in the consent building block.

## Request

<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":"Unique ID of an object","in":"query","name":"externalIndividualId","required":false,"schema":{"type":"string"}}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

Individuals 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={"individuals"} required={false} schemaName={"object[]"} qualifierMessage={undefined} schema={{"items":{"allOf":[{"type":"object","title":"Individual","description":"Shallowly models an Individual which may reference some instance in an external system (registration system, functional ID, foundational ID etc). An Individual instance of this model is not to be mistaken with a unique natural individual. It is up to the system owner to decide if this record permits mapping to a natural individual and/or if a single Individual row can map to several consent agreements.","x-not-in-database":false,"properties":{"id":{"type":"string","format":"","example":"64541a2e6e7569000145cd66","description":"The unique ID of an Individual row."},"externalId":{"type":"string","format":"","example":"user@example.com","description":"Reference to another foundational/functional ID, which is likely PII"},"externalIdType":{"type":"string","format":"","example":"email","description":"External ID type specifier. A string. For instance \"email\" or \"foundational ID\". Can be used in later queries."},"identityProviderId":{"type":"string","format":"","example":"64541a2e6e7569000145ab12","description":"This could be an FK, but for now we do not have a mapping of identity providers. IDBB may have more requirements."}}},{"type":"object","title":"IndividualExtras","required":["name","email","phone"],"properties":{"name":{"type":"string","description":"Name of the individual"},"iamId":{"type":"string","description":"Create a user in keycloak and save the `id` as `iamId`"},"email":{"type":"string","description":"Email ID"},"phone":{"type":"string","description":"Phone"},"pushNotificationToken":{"type":"string","description":"Device token of the individual"},"deviceType":{"type":"string","description":"Device type(OS) of the individual","enum":["android","ios"]},"mapperId":{"type":"string","description":"Defines the mapper id of the individual"}}}]},"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  \"individuals\": [\n    {\n      \"id\": \"64541a2e6e7569000145cd66\",\n      \"externalId\": \"user@example.com\",\n      \"externalIdType\": \"email\",\n      \"identityProviderId\": \"64541a2e6e7569000145ab12\",\n      \"name\": \"string\",\n      \"iamId\": \"string\",\n      \"email\": \"string\",\n      \"phone\": \"string\",\n      \"pushNotificationToken\": \"string\",\n      \"deviceType\": \"android\",\n      \"mapperId\": \"string\"\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>
      