---
id: config-read-issued-credential
title: "Read issued credential"
description: "Returns one credential that the issuer signed for an issuance history, with its token (the credential as the wallet got it) and its confirmation claim (`cnf`). Get the `credentialId` from [List issued credentials](/docs/openid4vc-api/config-list-issued-credentials) or from `latestCredential.id` of [Read issuance history](/docs/openid4vc-api/config-read-digital-wallet-open-id-credential-history). The issuer keeps the token 30 days after the issue (by default); after that, `token` is `null`."
sidebar_label: "Read issued credential"
hide_title: true
hide_table_of_contents: true
api: eJztWllz2zgS/isovqxURcm6fClTU+v4iOXEdnx7nHGFENmUEFEAA4CSFZf++1YDJEVKcpLJzGzVzuYlkQmg0d3o4+sGnp0AlC9ZrJngTte5BJ1IrojgQHwJAXDNaET0kGqih0CYUglIotiAQ0BCIQnl5iPlPpAhU1rImUumTA8J04poMQJOKri0QI4qQ2xKowg0GQhNmK4SygOzxhc8ZHJMkSXiR5SNScXzeehV6+QNWD68BbVe4JFQijH58I4pbTkMCrupx8pGIHy1IWLgLOhM/BqN2YbZZVCLmNI1u6ZWWFMlQlqqXkQ1KL2fj9VZ4BERkg+XQIMV2b+6mQQa1AI2YJpGNSt9DSfWWHHzWkqqWifXC5WPAGKrNqvTdoMEdKYIDTXIxdmQSn9GAghpEunqq3yUapd4ZqFHmCIeT6LIqzuuI2KQRtO9wOk6lk8UrGdUspDacZ2YSjoGDVI53Q/PS4ZzXT5hePKHlA+AsAB1lbFXthKr3+z7sf384bG+oHOYkumlKjdcFfb5qrZfULRRU0HdVXfZfL77PI3xfP95urlRpU4DksAEuMaDYKjFmOqh4zqcjgFPY40eHNeR8DlhEgKnq2UCrqP8IYyp03129CzGdUpLxgfOfO6uOyUvtd/cZIrOsqKLv8iVXvSidZbxTXX8QTU84mQVC65A4Xir0cD/VlWzIjBy4guugWtcQeM4Yr5xl41PCpc9F7Yt0zvna+gtBcb/hoPTKDoPjcOmahH9T+Brx13D7w9H/K6ZGjKZWY1LKJFQy+dVKOEwJROQigluTIISX8QztAFK+lT7w1QbGsZkSBXhwiqiW4i0JWV+O9SuGGPVUGbG4Rb288FhaFApc+bI45njOsY30RYNmT38OaERC46kGGe/b7hmGByHIgpAvoXZ9TAZ92PJzMr8675xX9zFyPRGUjPOhWZhalGGpYkYmZ0eXSeWGJs1szbLglXLXj5Co77gRd9GoeGJjuPIeFOD7kA7bNa2gla/1qHbUNsJm7u1dn8z2PZ3oUlbHWe+0Mpid8Y1DECu3T6dnfGw2LxLmsZ4VuwkjhKVjgH1h0WrKTHcac/Tg/k+TmKhmC6ygsbGeGZsCxOuNJYYw5muQSOhNdOy+4pEZ0SqJQ4b88xk1pwU8GRsLM2cijnr9OfjMveeHfBWnKpOvGyV1y07WB2PKrfTNfuHAhGV03UCqqGm2RjQ/JIoon3k3YbQMh93Q+BrQsASlqtcHu2Tdru965Kb6/2yRpxWo7VVazZrjc3rZrPbaHQbjQdjVLkb/TWs4oErTaXOTluDP+TMpxExWzE9IxWP90PP5GCccXp1TrycD5OLKCfjQPivSFkkl0iR8ABFF2bpUCSynothI8BfJwfw4KtSwFO8TgrDxh8Xg/TQuAiHCUiCSdokE3vuNBgzzpRGgDgBAk8xk7PcnxCYq4yPAtNoJowPiI/BywQ3a53rIuQarX1bQSd3b4nOaVgD3N5q71QzDuxOZASzRRorWCxTpI+aIFoYPdpc+TVnXxAsS5JF9YUYfSEioHwlInkojEemmUsVWETtC8sk/pnKkAXSPoRCgq2g0nopURAQm09xQRa8CtGgatgsZJof0rOFIbkGi7tnexa0hekUlO4Sj/o+KPUxBSOVpSBm4aCEUIIa5pPoEvvFIFKai4KVsmZ3Fdh8W7SIKk2KZDK1p0Ja+ZgqBbrzGHjvoHO73yPNeoMo8M3KZrNaNKP8iFNSCjhuxWEZc2Togq7J9i+mkTVw3szNsXRRqG6xTP6IxxJrCDy39DmACPCrEaHwPaQsSiR4S6hhlR6eCP27co4EH9gkzTqlA1vJO/P5vIig/i5+DP1vJMGCPdTJnlmUcs0UCRlHLDY35dmy6RYNxNq76/g8XLUQO/hDfp3m8W/0Y0jFQDJ78mb46qB2cndNbvcXVUzAlB8JlUhQJSdY1CwSsHhC0VHfeWIz1Q9aDgr3HS5Mg8CgORq9L6jhJQlf7iBZ1v/+JDGfP84LfmPxuwOws7VD21u1cJtCrdPY3q3tdLaD2g50Wn6r2Ww0dzcLhUi3mSHeRo4sFwBygfYWMGvnutnpdlrdZuOhVKwsT0mRWBnB4JztWrNRa+1eN9qLOWsTt+OL4Prj2f7N2+PWye2Z2ntI3t2HvCN50lJXOxc348vh8adjebP5/rd1hVA3pJGCcpJyipljuTrq4gGUHNx+SB3BgdlJA+732Dk7Gf02018e9pufg/YFe7d/0jm7O2XnkWLXN9HJBY9uLhpnr29nml/cBycXoyN+dXt7enofXfaj6PDsTfT2ZqSe4PZy0x9vzq6Pz07pl2B8+Wa3fdEKHq5u9ORuFG3RT6+PcH3QiG8u7+Kzi8bt8cX10e3lzVE7aB3Ru6MH+dvt6dNpM7qH4zN6d3TE70bB3WkU38Pxw6fLL0fqt/Hm5UPzcHp5H/Tom7Pz67v4oV6vO7lbfJqOTN8hGjhd5/CqtbmFY3LidJ33NfvXyFhWu0n7/WBnq73V7HS2t2B3a3NrO9zpdIIdfydotnCiniGRfcd1nvCwZ7uN1vu9eDYIJs3R/fHdzpf+OT/bnZ3UDg8klcfv4Mvl9HJycakc18Gl563J6+A+4pshax2NdqZng8+bYUe+HW0d9bc+7rNZ1H97dng17k0VOgCG4yHQwPQLn/Gvju27fHdDpZQtpRRyXwQYss3vg4LXP7orAWQpn+ar1xWPixqzYWq4ZfLryrk8I77G1gSPE03y/qiTEXkLs28n8T2i4QmrziAPjxLCRGVNmECARYhpRzUHGHaZ+ajq5JxHM6LEOF+tyJBOsJ/ikmIk94QcUM6UUfpHlagYsChAVBAC1YmEjwFTGHtTTBAnMhYKPsITU1p59exsV8NukTIG0ISPuJhyEz8xW5TG02STot8A4kjMIEDbXzaa5k+j+QcbjbeX6KGQ7Iuh7RF7+mgXY6YU44O81t1737MVkkxLk9R2TA5bZzjt9V3eFTq5smgUiWkK/GkU1ckez2dnid6UuL6Ic73nNyhkANoCKYsE+iKYEe/5dwdt6HfHJb87p6AUHcDvztwzxL372hXlQV88ncsBXnKk0pszxLa3IpQLPcTui51XdqK8VMf7upSfjGHDDW6f27HlYdlSLTMG6FISR1QjTLa1v+mW4oUgYHVvyafnvSp9VhMWGXRtH4GrKUhDzMtM3FtnOdhzwwVjGPdB5jPSIhL1kW2bjlT/UIOe8lnaCv/xILEOtGumjVefm2M3NMzhr63XFsOZLBb1EH8I/ij/FjPbghRh6p8i0aAKw8QXcqWmTMVIzcx5XEahNpp1Gu3FnK5zw2nqgthXMMy8ulEgjV/wf2kbEoCLZDAkMUjjl4KrV87aHN/5Ga7/oeH6TKxc/ORhoBiVTNRY6p4ULoTzgL5CLL32eeHazJBkAal4vZUJqLsQ67Uu+aV4T/irV13NDJs/ceg/1kZvODzF4GsIiAI5yeLxshHMXUeBn0iGRdGHZ2cvZkZJ9oIGjVJ18QoRQ6jraDrANw/Ogb3qJ3cWuy46glXHdVaMUqE9jEEPBVZoAzDmgDfaXWdj0kkvKjfEVG3Y5tJGtnX2YGDjed0LgPlGYYvilF4wd1AslHrdE40DGItUKY7rJBJL/qHWsepubAQwFnh9WmcDrMXrTDirrwfeSxEktun5AplvUbjSdIB3Ay8sV3Z4mZHHxWFdoVNaX8qOLLdraj+kbwfsaS9eD5Rg5orxX0EKPTL0xKxtv4BO8y5SLCFkT8SzzBCPVMwQJSqmPlS7SwS6JJ34C41ZbQSzX7062ZdANRBa3DegatgXVAYEr2wk2fN9kXBNfiUHMIEIYwqyqrC9iMvM5ZeyfHliqkYfvVdlihaTYgPP4LuKB7OTer3uVVOg2Gk0vTo5xCvYBaazEHQBefNOGRLmAIHqprtk8JjpnF7by7gzbBUgquXFkFTEs45gnVxwI7VHfMoNBscHMnJm4U+qC2/hPXYR/p0tzLcUcoTP2KKFAoopSrwMqI0MhfZflwTCxD2FNrKC2NNeKKl8FagvdIKvugSREEfUTw/dxaBhTQAvdQQHF69ZTMjUGGVtjz5THU5AwM4iWI/Y82C6KneFRkqk7VnTwEXKxqHRgCCouqnCje7zPu+inkAzSc2sAOVfiOX2RUda6edWpUjFKwdAr2qfgbx8JFOa8ooQ1ZYTXqfZyFgp7R8A9TWbULzVwCyBASEUWcanvsn4MKam56mSOBZS/3sRbvKIwd4sPpXjVDHErXuDkS000WRdXZTqpJs+6SkEdCtQ+arJxdtAFmKjGsblCe/tOLZXS1RY6Q5KhGQmErlUmmF5QX2N3X+azYylmLAA7L1wqhtFeofXR4v2v0t6V+cbvcN90txpNNu1TXPdTCrjg3f2Eeddex9vCSond9fVIle2Gjy8OehlGRRnHyYIkSgnrxPFOFZCdzkvIYtAuXldmOXf/YKke+97mNwj5gNXBldlAT+m/hBIq95YOb/pdFqnZrgu5GAjXas23vX2D8+uDmu4Zr6o68rnGQg/GQPXWSLJu/XYP+/U2/Umro2F0mPKC/ysf8S0nIkKsPTnY9z/t8e4KZBBQL0RR5SZ225jus8pcvzgTDq25REyhPBiqrKrIJn+KCJIx3W6L7wiLeLU0qyeeZI0FErjds/PfargRkbzOX7+nIBEmPyIV0eS2Ss6RJopVM/vdV406splWk1Vyc83w3/yzfBae8nQMJ/Z+70E/8L7HwTL698UG6D+oyf4v/Ge+E+pClX0mLe6jMHbKXvmDURh8UojYV6sAd8cXuODjwQ9uVi2jEzZkv4oPNUtM7ZcwVgW8N9CU7K85BdMWG9h9ms+3Y68uCCvmuxsVNPjfD7/D/m7hDk=
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 issued credential</h1>

