---
id: config-update-digital-wallet-open-id-global-configuration
title: "Update global configuration"
description: "Updates an existing global configuration for the OID4VCI issuer."
sidebar_label: "Update 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 global configuration</h1>

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



Updates an existing global configuration for the OID4VCI issuer.

## 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={"credentialExpirationInDays"} required={false} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Default expiration period (in days) for all credentials issued under this configuration. Individual credential definitions can override this value. Defaults to 30."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>credentialBranding</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"}}><SchemaItem collapsible={false} name={"name"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Default display name for credentials in wallet UIs, as specified in the OID4VCI Credential Issuer Metadata."}}></SchemaItem><SchemaItem collapsible={false} name={"description"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Default human-readable description for credentials displayed in wallet UIs."}}></SchemaItem><SchemaItem collapsible={false} name={"backgroundColor"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Default hex color code for the credential card background (e.g. `#FFFFFF`)."}}></SchemaItem><SchemaItem collapsible={false} name={"textColor"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Default hex color code for text on the credential card (e.g. `#000000`)."}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"credentialRequestEncryptionRequired"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the wallet must encrypt the OpenID for Verifiable Credentials Issuance (OID4VCI) Credential Request using the issuer's encryption key."}}></SchemaItem><SchemaItem collapsible={false} name={"authorizationRequestExpiry"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Time-to-live (in seconds) for the OID4VCI Authorization Request. After this period, the credential offer expires."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialBindingMethods"} required={false} schemaName={"array"} qualifierMessage={undefined} schema={{"type":"array","description":"Array of supported cryptographic key binding methods for issued credentials, as defined in OID4VCI Credential Issuer Metadata."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialResponseInterval"} required={false} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Minimum polling interval (in seconds) for the wallet when using the OID4VCI Deferred Credential Endpoint."}}></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"}>globalConfiguration</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"globalConfigurationId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique identifier for the issuer's global configuration."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialExpirationInDays"} required={true} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Default expiration period (in days) for all credentials issued under this configuration. Individual credential definitions can override this value. Defaults to 30."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>credentialBranding</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"}}><SchemaItem collapsible={false} name={"name"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Default display name for credentials in wallet UIs, as specified in the OID4VCI Credential Issuer Metadata."}}></SchemaItem><SchemaItem collapsible={false} name={"description"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Default human-readable description for credentials displayed in wallet UIs."}}></SchemaItem><SchemaItem collapsible={false} name={"backgroundColor"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Default hex color code for the credential card background (e.g. `#FFFFFF`)."}}></SchemaItem><SchemaItem collapsible={false} name={"textColor"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Default hex color code for text on the credential card (e.g. `#000000`)."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>logo</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"uri"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL of the default logo displayed on credential cards in wallet UIs."}}></SchemaItem><SchemaItem collapsible={false} name={"altText"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Alt text for the logo image, used for accessibility."}}></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"}>backgroundImage</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"uri"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL of the default background image for credential cards."}}></SchemaItem><SchemaItem collapsible={false} name={"altText"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Alt text for the background image."}}></SchemaItem></div></details></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"credentialRequestEncryptionRequired"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the wallet must encrypt the OpenID for Verifiable Credentials Issuance (OID4VCI) Credential Request using the issuer's encryption key."}}></SchemaItem><SchemaItem collapsible={false} name={"authorizationRequestExpiry"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Time-to-live (in seconds) for the OID4VCI Authorization Request. After this period, the credential offer expires."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialBindingMethods"} required={false} schemaName={"array"} qualifierMessage={undefined} schema={{"type":"array","description":"Array of supported cryptographic key binding methods for issued credentials, as defined in OID4VCI Credential Issuer Metadata."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialResponseInterval"} required={false} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Minimum polling interval (in seconds) for the wallet when using the OID4VCI Deferred Credential Endpoint."}}></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  \"globalConfiguration\": {\n    \"globalConfigurationId\": \"string\",\n    \"credentialExpirationInDays\": 0,\n    \"credentialBranding\": {\n      \"name\": \"string\",\n      \"description\": \"string\",\n      \"backgroundColor\": \"string\",\n      \"textColor\": \"string\",\n      \"logo\": {\n        \"uri\": \"string\",\n        \"altText\": \"string\"\n      },\n      \"backgroundImage\": {\n        \"uri\": \"string\",\n        \"altText\": \"string\"\n      }\n    },\n    \"credentialRequestEncryptionRequired\": true,\n    \"authorizationRequestExpiry\": 0,\n    \"credentialBindingMethods\": [\n      null\n    ],\n    \"credentialResponseInterval\": 0,\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>
      