---
id: config-update-digital-wallet-open-id-global-configuration-logo-image
title: "Update global configuration logo image"
description: "Uploads or updates the logo image of the OID4VCI issuer global configuration. An organisation has one issuer global configuration, so the path has no identifier. The image URL in `credentialBranding` is a public URL with the `globalConfigurationId` of the configuration."
sidebar_label: "Update global configuration logo image"
hide_title: true
hide_table_of_contents: true
api: eJztV1tv2zYU/isHfEoA2XLSFBiEolhqd4XbYAmW20MRwLR0LLGhSJak7HiG//twSNmWHWf7Ad1LQpPn+p2rVqxAYzHnHguWzbh0mLACXW6F8UIrlrF7IzUvHGgLjSm4Rwe+QpC61CBqXiLoWbi5Ho8uHoZjEM41aKGUesol5FrNRNlYTuL6cKlA25Ir4cIFVNyBVvhvTAk4HRQY7qvAoDSIApUXM4G2D3cVtpbc/3UFQsEktxjeufxkuSqEKicgHHAwzVSKPNAthK+C2ElUOuzqHBeTjVv7DrCEaYMbIpax+HwfkBmJUnguH7mU6K8NqnHx5bXsK13qMZnLEmbxZ4POf9LFkmUrEuZReTrWjfTCcOvTmbZ1r+Ce0zWqXJM/LFutE+byCutwbyyZ5QU6+kXBCYjQD+LnnmVsKhS3S5YwvzTIMua8JUnrdbRDWMqB7x3mpy2pnv7A3LP1Pm3Il3DjjFYu6j4fDOjffhJdf2MJq5AXaImIxFwMzg5c5sZIkQeM0h+O+FYdD7smorXaDnVBEIbzqKPtldXJATo77my1IRXKY4mW5L3w2khk2cVgsD4ifsfT4tdhYZ94AUKZxoPhltfo0RJo5O9BVSne+Epb8TcWR6C5+IWh+XKkB4DSHma6UUUs90UoMaj5c9uO9qkXFSoQHgo0Ui8jxV7bifxtZxEOgiuQ6xqpHclllOAr7sF5NDDjQmLUbalZUQvKLXKPsG0HGRnhee7BNcZo6/uvAvs+1sYvGtix8mgVl+DQztFG0A8woqaGeWOFX7Ls+4pdGvEN6fi0Jh956QiLttFC7LRwEnotTZ9TlrBxGCUESY2+0tSkTRMQ4b5iGUvn52lMl7SIcnoxHVJtUIkijbMojWOht5dZ6a45kqHkhgt27ns6wlq3XrKENVayjFXeG5elaYG17nEj+qK0XPm+0GydHAq4sbpo8pCqb4j5Lwm3npdClW+xu/h8aMjTDv5bysKYPJsgbLOAx4uECVIV48cSpnhNr5dtZwuIscMsuLwZwzMugfofzei83QyorOdcNtt9YrInZwJRDdSN8zBFMBZn4gWLOMgn0UaYwInSHoMAb7mQAQPDczxNAPtl/0BsBi3jh6VuLMHRe8blx0k/jEWhZnpTsDwPBYs1FwRkW+O/78Db+i++7K72Ue8G7ACWLRMYq+eiQFpXck015mm9MRJrVD62r83GFdIeZtrCA1oxE3wqEYbb5ccB1QJXOcJJu52dAlfFG4w3Ft1Wxbambk7JIq9zLR1FSTigEKIiHte21QimA6/jJpdApWWRBGVz0rCEttYg75jXuBAez1XBbeF6wV/BlYeZ1AsXQ9siHax9fDeEhyGcfH28O01g/PnuD7gd9b4+3sHDMGob317D2W+Ds3e991CPdJ7Wo6uOTojbkKPeLEWOyoWOuMlcw/MK4bw/eBW6xWLR5+G5r22ZtrwuvRoPP/95+7lHPOuEeeHlXg4EsAqdN9vosYRR24hhPx+cX/Tf9c+I12jna6469sS18uhW3FnAD0usM2D+394Pt/e2g3l88amRXChCPoR61Q6I72x+zpJ2sSds94ZE/ABQgra26DZL2LFRQQnW3aQr7TwJX62m3OG9les1Xf9s0Ib5lrA5t6EQw7TbjMUwXZ6p+7JhjGrvjlwgctmQK8e+FGgeRKbLPEfjO+SvNo51d1Le3N+xhE3b75E6LAzhCyKITXbHaCM18f258BzmQnsg2zdPatkx4nBERFvpL1l+lOUDFdI3XH7ckseXNxm2YylSU6Sf1uv1PzIvOhU=
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 logo image</h1>

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



Uploads or updates the logo image of the OID4VCI issuer global configuration. An organisation has one issuer global configuration, so the path has no identifier. The image URL in `credentialBranding` is a public URL with the `globalConfigurationId` of the configuration.

## Request

<MimeTabs className={"openapi-tabs__mime"}><TabItem label={"multipart/form-data"} value={"multipart/form-data-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={"logoimage"} required={true} schemaName={"binary"} qualifierMessage={undefined} schema={{"format":"binary","type":"string"}}></SchemaItem></ul></details></TabItem></MimeTabs><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

OK

</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></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={"404"} value={"404"}><div>

Global configuration not found. The wallet makes the configuration when it deploys the organisation wallet, so this error comes only when that step failed. There is no create operation: contact support.

</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>
      