---
id: config-update-digital-wallet-open-id-organisation-wallet-unit-global-configuration
title: "Update organisation wallet unit configuration"
description: "Changes the wallet provider configuration of the organisation wallet units. Send only the members to change: a member that you leave out keeps its value. The configuration of the individual wallet units does not change."
sidebar_label: "Update organisation wallet unit configuration"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "patch 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 organisation wallet unit configuration</h1>

<MethodEndpoint method={"patch"} path={"/v4/config/ows/wallet-provider/organisation-wallet-unit-configuration"}></MethodEndpoint>



Changes the wallet provider configuration of the organisation wallet units. Send only the members to change: a member that you leave out keeps its value. The configuration of the individual wallet units does not change.

Set the signing key here before the first pool: the wallet provider signs only with an EC P-256 key of the organisation with the format `x509` and a valid certificate chain. The save refuses a key that is not an active key of the organisation, and a key without a certificate chain. It does not refuse a key because of its certificate: `signingKeyWarnings` of the answer has the warnings. A mint fails while the key cannot sign. A new `wiaPoolSize` applies to the next mint of each pool. `keyStorageStatusIndexOption` is fixed after the first key attestation of an organisation wallet unit.

## Request

<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><strong className={"openapi-schema__required"}>required</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}><div style={{"marginTop":"1rem","marginBottom":"1rem"}}>

The settings to change.

