---
id: config-digital-wallet-open-id-read-secure-vault
title: "Read secure vault"
description: "Retrieves the current secure vault configuration for OID4VCI and OpenID4VP key storage."
sidebar_label: "Read secure vault"
hide_title: true
hide_table_of_contents: true
api: eJzlV9tu2zgQ/ZUBnxJAviRNgYVRFJvaaete3dpNHooAYaSxxEYiGZKy4zX874shZdmWk40X2D7tiy1bnDP3M8MlS9DGRmgnlGQ99h2dEThDCy5DiEtjUDqwGJcGYcbL3EGs5FSkpeEkAlNl4OtwcHbZHwKXCXzVKOnnCO5wAdYpw1Nss4gpjUFkmLAeCyADkQrH8yue5+i8ZPIdeTL26i5JG4uYQauVtGhZb8lOuyf0tWs0iwjPoXT0jmudi9ir6vyydGDJbJxhwenJLTSyHlO3vzAmdG3IMCcCfMZtJmJldFD+yPldze/pfF8ZDZdPxAYfHBrJcx+OgkueYkEhLS0mO8GLDSYoneA5WJFKIdP2nnko+W2OyZZdt0rlyOWeYWONsZgKtDDP0GVo4P3atcpUYWENt4qYT+0PS6YWuIVvnREy3YNfn/QeNJF56TLyJOSgRh9xa+fKJM+jr0/+G/TzJDFo7fPg1UFQU1/iTXiLZoamhv3CC7SaxwfEpD4KQjZh2Wq1iphIDZdOqAOLS7yj422hqrpJnm3A311DG4v2a4gcvHdWP+/Xt5LnhJvAxJTWwRjNTMQII6NmIkEDR98m49HxI37e15KYY+yMkiL2nnJXGrQQq0LngksHc+EywOHgfAwG0zL3GP9tMA51Y7fRYhv/MPkBHfb9k3eZarQ/7vu6FDF6iFygdMMDGqnvT8Jw4KHInEfaJ8CNMTboDoa0/vg/wZYWzXBwGJXsWFh76kvK4H0pDKXoZ6N/rv37DHmChpJJv87CeDh4GmyjozHK9FWCLArPgy07r6NnJsdGeuOxkA5TNIT3wAudI+uddburR+AfiVItwt7wBITUpQPNDS/QET+F6DRCKSkNyoi/MGHN0Lzsdv/HoRnKagwHfgevphGjVcT8oiPcgvV+Ltm5Fh+RHq9X0ZK9QW7QnJcu8/+Q1zy1FJ1qi4GwxsDRegXqH7OIfcQFfK7HPgWrQJcp2oFS9LHihMg6s9NOILxOEvBac4/XURqlSDp3uGht9gdGtpIn1pu66+wAC7UeZBEriW5Y5py2vU4nwUK1uBbt0ExtoRh51xjARiVl7Gn3CZjnEMaOp0KmT4nb8LppyPUmA2MqxFA/6zzUhcDDHxETpCqkkEUsrC7svOqBwER743809KvYLmG1YZLRfpuXuF4MbnZwbiCogYKo/hZBG5yKB0zCpLkJNsINHEnl0AM4w0XuY0BLwXEE2E7bDdgeVIKvFqo0FI7WHS5e37SJQbcrbslu/a+3yhTcsR77cDXZ9y2OabNx6g4laG7t2ryAVNlM68mOEVBH0He/n4JegNWdTXljfoWRU7WmER57GsGCC8qtLbVWxv25yWedknpv2CuE7Rp6cv3RYaJa4GHCo0MQ9E2dEFyokhZaz8+SSzRiKmjuQr9eiywMrS25jBGOqqXpeOva0hQcGbS1irqvR8dkkVOxyi0VjrBAVRWGvAVlUi6r0FIyQFhbYgSZypPIK5uRhgVUfb61tVkora8Yx2XCTWJbm41mmqu5DemsIu2tvXrRh8s+HH24mhxHMLyYvIXxoPXhagKX/aBtOP4KJ390T160XkIxUHGnGHza3hSnvqQsLUe5iFFaz9PrZtI8zhBO29291M3n8zb3r9vKpJ1K1nY+DfsXX8YXLZJZRcwJl+/UgA9WouKyzh6LGDFZSPtp9/Ss/aJ9QrJaWVdwuWUPXQ93rqPNJtiacL/xMlu1hcMH19E5F2HjCXtdIPSfbHYa7qVT4ZeeHVIP92EpaEw3iP06YpmyjhCWy1tu8YfJVyv6+75E48cR3U2Mr9AwnNYUSJPgjpjSM4EmLZ7SPGU2Zv1qexK9uyAy4RXTbFj2zrNs9UDo61dysYXdJNxgAn3SXHhU5BXVwEdcvK6PhzdPCtQUFU5TwGn/+xv6/9gr
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 secure vault</h1>

<MethodEndpoint method={"get"} path={"/v2/config/digital-wallet/openid/key-management"}></MethodEndpoint>



Retrieves the current secure vault configuration for OID4VCI and OpenID4VP key storage.

<div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"201"} value={"201"}><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"}>hashicorpVault</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

HashiCorp Vault configuration for external key management used for OID4VCI credential signing.

</div><SchemaItem collapsible={false} name={"enabled"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Specifies whether Hashicorp Vault is enabled"}}></SchemaItem><SchemaItem collapsible={false} name={"vaultUsername"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Username for Hashicorp Vault authentication"}}></SchemaItem><SchemaItem collapsible={false} name={"vaultPassword"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Password for Hashicorp Vault authentication"}}></SchemaItem><SchemaItem collapsible={false} name={"vaultAddress"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Address of the Hashicorp Vault server"}}></SchemaItem><SchemaItem collapsible={false} name={"vaultNamespace"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Namespace in Hashicorp Vault"}}></SchemaItem></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"}>igrantioVault</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

iGrant.io managed vault configuration for OID4VCI credential signing.

</div><SchemaItem collapsible={false} name={"enabled"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Specifies whether iGrant.io Vault is enabled"}}></SchemaItem></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"}>qtsp</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Qualified Trust Service Provider (QTSP) configuration for qualified electronic signatures compliant with eIDAS regulation.

</div><SchemaItem collapsible={false} name={"enabled"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Specifies whether Qualified Trust Service Provider (QTSP) is enabled"}}></SchemaItem><SchemaItem collapsible={false} name={"cscUrl"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL for the CSC service"}}></SchemaItem><SchemaItem collapsible={false} name={"clientId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Client ID for QTSP authentication"}}></SchemaItem><SchemaItem collapsible={false} name={"clientSecret"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Client secret for QTSP authentication"}}></SchemaItem><SchemaItem collapsible={false} name={"userID"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"User ID for QTSP service"}}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"hashicorpVault\": {\n    \"enabled\": true,\n    \"vaultUsername\": \"string\",\n    \"vaultPassword\": \"string\",\n    \"vaultAddress\": \"string\",\n    \"vaultNamespace\": \"string\"\n  },\n  \"igrantioVault\": {\n    \"enabled\": true\n  },\n  \"qtsp\": {\n    \"enabled\": true,\n    \"cscUrl\": \"string\",\n    \"clientId\": \"string\",\n    \"clientSecret\": \"string\",\n    \"userID\": \"string\"\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>
      