---
id: config-create-digital-wallet-open-id-verifier-file
title: "Upload document for signing"
description: "Uploads a PDF document that a holder signs with a qualified electronic signature from the EUDI Wallet, in a verification whose presentation definition has the transaction data type `qes_data`. Use the `id` or the `fileExternalLink` of the response in the transaction data of the verification request."
sidebar_label: "Upload document for signing"
hide_title: true
hide_table_of_contents: true
api: eJztWn9v2zgS/SoDAYdzAFl2Eve69RbFpUm68O72EiBpe0ATVLQ4triRSJWk7HgLf/fDkJQs/0i7hwPugL3+01oSOXwczjy+IfMl4lhpzJhFHo1nrDAYRxxNpkVlhZLROHpXFYpxAwyuL94AV1ldorRgc2aBQa4KjhqMmEsDS2FzYPC5ZoWYCeSABWZWKyky14LZWiPMtCrB5giX7y4m8IEVBdoYhAQGC9RiJjJGQ8MyVwah0mhQWv+K40xI4X7mzDgjVjNpWOY/M8vAriqE9DOaT/SYJvDOoGuZCp6C0v73TBR4+WhRS1b8KuRDCmrmvmg0lZIGCdBB+6HdFlSNn2s0NrmTd/IGJXctaAhgBtKyLqyomLaDmdJl38FqzNNrjyaNvf/at34irKqKMMyg4rM0gdvGdlkbC8ZSW9cz/cv1xZs0BmENSFaGBgTHf06ofwxMchAWMiZhisAslMpYOIa3rxM4k6D0nElh/MSo0QNitWk2bEPAjIFjgRZBSYQpzpRGWKkaahcxbiISH71XbnM0CKpC7QwbWCr94HCp2rqmF01k3Yi5FHIO+GhRGqGkh2xzXIHJmfar2aLYeO1jG5ydccJytcbuewOuMjNoX5g+q8QgU3Im5v1MI7PY52IuLCv6SxecfVWh7Ave9xPrk/OPErittcOpZrNvTCD4yQArih3wAV7X6cmdjOKoncKER+PIwzt36C48OJ84VxXKCX/vghH1G1FgFEchHF8rvorGX9yj0JTgVtcYkzGL0tKnA6FJr02WY+l+URBG40hNf8PMRnFUaQJmBRr6Sp7otDJWCzmP4oiMMRuNo6mQTK+iXU6hEO6ySQLXT0d8vB2j0Xodd6b00YO4X6/9e5+9Dt3J8Jj+2x+6jRNhwFilkSfRllu6EH4z1O9rPrHCkhsCUyIPq7A/rh9rm0fVDJgMKZPsOVjwr7q3rgU/ONLkooms1sVRHOEjKysH9YfTjJ/+MM36pycvjvujERv1p6PhtM/Yi+fHJ8+fsdH0WbSOnW+JSg6h2B/VsZJjnjC4n1bc5jmDitl8GwplYz/LMXvoVwWzLg5pKTTLLDFWA6PL1l93ihYH0VX1tBAZFEI+7DqHIoyefb6DQb0QGcaQvgw/IVfGvhp003Twsvs04a8Goe2A0A5eCv4qkHVnnwOultLvp1vjuz1R7CxSbm1lxoMBx1IRSSVirpm0iVDbQP42fDF8dvL8eZ+/eHbaH+HseZ+xUdbPMBsdn/LhkL843Qb3x5Z/J89cqLUBcWBR7tcd9D52/1igdePs2/FwKBz+975ax1GOjKOmvKWn0XBIXvjDrNJ1NWqt9Lni5Gb3+6ITzffxN1h503uTJkJanKPuxtdoOFwfMH8gtTYh+ZpxELKqLUkUVqJFHTVGfsHVt2niDCw+WsgUx43imtWGFV5RcoUGpLKQ5UzOEZY5Bh3murmXJoErWazAqLLtbSBnCwRhY5gpDQExpN3F/2RqU6HkyNMY0hk6OfqJC8OmBXptmFa1rpTBT/gojDUp7TZubffpZKr4ijYQAntY4vXSN0wUyMEqcpchQRaaEcgyPSKt5pSsVF0lCL30kjwKGq0WuCAx0ShK6rQtERsMu/sm9FLnJtpuqKcB0k6sKNQSeWPGsXXr9B2tSDNohSZpRbJFPYOK3pKKrNDI+MpNp6sSoZe+ZY+irEsoRCncjnc8JEsGKtTbRjSyLCd0CZwVRm2Wf6uVMFDLB6mWpFYb/3GsCrVCHkicqHQ3IY+/J+SfOCHTs9rmSovfne0U/OpTsJTCGCHnbdyeXU/gAVfuUT2gbFJowQrBDwXO6WEduWendZbLMrC5MJCxonCFVdO6W/SYTFWt31vJD3O0XiD46tpRTfrlLqIYuotiuIveojFsjnfROnXG03/2b5jkU/V4pecT3s7erSEluQEmlc2pVvfttlPK5iwkmmzxNIAdGhq+jWOPYTdSPZgPFCAMmr0bGC9FKNdrLZG39VJY7/3Zzw7Qi2crJs0SfcanTYinhyInFIxQYjlF3bZIodeSntpCcfRvVQBMrq5m0fjjf0IS6/jpSuLKLbuz4Rb/oJ7dfG7mwrIMjQEnntp3lfD1s5qF/FQ1laKbz5ApjUm0LfbCNEKYRffrHXHn2Ww0PN20GUfvJAspiDyA+fGdQe3yQv7VekpAqep5Ttzv8lJJ8+NB/XR8+p2u/8R07YpFYaBgeu6JSroCvxEdVin/LYFGPxjxu+tynAzfvk6P9pn62XfN/X8RM1hWdgW9dNbqa9Ke/rOPiDFcXr1Jj8h+O729o1KyECy6TdsLACeYe0EzADUMNo860rc5F8hUXfBgnc4/hYVeeiYDOassqzUd+SxzGqfSijixK+eT/TBex5HBrNbCrtwWc1YJt8z+pMuM/RklUXIcWTY39CWcCTanDD13LHgxen9+FMXRRSvFaZmMP52kkC7R5oqq9EoZF9LM5tE4GixG4Tx0oJZmsAiHi64cNhGh0wsH9uOuKLrAUoH/HMVRrYuvVuZuC9w2cK0Vr/1h+xNmvmXhxrI5OfiJ7sZ/3gVyv/H5DbGDT+rG822CMf8ijgQN5RctiqNwcrGlP/eysL0XaGRVuAF4QrZu7gI0zsQjpB4MpNAL1yymYhkejXcMjCE0fMkq0X/AFZ1C+YNjYN1xOTP5VDHNoZY04FmWqVpaeAUXuMCCyI2gmgTOXDeXPeG0PVVL8/Ap/XHboherP3+4ddUt9FJc/ZwkSXoUFORoeJwmcMmyvCP2vDbdaGHHSPRIhiUiN+MwSqObhW3tnaYNOgero13DtRSZNJD6aPZso6SbderuNkicAy5Qr7wuCr5INyngO9Fz07EdUukHA4pYURwoUtXTStvNQRiYqppiQo2BK88hFCN7Ut7NjYjlqwp+4xO6myBGrAqWhUWPIWtCQOKSHBVDbTx3W6L7cJMTXEcNSMm7G6xDUr5l9f159xgV7mxmqfayxlt2CU0BhPwoDg53vg9zM51Cg8IkhFlH4z+xqfgT1nBu27n26aXbLEZbwYyS5sklWbKAlbSrrzPS0fGwgbI1Pke6EVzQrWnqLySEnKlGerDMSQ8smSDqMXVVKW3/vqGbljHET5tX2zzVpbgDG2Hb0bHJoYIp+GQMwpgaafk5Sito13YTaneICcmp2N9nrshMud3g2n+ni94tKyHmG9fP6OpP79RsVHewzNItKGtaVlotBEedwMRC8I2ByeXtG7i56BN7vD+PYXJzNZhcnsPxD8Pj0/4zKLnKoFde/HrkjH44PYf359D7+cPtURdVvHux7Fpf1qTVmITXtRGSSqQPLRa3qbU3jNBspOedmZ5dT2iPLkSG0jiB1xB+RadVcJIM99ZvuVwmzH1OlJ4PQl8z+HVyfvmPm8s+9VlvCr7t9WzOzpqNhHZbv/Ynw5NRcpocU1/atEsmO3j8BVTnVqGz3e9EUUckf7/h/37D//2G/79/wx80JRVZg6pgQlJSOxb5EpT4x2gx8sdSM0EZrJbGs4HT4+EizJCSp+tJav/ly5QZfKeL9Zpef65RU+VwH0cLpgXVXPTUnrU4Cf9AEjc693TQvyVU1LyoCd2hPxAg0e07nWUZVrbTfK/cXnfLjOurm9sojqbh7xJKVy67i1tnN9789CDpNGlbfT849R1+EPjmk1x1UOwKcQ+W/u0cum13eUm8+wuuXrXN/ZcnO7Ti37em1aO/QfgXTncNCA==
sidebar_class_name: "post 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"}>Upload document for signing</h1>