<MethodEndpoint method={"get"} path={"/v4/config/ows/issuer/issuance-history/{credentialExchangeId}/credentials/{credentialId}"}></MethodEndpoint>



Returns one credential that the issuer signed for an issuance history, with its token (the credential as the wallet got it) and its confirmation claim (`cnf`). Get the `credentialId` from [List issued credentials](/docs/openid4vc-api/config-list-issued-credentials) or from `latestCredential.id` of [Read issuance history](/docs/openid4vc-api/config-read-digital-wallet-open-id-credential-history). The issuer keeps the token 30 days after the issue (by default); after that, `token` is `null`.

## 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 credential exchange id of the issuance history, from `issuanceHistory[].credentialExchangeId` of [Issue credential](/docs/openid4vc-api/config-digital-wallet-open-id-issue-credential), from [List issuance history](/docs/openid4vc-api/config-list-digital-wallet-open-id-credential-history), or from an issuer event.","in":"path","name":"credentialExchangeId","required":true,"schema":{"type":"string"}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"description":"The `id` of the issued credential, from [List issued credentials](/docs/openid4vc-api/config-list-issued-credentials) or `latestCredential.id` of the issuance history.","in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The issued credential.

</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={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The id of the issued credential.","example":"c0a8e3f1-6d2b-4a7e-8f19-3b5d7c9e1a24"}}></SchemaItem><SchemaItem collapsible={false} name={"version"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The version of the credential: 1 for the first issue, plus 1 for each re-issuance.","example":43}}></SchemaItem><SchemaItem collapsible={false} name={"copy"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The position of the copy in a batch issuance (0 for the first copy, and for a credential without a batch).","example":0}}></SchemaItem><SchemaItem collapsible={false} name={"event"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`issued`, `reissued`]"} schema={{"type":"string","enum":["issued","reissued"],"description":"`issued`: the first issue. `reissued`: a re-issuance."}}></SchemaItem><SchemaItem collapsible={false} name={"issuedAt"} required={true} schemaName={"date-time"} qualifierMessage={undefined} schema={{"type":"string","format":"date-time","nullable":true,"description":"When the issuer signed the credential (RFC 3339, UTC).","example":"2026-11-05T11:00:00Z"}}></SchemaItem><SchemaItem collapsible={false} name={"validFrom"} required={true} schemaName={"date-time"} qualifierMessage={undefined} schema={{"type":"string","format":"date-time","nullable":true,"description":"The start of the technical validity (`nbf`, or the MSO `validFrom` of an mdoc; RFC 3339, UTC), rounded to the hour."}}></SchemaItem><SchemaItem collapsible={false} name={"validUntil"} required={true} schemaName={"date-time"} qualifierMessage={undefined} schema={{"type":"string","format":"date-time","nullable":true,"description":"The end of the technical validity (`exp`, or the MSO `validUntil` of an mdoc; RFC 3339, UTC), rounded to the hour. It is never later than the administrative expiry of the claims or the end of the signing certificate."}}></SchemaItem><SchemaItem collapsible={false} name={"holderKeyThumbprint"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","nullable":true,"description":"The JWK thumbprint (RFC 7638) of the holder key that the credential is bound to, or `null` for a credential without a holder key."}}></SchemaItem><SchemaItem collapsible={false} name={"holderKeyChanged"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"`true` when the holder key is not the key of the version before (the wallet used a new key for the re-issuance)."}}></SchemaItem><SchemaItem collapsible={false} name={"tokenGrant"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","nullable":true,"description":"The token that the wallet used for the credential request: `access_token` (the first issue) or `refresh_token` (a re-issuance).","example":"refresh_token"}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>notification</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 last notification of the wallet for this credential (OpenID4VCI 1.0 section 11), or `null` when the wallet sent none.

