---
id: config-update-digital-wallet-open-id-holder-global-configuration
title: "Update holder global configuration"
description: "Updates an existing holder global configuration for OID4VCI and OpenID4VP flows."
sidebar_label: "Update holder global configuration"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "put 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"}>Update holder global configuration</h1>

<MethodEndpoint method={"put"} path={"/v2/config/digital-wallet/openid/holder/global-configuration/{globalConfigurationId}"}></MethodEndpoint>



Updates an existing holder global configuration for OID4VCI and OpenID4VP flows.

## 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 the issuer's global configuration.","in":"path","name":"globalConfigurationId","required":true,"schema":{"type":"string"}}}></ParamsItem></ul></div></details><MimeTabs className={"openapi-tabs__mime"}><TabItem label={"application/json"} value={"application/json-schema"}><details style={{}} className={"openapi-markdown__details mime"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-mime"}><h3 className={"openapi-markdown__details-summary-header-body"}>Body</h3></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"supportCredentialEncryption"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Define whether holder is supporting credential encyption"}}></SchemaItem><SchemaItem collapsible={false} name={"refreshCredentialStatusInterval"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Define the interval for refreshing credential status"}}></SchemaItem><SchemaItem collapsible={false} name={"redirectUrl"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Define the redirect url for the authorisation request"}}></SchemaItem></ul></details></TabItem></MimeTabs><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"}>holderGlobalConfiguration</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"holderGlobalConfigurationId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique identifier for the holder's global wallet configuration."}}></SchemaItem><SchemaItem collapsible={false} name={"supportCredentialEncryption"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the holder's wallet supports encrypted OID4VCI Credential Responses."}}></SchemaItem><SchemaItem collapsible={false} name={"refreshCredentialStatusInterval"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Interval (in seconds) at which the wallet checks credential revocation status."}}></SchemaItem><SchemaItem collapsible={false} name={"redirectUrl"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Default redirect URL for the OAuth 2.0 Authorization Code Flow during OID4VCI credential issuance."}}></SchemaItem><SchemaItem collapsible={false} name={"createdAt"} required={true} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Unix timestamp (in seconds) when this configuration was created."}}></SchemaItem><SchemaItem collapsible={false} name={"updatedAt"} required={true} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Unix timestamp (in seconds) when this configuration was last modified."}}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"holderGlobalConfiguration\": {\n    \"holderGlobalConfigurationId\": \"string\",\n    \"supportCredentialEncryption\": true,\n    \"refreshCredentialStatusInterval\": 0,\n    \"redirectUrl\": \"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>
      