---
id: config-list-digital-wallet-open-id-individual-wallet-unit-credential-history
title: "List individual wallet unit issuance history"
description: "Lists the wallet unit attestation issuance history of the individual wallet units, newest first, one page at a time: one row for each Wallet Unit Attestation (WUA) that the wallet provider signed, with its revocation status. Use `walletUnitId` for the rows of one wallet unit. The rows of a deleted wallet unit stay. The purge deletes the rows a month at a time, after the status maintenance period of their WUAs and 30 days."
sidebar_label: "List individual wallet unit issuance history"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "get 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"}>List individual wallet unit issuance history</h1>

<MethodEndpoint method={"get"} path={"/v4/config/ows/wallet-provider/individual-wallet-unit-attestations"}></MethodEndpoint>



Lists the wallet unit attestation issuance history of the individual wallet units, newest first, one page at a time: one row for each Wallet Unit Attestation (WUA) that the wallet provider signed, with its revocation status. Use `walletUnitId` for the rows of one wallet unit. The rows of a deleted wallet unit stay. The purge deletes the rows a month at a time, after the status maintenance period of their WUAs and 30 days.

A bad `offset` or `limit` counts as not sent (0 and 10). An `offset` after the last row starts the page at the last one.

## Request

<details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><h3 className={"openapi-markdown__details-summary-header-params"}>Query Parameters</h3></summary><div><ul><ParamsItem className={"paramsItem"} param={{"description":"Gives only the history of this individual wallet unit (its `id`). A value that is not a UUID matches nothing. Not sent: the history of every individual wallet unit.","in":"query","name":"walletUnitId","required":false,"schema":{"type":"string","format":"uuid"}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"description":"Number of records to skip for pagination. A negative or unreadable value falls back to `0`.","in":"query","name":"offset","required":false,"schema":{"type":"integer","default":0,"minimum":0}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"name":"limit","in":"query","description":"Maximum number of records to return per page.","required":false,"schema":{"type":"integer","default":10}}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

A page of the wallet unit attestation issuance history.

</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"}>walletUnitAttestationIssuanceHistory</strong><span className={"openapi-schema__name"}> object[]</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__nullable"}>nullable</span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The rows of the page. An empty array when no row matches.

</div><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"uuid"} qualifierMessage={undefined} schema={{"type":"string","format":"uuid","description":"The id of the row: the `attestationId` of the read and of the revocation status change."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialStatus"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Always `ready`: the wallet provider writes a row only for a signed WUA.","example":"ready"}}></SchemaItem><SchemaItem collapsible={false} name={"status"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Always `credential_accepted`: the wallet provider writes a row only for a signed WUA.","example":"credential_accepted"}}></SchemaItem><SchemaItem collapsible={false} name={"clientId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The client id of the wallet unit: the `sub` of the WUA."}}></SchemaItem><SchemaItem collapsible={false} name={"createdAt"} required={true} schemaName={"int64"} qualifierMessage={undefined} schema={{"type":"integer","format":"int64","description":"When the wallet provider signed the WUA (Unix time in seconds)."}}></SchemaItem><SchemaItem collapsible={false} name={"updatedAt"} required={true} schemaName={"int64"} qualifierMessage={undefined} schema={{"type":"integer","format":"int64","description":"When the row last changed, for example with a revocation (Unix time in seconds)."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>credential</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__nullable"}>nullable</span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The claims of the WUA (`claims`: the wallet solution claims, `iss`, `sub`, `jti`, `iat`, `exp` and `cnf`) and its type (`vct`: `WalletUnitAttestation`).

</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"type":"object","additionalProperties":true,"nullable":true,"description":"The claims of the WUA (`claims`: the wallet solution claims, `iss`, `sub`, `jti`, `iat`, `exp` and `cnf`) and its type (`vct`: `WalletUnitAttestation`)."}} collapsible={false} discriminator={false}></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"}>holder</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 holder of the WUA.

</div><SchemaItem collapsible={false} name={"name"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The client id of the wallet unit."}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"credentialFormat"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The format that the wallet provider records for the WUA: `dc+sd-jwt`.","example":"dc+sd-jwt"}}></SchemaItem><SchemaItem collapsible={false} name={"isRevocable"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Always `true`: each WUA has an entry on a status list of the wallet provider."}}></SchemaItem><SchemaItem collapsible={false} name={"revocationStatus"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [``, `Operational`, `Revoked`, `Suspended`]"} schema={{"type":"string","description":"The status of the WUA on its status list: `Operational` (valid), `Suspended` or `Revoked`. Change it with [Update individual wallet unit issuance history revocation status](/docs/openid4vc-api/config-update-digital-wallet-open-id-individual-wallet-unit-credential-revocation-status).","enum":["","Operational","Revoked","Suspended"]}}></SchemaItem><SchemaItem collapsible={false} name={"credentialToken"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The signed WUA (a JWT)."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>cnf</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__nullable"}>nullable</span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The key that the WUA binds (`cnf`, with a `jwk`).