</div></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"walletUnitAttestationValidityDays"} required={false} schemaName={"integer"} qualifierMessage={"**Possible values:** `>= 1`"} schema={{"type":"integer","minimum":1,"description":"The lifetime of a WUA in days, 1 or more (`0` and `null` are refused). A WUA is valid for at most 12 hours (TS3 section 2.2.1.1).","example":30}}></SchemaItem><SchemaItem collapsible={false} name={"walletUnitAttestationRefreshIntervalSeconds"} required={false} schemaName={"integer"} qualifierMessage={"**Possible values:** `>= 1`"} schema={{"type":"integer","minimum":1,"description":"The refresh interval of the WUA pools in seconds, 1 or more (`0` and `null` are refused). The wallet provider uses at most half the WUA lifetime.","example":86400}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>walletUnitAttestationSigningConfig</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The signing key of one kind of wallet unit. Each kind (individual and organisation) has its own key in its own wallet provider configuration.

</div><SchemaItem collapsible={false} name={"cryptographicKeyIdentifier"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The `keyId` of a key of the organisation, from [List keys](/docs/openid4vc-api/config-digital-wallet-open-id-list-keys).","example":"3f2a91c47b8d4e6fa0c5d7e18b924f30"}}></SchemaItem><SchemaItem collapsible={false} name={"cryptographicKeyFormat"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`x509`]"} schema={{"type":"string","description":"The format of the key. The wallet provider signs only with `x509`: an X.509 certificate chain of the key goes in the `x5c` header of each attestation (TS3 section 2.6, HAIP 1.0).","enum":["x509"],"example":"x509"}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"keyStorageStatusIndexOption"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`type_shared`, `per_ka`]"} schema={{"type":"string","description":"How the key attestations get their status list entry (TS3 section 2.5.2): `type_shared` or `per_ka`. You can change it only until the wallet provider issues the first key attestation to an organisation wallet unit.","enum":["type_shared","per_ka"]}}></SchemaItem><SchemaItem collapsible={false} name={"maxKeyAttestationBatchSize"} required={false} schemaName={"integer"} qualifierMessage={"**Possible values:** `>= 1` and `<= 100`"} schema={{"type":"integer","minimum":1,"maximum":100,"description":"The most keys that one key attestation request can attest. The key attestations of the organisation wallet units do not apply it.","example":10}}></SchemaItem><SchemaItem collapsible={false} name={"wiaPoolSize"} required={false} schemaName={"integer"} qualifierMessage={"**Possible values:** `>= 1` and `<= 10`"} schema={{"type":"integer","minimum":1,"maximum":10,"description":"The number of WUAs in the pool of each organisation wallet unit, 1 to 10. The next mint of a pool uses the new size.","example":10}}></SchemaItem><SchemaItem collapsible={false} name={"isWiaPerIssuerReuseEnabled"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"`true`: a wallet unit uses the status list entry of its WUAs for one issuer again (TS3 section 2.5.1). The WUAs of a pool always get new entries."}}></SchemaItem><SchemaItem collapsible={false} name={"isKaPerIssuerReuseEnabled"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"`true`: a wallet unit uses the status list entry of its key attestations for one issuer again. `true` needs `keyStorageStatusIndexOption` `per_ka` (sent or stored)."}}></SchemaItem></ul></details></TabItem></MimeTabs><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The configuration after the change.

</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={"signingKeyWarnings"} required={true} schemaName={"string[]"} qualifierMessage={undefined} schema={{"type":"array","description":"The warnings of the signing key, for a key whose certificate preset this use does not accept (also a key with no certificate preset): one text for each rule of this use that its certificate does not fit. Always present; an empty list when there is no warning. The save is not refused.","items":{"type":"string","description":"One warning."},"example":[]}}></SchemaItem><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"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The wallet provider configuration of the organisation wallet units: the signing key and the rules of their Wallet Unit Attestations (WUAs; TS3 calls them Wallet Instance Attestations, WIA) and key attestations. It is apart from the configuration of the individual wallet units: a change of one does not change the other. The answer leaves out an optional setting that has no value.

</div><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The id of the configuration."}}></SchemaItem><SchemaItem collapsible={false} name={"walletUnitAttestationValidityDays"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The lifetime of a WUA in days (default 30). A WUA is valid for at most 12 hours (TS3 section 2.2.1.1), so every value of 1 or more gives 12 hours.","example":30}}></SchemaItem><SchemaItem collapsible={false} name={"walletUnitAttestationRefreshIntervalSeconds"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The refresh interval of the WUA pools in seconds (default 86400): a WUA that expires within this time no longer counts as usable, so the pool is filled again in time. The wallet provider uses at most half the WUA lifetime (6 hours).","example":86400}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>walletUnitAttestationSigningConfig</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The key that signs the WUAs and the key attestations of the organisation wallet units and their status lists. An empty object: no key yet, so the wallet provider cannot sign.

</div><SchemaItem collapsible={false} name={"cryptographicKeyIdentifier"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The `keyId` of a key of the organisation, from [List keys](/docs/openid4vc-api/config-digital-wallet-open-id-list-keys).","example":"3f2a91c47b8d4e6fa0c5d7e18b924f30"}}></SchemaItem><SchemaItem collapsible={false} name={"cryptographicKeyFormat"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`x509`]"} schema={{"type":"string","description":"The format of the key. The wallet provider signs only with `x509`: an X.509 certificate chain of the key goes in the `x5c` header of each attestation (TS3 section 2.6, HAIP 1.0).","enum":["x509"],"example":"x509"}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"keyStorageStatusIndexOption"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`type_shared`, `per_ka`]"} schema={{"type":"string","description":"How the key attestations get their status list entry (TS3 section 2.5.2): `type_shared` (default; one shared entry for each keystore type) or `per_ka` (an entry for each key attestation). It is fixed after the first key attestation of an organisation wallet unit.","enum":["type_shared","per_ka"]}}></SchemaItem><SchemaItem collapsible={false} name={"maxKeyAttestationBatchSize"} required={false} schemaName={"integer"} qualifierMessage={"**Possible values:** `>= 1` and `<= 100`"} schema={{"type":"integer","minimum":1,"maximum":100,"description":"The most keys that one key attestation request can attest. The key attestation requests of the individual wallet units apply it; those of the organisation wallet units do not.","example":10}}></SchemaItem><SchemaItem collapsible={false} name={"wiaPoolSize"} required={false} schemaName={"integer"} qualifierMessage={"**Possible values:** `>= 1` and `<= 10`"} schema={{"type":"integer","minimum":1,"maximum":10,"description":"The number of WUAs in the pool of each organisation wallet unit. Not set: 10. The organisation wallet presents each WUA of the pool to one issuer only, and the wallet provider fills the pool again when it runs low.","example":10}}></SchemaItem><SchemaItem collapsible={false} name={"isWiaPerIssuerReuseEnabled"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"`true`: a wallet unit uses the status list entry of its WUAs for one issuer again (TS3 section 2.5.1). The WUAs of a pool always get new entries, so this setting does not change the organisation wallet units. Default `false`."}}></SchemaItem><SchemaItem collapsible={false} name={"isKaPerIssuerReuseEnabled"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"`true`: a wallet unit uses the status list entry of its key attestations for one issuer again. Needs `keyStorageStatusIndexOption` `per_ka`. Default `false`."}}></SchemaItem><SchemaItem collapsible={false} name={"createdAt"} required={true} schemaName={"int64"} qualifierMessage={undefined} schema={{"type":"integer","format":"int64","description":"When the configuration was made (Unix time in seconds)."}}></SchemaItem><SchemaItem collapsible={false} name={"updatedAt"} required={true} schemaName={"int64"} qualifierMessage={undefined} schema={{"type":"integer","format":"int64","description":"When the configuration last changed (Unix time in seconds)."}}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"signingKeyWarnings\": [],\n  \"globalConfiguration\": {\n    \"id\": \"string\",\n    \"walletUnitAttestationValidityDays\": 30,\n    \"walletUnitAttestationRefreshIntervalSeconds\": 86400,\n    \"walletUnitAttestationSigningConfig\": {\n      \"cryptographicKeyIdentifier\": \"3f2a91c47b8d4e6fa0c5d7e18b924f30\",\n      \"cryptographicKeyFormat\": \"x509\"\n    },\n    \"keyStorageStatusIndexOption\": \"type_shared\",\n    \"maxKeyAttestationBatchSize\": 10,\n    \"wiaPoolSize\": 10,\n    \"isWiaPerIssuerReuseEnabled\": true,\n    \"isKaPerIssuerReuseEnabled\": true,\n    \"createdAt\": 0,\n    \"updatedAt\": 0\n  }\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"signingKeyWarnings\": [],\n  \"globalConfiguration\": {\n    \"id\": \"36943cea-b91d-4b0d-a697-595940ef43c6\",\n    \"walletUnitAttestationValidityDays\": 30,\n    \"walletUnitAttestationRefreshIntervalSeconds\": 86400,\n    \"walletUnitAttestationSigningConfig\": {\n      \"cryptographicKeyIdentifier\": \"c19e39f6bc6a40b399d9faf713c0422a\",\n      \"cryptographicKeyFormat\": \"x509\"\n    },\n    \"keyStorageStatusIndexOption\": \"type_shared\",\n    \"isWiaPerIssuerReuseEnabled\": false,\n    \"isKaPerIssuerReuseEnabled\": false,\n    \"createdAt\": 1793245044,\n    \"updatedAt\": 1794142506\n  }\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

The body is not valid (an unknown member, a value of the wrong JSON type, a number out of its range, `0` or `null` for `walletUnitAttestationValidityDays` or `walletUnitAttestationRefreshIntervalSeconds`, a `cryptographicKeyFormat` other than `x509`, or a `cryptographicKeyIdentifier` that is not an active key of the organisation or whose key has no X.509 certificate chain), `keyStorageStatusIndexOption` is unknown or changes after the first key attestation of an organisation wallet unit, `isKaPerIssuerReuseEnabled` is `true` without `per_ka`, the organisation has no deployment, or it is not the wallet provider (`Invalid request, wallet provider not found`).

</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><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"401"} value={"401"}><div>

