---
id: get-post-oidc-user-info-sandbox
title: "UserInfo Endpoint"
description: "OpenID Connect UserInfo endpoint that returns claims about the authenticated end-user. Requires a valid access token obtained from the token endpoint to be provided in the `Authorization` header."
sidebar_label: "UserInfo Endpoint"
hide_title: true
hide_table_of_contents: true
api: eJzlV81u20YQfpXBnGyAphTHvRBB0MROC7VFbUQJenAFeESOyI3JXWZ3KVkVeOuT9NH6JMUsqX+laXJsfLFI7szOfDP7fbMrzNilVtVeGY0J3tasRzdwbbTm1MN7x3akZwZYZ7VR2oMvyINl31jtIC1JVQ5oahr5wkCNL1h7lZLnTIwuGsc2hrf8sVGWHRDMqVQZUJqyc+DNI2swU09KcwYza6rgp3u/3dTAlKG2Zq4yzkDpsOjhVeMLY9UfJME/QMGUsY1/1xhhTZYq9mwdJvergyTfFQyjGzCz4MbYnLRywQlGqGRFTb7ACDVVjAnurhhlGKHt0skw8bbhCF1acEWYrNAva7Fw3iqdY9tGh3u/1+pjw6AygWmm2K7DcKSzqXnaCyc+HU+/9NbmXxjNRBa72mjHTr5fDofy7yBCxxaUnhlbrTFJjfasvaylui6lvMrowQcnBqvjDc30A6deymBNzdarbjvXTI+jij4L0MzYgJC0ErbilB1r3wV3YlPKMiXfqLzb2b7D5qDbgwlIeqS00nnYIyQPZ11zn2MrfxF23SV5yNPV8Jls/Z+B2dboHtlaY69Nxhh1v292gppEnwFxa71NXWnPOVvx90RVXTImV8Nhe8L9Cfg3Jvia5GzVjYfN8Vlnf1gj6o8eSwMeQnP1DUPzlp1pbMqgjYeZafQxQN91p+4bBWikPVtNJTi2c7YQtjnAqI3QcdpY5ZeBvl8zWbZC95jcT4TGJKs1HyeYs78zzt+Obq7XijXuOBIj9JSLCKyl7a5TEQtn4xOMey4gVuwLI35r4wKIwr4JDubPBxK0SnnAT561k3oZlaWD1b5EtIPVLke3A6EVYRWUxCTtU7J0w5XpUcEIG1tigoX3tUsGg4wrc0G1ilVuSftYGTzWljtrsiaVh0+5+ZyHsadcaPAT5q77fBjIZFuusXRt12yvavUzL3e6hroXvaR19d6K2p6YH6nCq7sRPPJyd8AQfQSR8jmVDa9l9PRQAFXjfDdD8Ew9cQYL5Qt46GKEBzjTxnM3elhSZcCgppTPI+A4jw/cJtAbvliaxgocF4+8fPkQizztNusKp+HphyCmmOBPv707zm13FqrJuXV4nac+Zpl69oKADYKBKgTDbjPc0IDUTYYQDL3Xcw6lgXO4IiW1dU1dG+u/39ZzUxL14/bVfiPs9tBBNhsjOPv7z7/OQcnQN15wplwBGXkCfkoL0jkD6QzmbNWsLyf0p2s96dkYRl4k2YHjcnbhzJwtq1z304FfRr09TUuG1HJ4TaWLgCBTufJUwoLKkn3YzBmZPWuTgee00KY0uWIXAWuahpoTaF5AyXMupaGEGwOB0lSVyi+DE2q8kclI55Caqi4V6ZS7goX0LOdNGfJxUjOCWVOW0rmZ8iHOirRmK7NdqVLWLrDx+hTUlBYMl/HwCPPFYhFT+Bwbmw96Wzf4ZXT95tfxmwuxaSP0ypd7xQM5O5lJm2ozNEUoFNTV63J4eRU/j5+Fyco4X5HeiWdzAXjTz+KH3bujY/+by0N/ejw/+UFdktKCTSjGqteCe5w/77lcpUGL13qAEYoiYITJ0bUhORjcN6owibAQqUnucbWakuP3tmxbef2xYSsaOIlwTjb0eaccysnvDJMZle5wsN0tylkPX3YO/3rvOZn0mrm10HbgWUwQI3wUYj+8FwU5+Zq4vvhO9BWx7kHfTjYDfUCzWyI8XPsd46OxrN0dDu5ux8Ll1BN9v/2Ggvsf4v5kZC96dn8n3fpyE2doXgmwbf8B7MB7/A==
sidebar_class_name: "post api-method"
info_path: docs/extensions-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"}>UserInfo Endpoint</h1>

<MethodEndpoint method={"post"} path={"/v3/service/extension/oidc/{organisationId}/{sandboxOrgId}/userinfo"}></MethodEndpoint>



OpenID Connect UserInfo endpoint that returns claims about the authenticated end-user. Requires a valid access token obtained from the token endpoint to be provided in the `Authorization` header.


## 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":"The ID of the organisation","in":"path","name":"organisationId","required":true,"schema":{"type":"string"}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"description":"Unique identifier of the sandbox organisation.","in":"path","name":"sandboxOrgId","required":true,"schema":{"type":"string"}}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

User information

</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={"sub"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique identifier for the user"}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>presentation</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Object containing user info (claims)

</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"type":"object","additionalProperties":true,"description":"Object containing user info (claims)"}} collapsible={false} discriminator={false}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"sub\": \"string\",\n  \"presentation\": {}\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></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={"404"} value={"404"}><div>

Resource not found

</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>
      