---
id: config-read-digital-wallet-open-id-individual-wallet-unit-credential-history
title: "Read individual wallet unit issuance history"
description: "Returns one row of the wallet unit attestation issuance history of the individual wallet units: one signed Wallet Unit Attestation with its claims, its token and its revocation status. Get the `attestationId` from [List individual wallet unit issuance history](/docs/openid4vc-api/config-list-digital-wallet-open-id-individual-wallet-unit-credential-history)."
sidebar_label: "Read 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"}>Read individual wallet unit issuance history</h1>

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



Returns one row of the wallet unit attestation issuance history of the individual wallet units: one signed Wallet Unit Attestation with its claims, its token and its revocation status. Get the `attestationId` from [List individual wallet unit issuance history](/docs/openid4vc-api/config-list-digital-wallet-open-id-individual-wallet-unit-credential-history).

## 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":"The `id` of a row of the wallet unit attestation issuance history, from the list or the read of that history. The routes of each kind read only the history of their kind: an `id` of the individual wallet units gives 404 on an organisation wallet unit route, and the other way round.","in":"path","name":"attestationId","required":true,"schema":{"type":"string","format":"uuid"}}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The row of the 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></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

One row of the wallet unit attestation issuance history of the individual wallet units: one Wallet Unit Attestation (WUA) that the wallet provider signed for a WUA request of a mobile wallet. A batch request makes one row for each WUA. A refused request makes no row. The service sends every member except `batchCredentials`; a member without a value is an empty string, `0`, `false` or `null`.

</div><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","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`).","additionalProperties":true}} 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","nullable":true,"description":"The key that the WUA binds (`cnf`, with a `jwk`).","additionalProperties":true}} 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","nullable":true,"description":"The key that the WUA binds.","additionalProperties":true}} 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></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"walletUnitAttestationIssuanceHistory\": {\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}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"walletUnitAttestationIssuanceHistory\": {\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}"} 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={"404"} value={"404"}><div>

No row of the wallet unit attestation issuance history of the individual wallet units has this id (also for the id of a row of the organisation wallet units).

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