The `Authorization` header is missing, or the API key or token is not valid.

</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><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"403"} value={"403"}><div>

The API key or token does not allow this call. An API key without the scope of the operation gets the older body `{"Code", "Message"}`. An `X-SandboxOrgId` header that names another sandbox organisation than the one of the API key gets `{"errorCode", "errorDescription"}`. When a platform admin has turned off the feature of the operation for the organisation, the answer has `errorKey` `feature_disabled` and the member `feature` (the name of the feature).

</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"}}><div><span className={"badge badge--info"}>anyOf</span><SchemaTabs><TabItem label={"MOD1"} value={"0-item-properties"}><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><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></TabItem><TabItem label={"Older error body"} value={"1-item-properties"}><SchemaItem collapsible={false} name={"Code"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The HTTP status.","example":403}}></SchemaItem><SchemaItem collapsible={false} name={"Message"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"What went wrong.","example":"Unauthorized access;User doesn't have enough permissions;"}}></SchemaItem></TabItem></SchemaTabs></div></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"Code\": 403,\n  \"Message\": \"Unauthorized access;User doesn't have enough permissions;\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"404"} value={"404"}><div>

The organisation has no wallet provider configuration of this kind (not a normal case).

</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><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"500"} value={"500"}><div>

Unexpected 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><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div></div>
      