---
id: config-digital-wallet-open-id-key-trust-lookup
title: "Look up a key in the trust lists"
description: "Checks whether the trust sources of the organisation know a signing key: the trust list lookup service of the platform, the trust lists of the organisation, and the X.509 CAs of its trust authorities. Use it before you select a key for a credential definition or a presentation definition. The dashboard shows the same result in **Trust List Lookup**."
sidebar_label: "Look up a key in the trust lists"
hide_title: true
hide_table_of_contents: true
api: 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
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"}>Look up a key in the trust lists</h1>

<MethodEndpoint method={"post"} path={"/v2/config/digital-wallet/openid/key-management/trust-lookup"}></MethodEndpoint>



Checks whether the trust sources of the organisation know a signing key: the trust list lookup service of the platform, the trust lists of the organisation, and the X.509 CAs of its trust authorities. Use it before you select a key for a credential definition or a presentation definition. The dashboard shows the same result in **Trust List Lookup**.

Give the key ID in `kid` and the key format in `format`. With `x509`, the wallet looks up the certificate chain of the key. With a DID format, give the DID of the key in `did`. The answer has the result of each source in `sources`, the best entry in `selected`, and `verified` when that entry is granted and its certificates are valid.

Access: an organisation admin token, or an API key with the scope `trust-anchors:read` (an older API key: `config`).


## Request

<MimeTabs className={"openapi-tabs__mime"}><TabItem label={"application/json"} value={"application/json-schema"}><details style={{}} className={"openapi-markdown__details mime"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-mime"}><h3 className={"openapi-markdown__details-summary-header-body"}>Body</h3><strong className={"openapi-schema__required"}>required</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}><div style={{"marginTop":"1rem","marginBottom":"1rem"}}>

The key and the key format to look up.

</div></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"kid"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The key ID of a key of the organisation.","example":"3f2a91c47b8d4e6fa0c5d7e18b924f30"}}></SchemaItem><SchemaItem collapsible={false} name={"format"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The key format to look up. `x509` (the key needs a certificate chain), a DID format such as `did:key` (give `did`), or `kid`.","example":"x509"}}></SchemaItem><SchemaItem collapsible={false} name={"did"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The DID of the key. Required for a DID format, and it must be of that format."}}></SchemaItem></ul></details></TabItem></MimeTabs><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The service returned the result of each trust source.

</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={"kid"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The key ID of the request.","example":"3f2a91c47b8d4e6fa0c5d7e18b924f30"}}></SchemaItem><SchemaItem collapsible={false} name={"format"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The key format of the lookup.","example":"x509"}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>query</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"}}>

What the wallet looks up. `x5c` for the `x509` format (the certificate chain of the key), `did` for a DID format, `kid` for the `kid` format.

</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"type":"object","description":"What the wallet looks up. `x5c` for the `x509` format (the certificate chain of the key), `did` for a DID format, `kid` for the `kid` format.","additionalProperties":true}} collapsible={false} discriminator={false}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"verified"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Shows `true` when the selected entry has the status `granted` and valid certificates.","example":true}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>selected</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"}}>

One entry of a trust source that matches the key: the trust service and its provider, as the source gives them.

</div><SchemaItem collapsible={false} name={"status"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The status of the trust service, for example `granted`. Other values, such as `withdrawn`, mean that the source does not trust the key now.","example":"granted"}}></SchemaItem><SchemaItem collapsible={false} name={"matchType"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"How the key matched the entry, for example `fingerprint` (the certificate itself), `public_key`, `ski` or `chain` (a chain to a listed CA)."}}></SchemaItem><SchemaItem collapsible={false} name={"certificateValid"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Shows `true` when the certificates of the key are valid now.","example":true}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>trustList</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The trust list of the entry.

</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"type":"object","description":"The trust list of the entry.","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"}>provider</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The trust service provider of the entry, as the trust list gives it.

</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"type":"object","description":"The trust service provider of the entry, as the trust list gives it.","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"}>service</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The trust service of the entry, as the trust list gives it, for example `serviceName`, `serviceTypeIdentifier` and `serviceStatus`.

</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"type":"object","description":"The trust service of the entry, as the trust list gives it, for example `serviceName`, `serviceTypeIdentifier` and `serviceStatus`.","additionalProperties":true}} collapsible={false} discriminator={false}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"certificateDetails"} required={false} schemaName={"object[]"} qualifierMessage={undefined} schema={{"type":"array","description":"The subject, the issuer and the validity of each certificate of the key that the entry matched.","items":{"type":"object","additionalProperties":true}}}></SchemaItem><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"type":"object","title":"TrustListEntry","description":"One entry of a trust source that matches the key: the trust service and its provider, as the source gives them.","additionalProperties":true,"properties":{"status":{"type":"string","description":"The status of the trust service, for example `granted`. Other values, such as `withdrawn`, mean that the source does not trust the key now.","example":"granted"},"matchType":{"type":"string","description":"How the key matched the entry, for example `fingerprint` (the certificate itself), `public_key`, `ski` or `chain` (a chain to a listed CA)."},"certificateValid":{"type":"boolean","description":"Shows `true` when the certificates of the key are valid now.","example":true},"trustList":{"type":"object","description":"The trust list of the entry.","additionalProperties":true},"provider":{"type":"object","description":"The trust service provider of the entry, as the trust list gives it.","additionalProperties":true},"service":{"type":"object","description":"The trust service of the entry, as the trust list gives it, for example `serviceName`, `serviceTypeIdentifier` and `serviceStatus`.","additionalProperties":true},"certificateDetails":{"type":"array","description":"The subject, the issuer and the validity of each certificate of the key that the entry matched.","items":{"type":"object","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"}>sources</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 answer of each trust source, in this order: the trust list lookup service of the platform, the trust lists of the organisation, and the X.509 CAs of its trust authorities. Each source has `name`, `kind` (`lookup`, `ETSI_TL`, `ETSI_TL_JSON` or `X509_CA`), `url` (`null` for an X.509 CA), `matched`, the matching `entries`, and `error`. A source that cannot answer gives its reason in `error`; the request still succeeds.

</div><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"name"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"NordXDataspace Trust List"}}></SchemaItem><SchemaItem collapsible={false} name={"kind"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`lookup`, `ETSI_TL`, `ETSI_TL_JSON`, `X509_CA`]"} schema={{"type":"string","enum":["lookup","ETSI_TL","ETSI_TL_JSON","X509_CA"],"example":"lookup"}}></SchemaItem><SchemaItem collapsible={false} name={"url"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","nullable":true}}></SchemaItem><SchemaItem collapsible={false} name={"matched"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","example":true}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>entries</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"}}><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"status"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The status of the trust service, for example `granted`. Other values, such as `withdrawn`, mean that the source does not trust the key now.","example":"granted"}}></SchemaItem><SchemaItem collapsible={false} name={"matchType"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"How the key matched the entry, for example `fingerprint` (the certificate itself), `public_key`, `ski` or `chain` (a chain to a listed CA)."}}></SchemaItem><SchemaItem collapsible={false} name={"certificateValid"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Shows `true` when the certificates of the key are valid now.","example":true}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>trustList</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The trust list of the entry.