</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"type":"object","additionalProperties":true,"nullable":true,"description":"The key that the WUA binds (`cnf`, with a `jwk`)."}} collapsible={false} discriminator={false}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"jti"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The `jti` of the WUA."}}></SchemaItem><SchemaItem collapsible={false} name={"issuanceDeniedReason"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Always empty: a refused request makes no row."}}></SchemaItem><SchemaItem collapsible={false} name={"walletUnitId"} required={true} schemaName={"uuid"} qualifierMessage={undefined} schema={{"type":"string","format":"uuid","description":"The `id` of the individual wallet unit."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>batchCredentials</strong><span className={"openapi-schema__name"}> object[]</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Not sent for an individual wallet unit: each of its WUAs has a row of its own.

</div><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"credentialToken"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The signed WUA (a JWT)."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>cnf</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__nullable"}>nullable</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The key that the WUA binds.

</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"type":"object","additionalProperties":true,"nullable":true,"description":"The key that the WUA binds."}} collapsible={false} discriminator={false}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"jti"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The `jti` of the WUA."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialRevocationStatusListId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The id of the status list that holds the status of the WUA."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialRevocationStatusListIndex"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The index of the WUA in its status list."}}></SchemaItem><SchemaItem collapsible={false} name={"revocationStatus"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`Operational`, `Revoked`, `Suspended`]"} schema={{"type":"string","description":"The status of the WUA on its status list.","enum":["Operational","Revoked","Suspended"]}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></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"}>pagination</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 position of the page in the list.