<MethodEndpoint method={"post"} path={"/v4/config/ows/verifier/files"}></MethodEndpoint>



Uploads a PDF document that a holder signs with a qualified electronic signature from the EUDI Wallet, in a verification whose presentation definition has the transaction data type `qes_data`. Use the `id` or the `fileExternalLink` of the response in the transaction data of the verification request.

Send the file as `multipart/form-data` in the part `file`, with the part type `application/pdf`. The file must start with `%PDF`, its name must end with `.pdf`, and it can be at most 1 MB. An organisation can keep at most 10 documents: delete one before you upload the next.

These operations work without the Document Signing extension, and they share the documents with the [document operations of the extension](/docs/extensions-api/config-create-digital-wallet-open-id-upload-file). Turning off the Document Signing extension deletes all the documents of the organisation.


## 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><strong className={"openapi-schema__required"}>required</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"file"} required={true} schemaName={"binary"} qualifierMessage={undefined} schema={{"type":"string","format":"binary","description":"The PDF document. Part type `application/pdf`, at most 1 MB."}}></SchemaItem></ul></details></TabItem></MimeTabs><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"201"} value={"201"}><div>

The document is stored.

</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={"id"} required={true} schemaName={"uuid"} qualifierMessage={undefined} schema={{"type":"string","format":"uuid","description":"The ID of the document.","example":"83cd38bc-3291-44a4-b40b-aa971275a4b5"}}></SchemaItem><SchemaItem collapsible={false} name={"filename"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The file name of the upload, without a path.","example":"docs-check-platform-contract.pdf"}}></SchemaItem><SchemaItem collapsible={false} name={"fileExternalLink"} required={true} schemaName={"uri"} qualifierMessage={undefined} schema={{"type":"string","format":"uri","description":"The public link of the document at the wallet service, `<service host>/organisation/<organisationId>/service/file/<id>`. The EUDI Wallet downloads the document from it.","example":"https://demo-api.igrant.io/organisation/60905277-d953-4ef7-aa4c-cec413d00d93/service/file/83cd38bc-3291-44a4-b40b-aa971275a4b5"}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"id\": \"83cd38bc-3291-44a4-b40b-aa971275a4b5\",\n  \"filename\": \"docs-check-platform-contract.pdf\",\n  \"fileExternalLink\": \"https://demo-api.igrant.io/organisation/60905277-d953-4ef7-aa4c-cec413d00d93/service/file/83cd38bc-3291-44a4-b40b-aa971275a4b5\"\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"id\": \"83cd38bc-3291-44a4-b40b-aa971275a4b5\",\n  \"filename\": \"docs-check-platform-contract.pdf\",\n  \"fileExternalLink\": \"https://demo-api.igrant.io/organisation/60905277-d953-4ef7-aa4c-cec413d00d93/service/file/83cd38bc-3291-44a4-b40b-aa971275a4b5\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

The body is not `multipart/form-data` (`Failed to parse multipart form`), it has no part `file` (`Error retrieving the file`), the part type is not `application/pdf` (`Only PDF files are allowed`), the name does not end with `.pdf` (`File must be a PDF`), or the organisation already has 10 documents (`Maximum limit of 10 PDFs per organisation reached`). Also when the organisation is unknown or has no deployed wallet.

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

The file is larger than 1 MB (`File too large. Maximum size is 1.0MB`).

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

The file is empty (`failed to read file header: EOF`) or does not start with `%PDF` (`file is not a valid PDF (missing %PDF header)`), or the service could not store it (`An error occurred while processing the file.`).

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