---
id: config-read-digital-wallet-open-id-individual-wallet-unit-global-configuration
title: "Read individual wallet unit configuration"
description: "Returns the wallet provider configuration of the individual wallet units: the key that signs their Wallet Unit Attestations and key attestations, and the rules of the attestations. There is one such configuration for each wallet provider, so the path has no id. The organisation wallet units have their own configuration: [Read organisation wallet unit configuration](/docs/openid4vc-api/config-read-digital-wallet-open-id-organisation-wallet-unit-global-configuration)."
sidebar_label: "Read individual wallet unit configuration"
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 individual wallet unit configuration</h1>

<MethodEndpoint method={"get"} path={"/v4/config/ows/wallet-provider/individual-wallet-unit-configuration"}></MethodEndpoint>



Returns the wallet provider configuration of the individual wallet units: the key that signs their Wallet Unit Attestations and key attestations, and the rules of the attestations. There is one such configuration for each wallet provider, so the path has no id. The organisation wallet units have their own configuration: [Read organisation wallet unit configuration](/docs/openid4vc-api/config-read-digital-wallet-open-id-organisation-wallet-unit-global-configuration).

<div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The wallet provider configuration of the individual wallet units.

</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={"signingKeyWarnings"} required={true} schemaName={"string[]"} qualifierMessage={undefined} schema={{"type":"array","description":"The warnings of the signing key, for a key whose certificate preset this use does not accept (also a key with no certificate preset): one text for each rule of this use that its certificate does not fit. Always present; an empty list when there is no warning. The save is not refused.","items":{"type":"string","description":"One warning."},"example":[]}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>globalConfiguration</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The wallet provider configuration of the individual wallet units: the signing key and the rules of their Wallet Unit Attestations (WUAs; TS3 calls them Wallet Instance Attestations, WIA) and key attestations. It is apart from the configuration of the organisation wallet units: a change of one does not change the other. The answer leaves out an optional setting that has no value.

</div><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The id of the configuration."}}></SchemaItem><SchemaItem collapsible={false} name={"walletUnitAttestationValidityDays"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The lifetime of a WUA in days (default 30). A WUA is valid for at most 12 hours (TS3 section 2.2.1.1), so every value of 1 or more gives 12 hours.","example":30}}></SchemaItem><SchemaItem collapsible={false} name={"walletUnitAttestationRefreshIntervalSeconds"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The refresh interval of the WUAs in seconds (default 86400). It has no effect on the individual wallet units: a mobile wallet asks for new WUAs itself.","example":86400}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>walletUnitAttestationSigningConfig</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The key that signs the WUAs and the key attestations of the individual wallet units and their status lists. An empty object: no key yet, so the wallet provider cannot sign.

</div><SchemaItem collapsible={false} name={"cryptographicKeyIdentifier"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The `keyId` of a key of the organisation, from [List keys](/docs/openid4vc-api/config-digital-wallet-open-id-list-keys).","example":"3f2a91c47b8d4e6fa0c5d7e18b924f30"}}></SchemaItem><SchemaItem collapsible={false} name={"cryptographicKeyFormat"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`x509`]"} schema={{"type":"string","description":"The format of the key. The wallet provider signs only with `x509`: an X.509 certificate chain of the key goes in the `x5c` header of each attestation (TS3 section 2.6, HAIP 1.0).","enum":["x509"],"example":"x509"}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"keyStorageStatusIndexOption"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`type_shared`, `per_ka`]"} schema={{"type":"string","description":"How the key attestations get their status list entry (TS3 section 2.5.2): `type_shared` (default; one shared entry for each keystore type) or `per_ka` (an entry for each key attestation). It is fixed after the first key attestation of an individual wallet unit.","enum":["type_shared","per_ka"]}}></SchemaItem><SchemaItem collapsible={false} name={"maxKeyAttestationBatchSize"} required={false} schemaName={"integer"} qualifierMessage={"**Possible values:** `>= 1` and `<= 100`"} schema={{"type":"integer","minimum":1,"maximum":100,"description":"The most keys that one key attestation request of a wallet unit can attest. Not set: 100.","example":10}}></SchemaItem><SchemaItem collapsible={false} name={"maxWiaBatchSize"} required={false} schemaName={"integer"} qualifierMessage={"**Possible values:** `>= 1` and `<= 50`"} schema={{"type":"integer","minimum":1,"maximum":50,"description":"The most WUAs that one batch WUA request of a wallet unit can get. Not set: 50.","example":10}}></SchemaItem><SchemaItem collapsible={false} name={"isWiaPerIssuerReuseEnabled"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"`true`: the WUAs of a batch request of a wallet unit for one issuer use the status list entry of that wallet unit and issuer again, while it is valid (TS3 section 2.5.1). Default `false`: each WUA gets a new entry."}}></SchemaItem><SchemaItem collapsible={false} name={"isKaPerIssuerReuseEnabled"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"`true`: the key attestations of a wallet unit for one issuer use the status list entry of that wallet unit and issuer again, while it is valid. Needs `keyStorageStatusIndexOption` `per_ka`. Default `false`."}}></SchemaItem><SchemaItem collapsible={false} name={"createdAt"} required={true} schemaName={"int64"} qualifierMessage={undefined} schema={{"type":"integer","format":"int64","description":"When the configuration was made (Unix time in seconds)."}}></SchemaItem><SchemaItem collapsible={false} name={"updatedAt"} required={true} schemaName={"int64"} qualifierMessage={undefined} schema={{"type":"integer","format":"int64","description":"When the configuration last changed (Unix time in seconds)."}}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"signingKeyWarnings\": [],\n  \"globalConfiguration\": {\n    \"id\": \"string\",\n    \"walletUnitAttestationValidityDays\": 30,\n    \"walletUnitAttestationRefreshIntervalSeconds\": 86400,\n    \"walletUnitAttestationSigningConfig\": {\n      \"cryptographicKeyIdentifier\": \"3f2a91c47b8d4e6fa0c5d7e18b924f30\",\n      \"cryptographicKeyFormat\": \"x509\"\n    },\n    \"keyStorageStatusIndexOption\": \"type_shared\",\n    \"maxKeyAttestationBatchSize\": 10,\n    \"maxWiaBatchSize\": 10,\n    \"isWiaPerIssuerReuseEnabled\": true,\n    \"isKaPerIssuerReuseEnabled\": true,\n    \"createdAt\": 0,\n    \"updatedAt\": 0\n  }\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"signingKeyWarnings\": [],\n  \"globalConfiguration\": {\n    \"id\": \"0108ca80-51e3-4325-bccf-4a08cb68a5e0\",\n    \"walletUnitAttestationValidityDays\": 30,\n    \"walletUnitAttestationRefreshIntervalSeconds\": 86400,\n    \"walletUnitAttestationSigningConfig\": {\n      \"cryptographicKeyIdentifier\": \"3eb959f977b941d28c09cf26fbe2a895\",\n      \"cryptographicKeyFormat\": \"x509\"\n    },\n    \"keyStorageStatusIndexOption\": \"type_shared\",\n    \"isWiaPerIssuerReuseEnabled\": false,\n    \"isKaPerIssuerReuseEnabled\": false,\n    \"createdAt\": 1793245044,\n    \"updatedAt\": 1794142497\n  }\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

The organisation has no deployment, or it is not the wallet provider (`Invalid request, wallet provider 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><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"401"} value={"401"}><div>

The `Authorization` header is missing, or the API key or token is not valid.

</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><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"403"} value={"403"}><div>

The API key or token does not allow this call. An API key without the scope of the operation gets the older body `{"Code", "Message"}`. An `X-SandboxOrgId` header that names another sandbox organisation than the one of the API key gets `{"errorCode", "errorDescription"}`. When a platform admin has turned off the feature of the operation for the organisation, the answer has `errorKey` `feature_disabled` and the member `feature` (the name of the feature).

</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"}}><div><span className={"badge badge--info"}>anyOf</span><SchemaTabs><TabItem label={"MOD1"} value={"0-item-properties"}><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><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></TabItem><TabItem label={"Older error body"} value={"1-item-properties"}><SchemaItem collapsible={false} name={"Code"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The HTTP status.","example":403}}></SchemaItem><SchemaItem collapsible={false} name={"Message"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"What went wrong.","example":"Unauthorized access;User doesn't have enough permissions;"}}></SchemaItem></TabItem></SchemaTabs></div></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"Code\": 403,\n  \"Message\": \"Unauthorized access;User doesn't have enough permissions;\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"404"} value={"404"}><div>

The organisation has no wallet provider configuration of this kind. The wallet makes it when the organisation becomes the wallet provider, so this is not a normal case.

</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><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"500"} value={"500"}><div>

Unexpected 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><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div></div>
      