---
id: config-read-digital-wallet-open-id-wallet-unit
title: "Read wallet unit"
description: "Retrieves a wallet unit by its ID from the wallet provider."
sidebar_label: "Read wallet unit"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "get api-method"
info_path: docs/openid4vc-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 wallet unit</h1>

<MethodEndpoint method={"get"} path={"/v2/config/digital-wallet/openid/wallet-provider/wallet-unit/{walletUnitId}"}></MethodEndpoint>



Retrieves a wallet unit by its ID from the wallet provider.

## 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 identifier of a wallet unit registration managed by the Wallet Provider.","in":"path","name":"walletUnitId","required":true,"schema":{"type":"string"}}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div></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"}>walletUnit</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique identifier for the wallet unit record."}}></SchemaItem><SchemaItem collapsible={false} name={"clientId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Client identifier of the wallet instance, typically a DID or URL. Used to identify the wallet during OID4VCI and OpenID4VP protocol interactions."}}></SchemaItem><SchemaItem collapsible={false} name={"clientUrl"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL endpoint of the wallet instance, used for direct communication."}}></SchemaItem><SchemaItem collapsible={false} name={"clientPublicKey"} required={true} schemaName={"object"} qualifierMessage={undefined} schema={{"type":"object","description":"Public key JWK of the wallet instance, used to verify Wallet Unit Attestation Proof of Possession."}}></SchemaItem><SchemaItem collapsible={false} name={"isAuthorised"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, this wallet unit is authorized to interact with the Wallet Provider's services."}}></SchemaItem><SchemaItem collapsible={false} name={"assertionToken"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Client assertion JWT of the wallet unit, used for OAuth 2.0 client authentication."}}></SchemaItem><SchemaItem collapsible={false} name={"assertionTokenType"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Type of the client assertion token."}}></SchemaItem><SchemaItem collapsible={false} name={"createdAt"} required={false} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Unix timestamp (in seconds) when this wallet unit was registered."}}></SchemaItem><SchemaItem collapsible={false} name={"updatedAt"} required={false} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Unix timestamp (in seconds) when this wallet unit record was last modified."}}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"walletUnit\": {\n    \"id\": \"string\",\n    \"clientId\": \"string\",\n    \"clientUrl\": \"string\",\n    \"clientPublicKey\": {},\n    \"isAuthorised\": true,\n    \"assertionToken\": \"string\",\n    \"assertionTokenType\": \"string\",\n    \"createdAt\": 0,\n    \"updatedAt\": 0\n  }\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={"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>
      