---
id: config-update-digital-wallet-open-id-sandbox-org-cover
title: "Update sandbox organisation cover image"
description: "Updates the cover image of one sandbox organisation. Give the sandbox organisation ID in the path and send the image as multipart form data in the `coverimage` form field."
sidebar_label: "Update sandbox organisation cover image"
hide_title: true
hide_table_of_contents: true
api: eJztWW9v2zYT/yoHvkoAxXbTDBiMYXjSuNvcdWvQOAkedAFMi2eLi0SqJOXUM/zdHxwpyZIt11n2vOvyIpAl3vH4u//HNRNoYyNzJ7ViQ3abC+7QgksQYr1EAzLjCwQ9B60QLFdipr+ANguupOVE1YOf5RI9RddnGI9AKv855y4BrgRYVMK/Ccy5haxIncy5cTDXJgPBHa+opl4Ov3Iavs4lpqL3h/pDTWhTNEsZI1inTSm5XxyBRRd+K3wqtxqPvADtl7cf34NWB08Q1TKXuCRcLRCc9r+eeJqiI4AOIvCUoALpQFoQmKd6hUH6/+oCYq6UdlB43D2LjEtVcXWJ0cUiAZdIC6hErqVyPRiHzRZyiQFfu0sZBWlKaGihhV8mk2u4GAx6LGI6R+OFGws2ZLFWc7kIuh/JhXQ8vfdsPuSoxuImHOqDWVyRKljEcm54hg6NZcNP610bUvJzgSAFKifnEs3XwCFhJFGRcbCIKZ4hGzJbbzkWLGIGPxfSoGBDZwqMmI0TzDgbrplb5X69M1It2GbzEBajdW+0WNGKtnCTHcN2OhhOr2OXWCuHyhGT2j77ZIFnZJ/0GlWsBW08XG86pNKzPzF2Lc6f2Nac2UPEckOqcBIt0TW+7Z0tYrQ1d2zIZlJxs2LRkbPNZYo9tvF/JIPNtbJho/PBoBubljeJ3ThAKDVQ4Xmeytjrsf+nJR7rZ4Kw1e8+CI1vHVzaa6XoAuof2CPbVDZ4jO1I2jzlK6DVxzi2KI8x/qXIuAKDXPBZitD4eGwb7d115GNMhsqNn4HOeA8Wbq2OJXcowPv/qIxaxJF2sY67wjY4S+Vw4eNCm/WNXwixFkcBSlEs0LTkPcT1qwIHPsRRqrnh1pkidoXBa6OXUqA5jsfvDXW2eUBeMdlEbInGPkubd2HhVxNEiL+FqeEwOn2GBX7U6VeBrTIoxtqurMOMWDtTWHep4kQ/A4wJLQbuV7ccyMBoPPIw25ApOgCeaZ0iV/sKVIKCBlpKjC5BE9Jb5wl47CzVB7zKiE0dWIwLg3e8SN2L7CanUGtWEPjA0jNq822aOTeGU9BVRZqSZ1Zp4tA2ttZNgz9lau4Oq6ywaHtAkdhXOZDoVFiY0p7TUEgcJE24BaVbu/ns6jDr8lbKCale6DEF9pdFCiIvE0NDZGmBzywq9zx5G0wIfJ9t/oFMzWz1cqFaOa8J1K1Jj0t1XcxSGfu6cq7NDlTtQ76UX0NAz9Agxb/L5zjCRGZoHc/yI1A8cQslX9oilKj//y1Sbqv6V4SI8huX6uVxpFkMt9PMpl2DSFHVm23OnXm0TnuNXHUwyWzTQxnK22G3I2q2g9mOve3aS1PdTb3U2D10VYbd8XXuMBhUYBNcpi4CqYGaNj1y6nuhaUueaVljRixBLnxPsKZfF6HGfHa92NQNGqPNlRYEnX8eNc7zEB2pCrfUXaaKX3iWU/i+GAw2Hew73LEmYW+4AKnywkHdA1Wn34f8aINWtipV1DnQ6kZQOn2ll1gXqQDqG+tO+u82pZQZdtX16htW163ihUu0kX+h6IDm4huGhiy5s9DojOjSleOK8Wjfxr77pkPCWDk0iqfej9GA32YHo6r8lG7lRyuXufwV6fFhE63ZG+QGzWXhEv+GTs0XNINh5dgGQl6Bk9C5XdxdnbKIlQMctIRThi7RNPXJCw8TzV2GrL8874c2pF/q9UybRX/dHMRs+o35BMlJp+iaAI0w0+UhKUFRicMS53I77PcFZvqM57InF4Yr15Oa0cl2Ch6jRRF7gzrA5hiHG8cXUi0OkdvweVeQhy36N2SEwXYqHWw7gfCinFwF9W1nV5dlIOFlNdEW7PJ6DI+4Ago3VLvG5RCVvGzJ06Lu6KYtPlMI20BGHdmMmhecyy8ogsdNg4wwhROly0GiM1ymHoOcx3gaAfYWvR22QygJf1jpwhAcZ4+4+nHqi96mta3ZzP/6qZpBvbuf7J8tjtFacPoRFeTc2kq8wKmUmdrSlhBQI+g939d8noDVXk168wWcVHNdhRAe+xCCGZekW1vkuTbuP1t91iqRP29ftQ2haUM7p6mJqqaT2tBYk9c7mjHnKVJxyJuTmXJgQlX6HRo5l36Ec2XQ9yk8tTC2tuAqRjj54P1zfOpLqm7Ca4O23qL26etTksjpWKe+V5QWyKpQEY0t43GAlpQB0toCI99Khlk2OfF8BaKMGXFDvMJ6i3FcCW6EPfPnlVw5mKf6yQZ1lkh7ae9fX8HdFZy8u5+cRjB+O/kJbkZn7+4ncHcVdhvffIBX3w9evT77DrKRjvvZ6H1jTwhjTUvZIpUxKutjdOVMOY8ThPPeYE91T09PPe4/9yhUlbS2/3589fb3m7dnREMDD+nSlg14sISOi1p7jYJ9yM4H5xe9171XRJtr6zKuGvKEIfmhMc62J9ub+dU57987lm/kjqUMXQ6/uH6eUl+2KU14XWbdT2x5Hibqc0k1RSPzsogNdy5B2hcHibaOOKzXM26pDdts6PXnAo0vFyK25EaGORUlaGnpWbDhnKd2d2rVNM+Tj2XRdQp/+yan88hV0lSUMX2KY0PGIvZIObV907N5qLtIL3VYchVkO5sQoy2LrjsZKgQCEeWi3DWW71Wam2YxdH1L6WxW3hllvlD0Fy6ebbR99JUY42VS3BYEj74gKB9I9s5j79YGQVb6T5J3kvxA4epXXP1YLw9fDhLU2TSsJiU8bDab/wGU5on4
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 sandbox organisation cover image</h1>