</div><SchemaItem collapsible={false} name={"event"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The `event` of the notification: `credential_accepted`, `credential_deleted` or `credential_failure`.","example":"credential_accepted"}}></SchemaItem><SchemaItem collapsible={false} name={"at"} required={true} schemaName={"date-time"} qualifierMessage={undefined} schema={{"type":"string","format":"date-time","nullable":true,"description":"When the issuer received the notification (RFC 3339, UTC)."}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"revokedAt"} required={true} schemaName={"date-time"} qualifierMessage={undefined} schema={{"type":"string","format":"date-time","nullable":true,"description":"When the issuer revoked the credential (RFC 3339, UTC), or `null`. A revocation is final."}}></SchemaItem><SchemaItem collapsible={false} name={"token"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","nullable":true,"description":"The signed credential as the wallet got it (for example the SD-JWT VC with its disclosures), or `null` after the retention time of the token."}}></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 confirmation claim (`cnf`) with the holder key that the credential is bound to, or `null` for a credential without a holder key.

</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"type":"object","nullable":true,"description":"The confirmation claim (`cnf`) with the holder key that the credential is bound to, or `null` for a credential without a holder key.","additionalProperties":true}} collapsible={false} discriminator={false}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"id\": \"c0a8e3f1-6d2b-4a7e-8f19-3b5d7c9e1a24\",\n  \"version\": 43,\n  \"copy\": 0,\n  \"event\": \"issued\",\n  \"issuedAt\": \"2026-11-05T11:00:00Z\",\n  \"validFrom\": \"2026-11-11T17:37:52.403Z\",\n  \"validUntil\": \"2026-11-11T17:37:52.403Z\",\n  \"holderKeyThumbprint\": \"string\",\n  \"holderKeyChanged\": true,\n  \"tokenGrant\": \"refresh_token\",\n  \"notification\": {\n    \"event\": \"credential_accepted\",\n    \"at\": \"2026-11-11T17:37:52.403Z\"\n  },\n  \"revokedAt\": \"2026-11-11T17:37:52.403Z\",\n  \"token\": \"string\",\n  \"cnf\": {}\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"id\": \"ee868a36-f7ae-4079-847d-8e42c2110195\",\n  \"version\": 1,\n  \"copy\": 0,\n  \"event\": \"issued\",\n  \"issuedAt\": \"2026-11-08T14:42:10Z\",\n  \"validFrom\": \"2026-11-08T14:00:00Z\",\n  \"validUntil\": \"2027-10-29T03:00:00Z\",\n  \"holderKeyThumbprint\": \"codT_NCUKH2JVNsAZuLXfn4rnu2sS8QUmRhHjHrU5PY\",\n  \"holderKeyChanged\": false,\n  \"tokenGrant\": \"access_token\",\n  \"notification\": null,\n  \"revokedAt\": null,\n  \"token\": \"eyJ0eXAiOiJkYytzZC1qd3QiLCJ4NWMiOlsiTUlJQnlUQ0NBVytnQXdJQkFnSVVMMXlRbllENGlKUksxeVR5cm5yTHNMazdmRG93Q2dZSUtvWkl6ajBFQXdJd0pURWpNQ0VHQTFVRUF3d2FaWFZrYVMxM1lXeHNaWFFnWkdWMlpXeHZjRzFsYm5RZ1EwRXdIaGNOTWpZ...\",\n  \"cnf\": {\n    \"jwk\": {\n      \"alg\": \"ES256\",\n      \"crv\": \"P-256\",\n      \"kid\": \"31abbd863614476e96567f844d8c8d12\",\n      \"kty\": \"EC\",\n      \"x\": \"2y902PApygdv1kXHW8zbOnN9yJ-EDrarHLezRwRvQRs\",\n      \"y\": \"O2vBdXln5fi2Fk8wNgq5f4rKk6Fb6_CiylbKNESmIws\"\n    }\n  }\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

The organisation is unknown, or its organisation wallet is not deployed.

</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 issuance history of the organisation has this credential exchange id, or the issuance history has no issued credential with this id (`Issued credential not found: <credentialId>`).

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