</div><SchemaItem collapsible={false} name={"currentPage"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Current page number","example":1}}></SchemaItem><SchemaItem collapsible={false} name={"totalItems"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Total number of items available","example":25}}></SchemaItem><SchemaItem collapsible={false} name={"totalPages"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Total number of pages based on limit","example":3}}></SchemaItem><SchemaItem collapsible={false} name={"limit"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Number of items per page","example":10}}></SchemaItem><SchemaItem collapsible={false} name={"hasPrevious"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates if there's a previous page","example":false}}></SchemaItem><SchemaItem collapsible={false} name={"hasNext"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates if there's a next page","example":true}}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"walletUnitAttestationIssuanceHistory\": [\n    {\n      \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n      \"credentialStatus\": \"ready\",\n      \"status\": \"credential_accepted\",\n      \"clientId\": \"string\",\n      \"createdAt\": 0,\n      \"updatedAt\": 0,\n      \"credential\": {},\n      \"holder\": {\n        \"name\": \"string\"\n      },\n      \"credentialFormat\": \"dc+sd-jwt\",\n      \"isRevocable\": true,\n      \"revocationStatus\": \"\",\n      \"credentialToken\": \"string\",\n      \"cnf\": {},\n      \"jti\": \"string\",\n      \"issuanceDeniedReason\": \"string\",\n      \"walletUnitId\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n      \"batchCredentials\": [\n        {\n          \"credentialToken\": \"string\",\n          \"cnf\": {},\n          \"jti\": \"string\",\n          \"credentialRevocationStatusListId\": \"string\",\n          \"credentialRevocationStatusListIndex\": 0,\n          \"revocationStatus\": \"Operational\"\n        }\n      ]\n    }\n  ],\n  \"pagination\": {\n    \"currentPage\": 1,\n    \"totalItems\": 25,\n    \"totalPages\": 3,\n    \"limit\": 10,\n    \"hasPrevious\": false,\n    \"hasNext\": true\n  }\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"walletUnitAttestationIssuanceHistory\": [\n    {\n      \"id\": \"0fe5a742-a5de-49a9-baa0-60a2f32a1f05\",\n      \"credentialStatus\": \"ready\",\n      \"status\": \"credential_accepted\",\n      \"clientId\": \"wallet-unit-179414\",\n      \"createdAt\": 1794144993,\n      \"updatedAt\": 1794144993,\n      \"credential\": {\n        \"claims\": {\n          \"wallet_name\": \"iGrant.io Data Wallet\",\n          \"wallet_version\": \"1.0.0\",\n          \"wallet_link\": \"https://igrant.io/datawallet.html\",\n          \"wallet_solution_certification_information\": \"https://igrant.io/wallet/certification\",\n          \"iss\": \"https://demo-api.igrant.io/organisation/9dd765f7-4002-446b-ada4-d16dab77c866/service/wallet-provider\",\n          \"jti\": \"urn:did:0fe5a742-a5de-49a9-baa0-60a2f32a1f05\",\n          \"sub\": \"wallet-unit-179414\",\n          \"vct\": \"WalletUnitAttestation\",\n          \"iat\": 1794144993,\n          \"exp\": 1794188193,\n          \"cnf\": {\n            \"jwk\": {\n              \"crv\": \"P-256\",\n              \"kty\": \"EC\",\n              \"x\": \"pAyjx6AEi0tdDI4bhnQCxKoMAzgAwNIL_1K-gaNsF48\",\n              \"y\": \"s8A_AvS-ApT3nwji1StHNCkZIoDzq_JEQL0mX0RNAfY\"\n            }\n          }\n        },\n        \"vct\": \"WalletUnitAttestation\"\n      },\n      \"holder\": {\n        \"name\": \"wallet-unit-179414\"\n      },\n      \"credentialFormat\": \"dc+sd-jwt\",\n      \"isRevocable\": true,\n      \"revocationStatus\": \"Revoked\",\n      \"credentialToken\": \"eyJhbGciOiJFUzI1NiIsInR5cCI6Im9hdXRoLWNsaWVudC1hdHRlc3RhdGlvbitqd3QiLCJ4NWMiOlsiTUlJQjJEQ0NBWDZnQXdJQkFnSVVkM2IwdFFheWE2QjlXWGo0VzhyVll1U2tmT0l3Q2dZSUtvWkl6ajBFQXdJd0pURWpNQ0VHQTFVRUF3d2FaWFZrYVMxM1lX...\",\n      \"cnf\": {\n        \"jwk\": {\n          \"crv\": \"P-256\",\n          \"kty\": \"EC\",\n          \"x\": \"pAyjx6AEi0tdDI4bhnQCxKoMAzgAwNIL_1K-gaNsF48\",\n          \"y\": \"s8A_AvS-ApT3nwji1StHNCkZIoDzq_JEQL0mX0RNAfY\"\n        }\n      },\n      \"jti\": \"urn:did:0fe5a742-a5de-49a9-baa0-60a2f32a1f05\",\n      \"issuanceDeniedReason\": \"\",\n      \"walletUnitId\": \"091aaec6-4e59-4eac-a3c1-99c33791bab3\"\n    },\n    {\n      \"id\": \"8fe85245-a6e8-4308-9a67-e27b80c8a867\",\n      \"credentialStatus\": \"ready\",\n      \"status\": \"credential_accepted\",\n      \"clientId\": \"wallet-unit-179414\",\n      \"createdAt\": 1794143619,\n      \"updatedAt\": 1794143619,\n      \"credential\": {\n        \"claims\": {\n          \"wallet_name\": \"iGrant.io Data Wallet\",\n          \"wallet_version\": \"1.0.0\",\n          \"wallet_link\": \"https://igrant.io/datawallet.html\",\n          \"wallet_solution_certification_information\": \"https://igrant.io/wallet/certification\",\n          \"iss\": \"https://demo-api.igrant.io/organisation/9dd765f7-4002-446b-ada4-d16dab77c866/service/wallet-provider\",\n          \"jti\": \"urn:did:8fe85245-a6e8-4308-9a67-e27b80c8a867\",\n          \"sub\": \"wallet-unit-179414\",\n          \"vct\": \"WalletUnitAttestation\",\n          \"iat\": 1794143619,\n          \"exp\": 1794186819,\n          \"cnf\": {\n            \"jwk\": {\n              \"crv\": \"P-256\",\n              \"kty\": \"EC\",\n              \"x\": \"cGuhBXdce7l7kIhdrnA9weuqCnFGh4j8Mb_a6rCJeI8\",\n              \"y\": \"QtxhKjsXPrxhHUuEqncRXdr_TfhYFX608oA5f4LjJxk\"\n            }\n          }\n        },\n        \"vct\": \"WalletUnitAttestation\"\n      },\n      \"holder\": {\n        \"name\": \"wallet-unit-179414\"\n      },\n      \"credentialFormat\": \"dc+sd-jwt\",\n      \"isRevocable\": true,\n      \"revocationStatus\": \"Revoked\",\n      \"credentialToken\": \"eyJhbGciOiJFUzI1NiIsInR5cCI6Im9hdXRoLWNsaWVudC1hdHRlc3RhdGlvbitqd3QiLCJ4NWMiOlsiTUlJQjJEQ0NBWDZnQXdJQkFnSVVkM2IwdFFheWE2QjlXWGo0VzhyVll1U2tmT0l3Q2dZSUtvWkl6ajBFQXdJd0pURWpNQ0VHQTFVRUF3d2FaWFZrYVMxM1lX...\",\n      \"cnf\": {\n        \"jwk\": {\n          \"crv\": \"P-256\",\n          \"kty\": \"EC\",\n          \"x\": \"cGuhBXdce7l7kIhdrnA9weuqCnFGh4j8Mb_a6rCJeI8\",\n          \"y\": \"QtxhKjsXPrxhHUuEqncRXdr_TfhYFX608oA5f4LjJxk\"\n        }\n      },\n      \"jti\": \"urn:did:8fe85245-a6e8-4308-9a67-e27b80c8a867\",\n      \"issuanceDeniedReason\": \"\",\n      \"walletUnitId\": \"2477b7a5-c3cd-480c-9d67-465658697a25\"\n    }\n  ],\n  \"pagination\": {\n    \"currentPage\": 1,\n    \"totalItems\": 54,\n    \"totalPages\": 27,\n    \"limit\": 2,\n    \"hasPrevious\": false,\n    \"hasNext\": true\n  }\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

The organisation is not the wallet provider (also without a deployment).

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