<MethodEndpoint method={"put"} path={"/v2/config/sandbox-org/{sandboxOrgId}/coverimage"}></MethodEndpoint>



Updates the cover image of one sandbox organisation. Give the sandbox organisation ID in the path and send the image as multipart form data in the `coverimage` form field.

The service stores the image, sets the new image ID and the new image URL on the sandbox organisation, and sends the change to the wallet of the sandbox organisation when it is deployed.

You cannot update the main wallet through this endpoint. If the given ID is the main wallet, the service gives HTTP 400.

## 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 sandbox organisation.","in":"path","name":"sandboxOrgId","required":true,"schema":{"type":"string"}}}></ParamsItem></ul></div></details><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><strong className={"openapi-schema__required"}>required</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}><div style={{"marginTop":"1rem","marginBottom":"1rem"}}>

The cover image to store.

</div></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"coverimage"} required={true} schemaName={"binary"} qualifierMessage={undefined} schema={{"type":"string","format":"binary","description":"The cover image file."}}></SchemaItem></ul></details></TabItem></MimeTabs><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The service stored the cover image.

</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"}>sandboxOrg</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"}}>

The sandbox organisation after the update. The service sets `coverImageId` and `coverImageUrl`.

</div><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique identifier of the sandbox organisation"}}></SchemaItem><SchemaItem collapsible={false} name={"name"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Display name of the sandbox organisation"}}></SchemaItem><SchemaItem collapsible={false} name={"description"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Human readable description of the sandbox organisation"}}></SchemaItem><SchemaItem collapsible={false} name={"openIdDeploymentId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Identifier of the associated OpenID deployment"}}></SchemaItem><SchemaItem collapsible={false} name={"status"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Status code of the sandbox organisation"}}></SchemaItem><SchemaItem collapsible={false} name={"ledgerId"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Identifier of the associated ledger"}}></SchemaItem><SchemaItem collapsible={false} name={"infrastructureProvider"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Name of the infrastructure provider"}}></SchemaItem><SchemaItem collapsible={false} name={"version"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Version of the sandbox organisation configuration"}}></SchemaItem><SchemaItem collapsible={false} name={"role"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Role of the sandbox organisation in the ecosystem"}}></SchemaItem><SchemaItem collapsible={false} name={"trustAnchor"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Trust anchor identifier or DID"}}></SchemaItem><SchemaItem collapsible={false} name={"isWalletProvider"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates whether this sandbox organisation acts as a wallet provider"}}></SchemaItem><SchemaItem collapsible={false} name={"secureVault"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Identifier of the primary secure vault"}}></SchemaItem><SchemaItem collapsible={false} name={"secureVaults"} required={false} schemaName={"integer[]"} qualifierMessage={undefined} schema={{"type":"array","nullable":true,"description":"Identifiers of the secure vaults that the sandbox organisation uses. The field holds `null` when the sandbox organisation has no secure vault.","items":{"type":"integer"}}}></SchemaItem><SchemaItem collapsible={false} name={"logoImageId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Identifier of the logo image. The field is absent when the sandbox organisation has no logo image."}}></SchemaItem><SchemaItem collapsible={false} name={"coverImageId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Identifier of the cover image. The field is absent when the sandbox organisation has no cover image."}}></SchemaItem><SchemaItem collapsible={false} name={"logoImageUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Public URL for the logo image"}}></SchemaItem><SchemaItem collapsible={false} name={"coverImageUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Public URL for the cover image"}}></SchemaItem><SchemaItem collapsible={false} name={"createdAt"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Timestamp when the sandbox organisation was created"}}></SchemaItem><SchemaItem collapsible={false} name={"updatedAt"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Timestamp when the sandbox organisation was last updated"}}></SchemaItem><SchemaItem collapsible={false} name={"isMain"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates whether this is the main organisation"}}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"sandboxOrg\": {\n    \"id\": \"string\",\n    \"name\": \"string\",\n    \"description\": \"string\",\n    \"openIdDeploymentId\": \"string\",\n    \"status\": 0,\n    \"ledgerId\": 0,\n    \"infrastructureProvider\": \"string\",\n    \"version\": \"string\",\n    \"role\": \"string\",\n    \"trustAnchor\": \"string\",\n    \"isWalletProvider\": true,\n    \"secureVault\": 0,\n    \"secureVaults\": [\n      0\n    ],\n    \"logoImageId\": \"string\",\n    \"coverImageId\": \"string\",\n    \"logoImageUrl\": \"string\",\n    \"coverImageUrl\": \"string\",\n    \"createdAt\": 0,\n    \"updatedAt\": 0,\n    \"isMain\": true\n  }\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

The given ID is the main wallet, the request has no `coverimage` form field, or the service could not send the change to the wallet of the sandbox organisation.

</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={"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>

The organisation has no sandbox organisation with this ID.

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