</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"type":"object","description":"The trust list of the entry.","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"}>provider</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The trust service provider of the entry, as the trust list gives it.

</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"type":"object","description":"The trust service provider of the entry, as the trust list gives it.","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"}>service</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The trust service of the entry, as the trust list gives it, for example `serviceName`, `serviceTypeIdentifier` and `serviceStatus`.

</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"type":"object","description":"The trust service of the entry, as the trust list gives it, for example `serviceName`, `serviceTypeIdentifier` and `serviceStatus`.","additionalProperties":true}} collapsible={false} discriminator={false}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"certificateDetails"} required={false} schemaName={"object[]"} qualifierMessage={undefined} schema={{"type":"array","description":"The subject, the issuer and the validity of each certificate of the key that the entry matched.","items":{"type":"object","additionalProperties":true}}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem><SchemaItem collapsible={false} name={"error"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","nullable":true}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"kid\": \"3f2a91c47b8d4e6fa0c5d7e18b924f30\",\n  \"format\": \"x509\",\n  \"query\": {},\n  \"verified\": true,\n  \"selected\": {\n    \"status\": \"granted\",\n    \"matchType\": \"string\",\n    \"certificateValid\": true,\n    \"trustList\": {},\n    \"provider\": {},\n    \"service\": {},\n    \"certificateDetails\": [\n      {}\n    ]\n  },\n  \"sources\": [\n    {\n      \"name\": \"NordXDataspace Trust List\",\n      \"kind\": \"lookup\",\n      \"url\": \"string\",\n      \"matched\": true,\n      \"entries\": [\n        {\n          \"status\": \"granted\",\n          \"matchType\": \"string\",\n          \"certificateValid\": true,\n          \"trustList\": {},\n          \"provider\": {},\n          \"service\": {},\n          \"certificateDetails\": [\n            {}\n          ]\n        }\n      ],\n      \"error\": \"string\"\n    }\n  ]\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"kid\": \"3f2a91c47b8d4e6fa0c5d7e18b924f30\",\n  \"format\": \"x509\",\n  \"query\": {\n    \"x5c\": [\n      \"MIIC...\"\n    ]\n  },\n  \"verified\": true,\n  \"selected\": {\n    \"status\": \"granted\",\n    \"matchType\": \"fingerprint\",\n    \"certificateValid\": true,\n    \"trustList\": {\n      \"name\": \"eaa-providers.xml\",\n      \"url\": \"https://tl.example.com/eaa-providers.xml\"\n    },\n    \"provider\": {\n      \"tSPName\": \"Example Organisation AB\"\n    },\n    \"service\": {\n      \"serviceName\": \"Example Organisation EAA issuance\",\n      \"serviceStatus\": \"granted\"\n    },\n    \"certificateDetails\": [\n      {\n        \"subject\": \"CN=Example Organisation Attestation Provider,O=Example Organisation AB,C=SE\",\n        \"issuer\": \"CN=Example CA,O=Example CA AB,C=SE\",\n        \"notValidBefore\": \"2026-01-01T00:00:00\",\n        \"notValidAfter\": \"2027-01-01T00:00:00\"\n      }\n    ]\n  },\n  \"sources\": [\n    {\n      \"name\": \"NordXDataspace Trust List\",\n      \"kind\": \"lookup\",\n      \"url\": \"https://trust.example.com/lookup\",\n      \"matched\": false,\n      \"entries\": [],\n      \"error\": null\n    },\n    {\n      \"name\": \"eaa-providers.xml\",\n      \"kind\": \"ETSI_TL\",\n      \"url\": \"https://tl.example.com/eaa-providers.xml\",\n      \"matched\": true,\n      \"entries\": [\n        {\n          \"status\": \"granted\",\n          \"matchType\": \"fingerprint\",\n          \"certificateValid\": true\n        }\n      ],\n      \"error\": null\n    }\n  ]\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

The request is not valid: no body, a missing `kid` or `format`, an unknown member, an unknown key (`Key <kid> not found`), a key format that the wallet does not support, `x509` for a key without a certificate chain (`The key has no certificate chain. Upload a certificate chain for the key, or select another key format.`), or a DID format without `did` or with a `did` of another format.

</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></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"401"} value={"401"}><div>

Unauthorized

</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></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"500"} value={"500"}><div>

Internal 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></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div></div>
      