---
id: read-open-id-conformance-extension
title: "Read OpenID Conformance extension"
description: "Reads the OpenID Conformance extension: the conformance material that makes your organisation ready for the OpenID Foundation HAIP conformance runs (OpenID4VCI and OpenID4VP), as an issuer, a verifier and a holder wallet. Copy the values into the test plan configurations of the conformance suite."
sidebar_label: "Read OpenID Conformance extension"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "get api-method"
info_path: docs/extensions-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 OpenID Conformance extension</h1>

<MethodEndpoint method={"get"} path={"/v4/config/platform/extension/openid-conformance"}></MethodEndpoint>



Reads the OpenID Conformance extension: the conformance material that makes your organisation ready for the OpenID Foundation HAIP conformance runs (OpenID4VCI and OpenID4VP), as an issuer, a verifier and a holder wallet. Copy the values into the test plan configurations of the conformance suite.

When you turn the extension on, the wallet makes test signing keys with certificates of the built-in test CA of the organisation, adds trust sources for the test roots, makes system-managed credential definitions (SD-JWT VC PID, mdoc PID, mdoc mDL and mdoc Photo ID) and presentation definitions (SD-JWT VC PID and mdoc PID), issues one of each credential to the organisation wallet, and sets the issuer and holder settings of the runs. `readiness` tells you which of these settings are still as the runs need them. The extension is for testing only. It takes no signing key.

The answer is `404` when the extension is not `enabled`. Turn it on first with `PUT /v4/config/platform/extension/openidConformance` and the body `{"enabled": true}`.


<div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The conformance material of the organisation.

</div><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={"extensionStatus"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Always `true` in this answer. An extension that is not `enabled` gives `404`."}}></SchemaItem><SchemaItem collapsible={false} name={"caPem"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The mdoc IACA test root of the organisation (PEM): the root of the Document Signer of the conformance mDL and of the status list signer."}}></SchemaItem><SchemaItem collapsible={false} name={"providerCaPem"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The provider test root of the organisation (PEM): the root of the PID and EAA signing keys, of the attester and of the key attestation. Empty for an extension that was turned on before this root existed, until you turn it off and on again."}}></SchemaItem><SchemaItem collapsible={false} name={"accessCaPem"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The access test root of the organisation (PEM): the root of the relying party key that signs the request objects. Empty for an extension that was turned on before this root existed, until you turn it off and on again."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>attesterJwk</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 test wallet attester key as a private JWK (with `d` and the certificate chain in `x5c`). The suite signs the wallet unit attestation with it. It is a test key: never use it outside the conformance runs.

</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"type":"object","nullable":true,"additionalProperties":true,"description":"The test wallet attester key as a private JWK (with `d` and the certificate chain in `x5c`). The suite signs the wallet unit attestation with it. It is a test key: never use it outside the conformance runs."}} 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"}>keyAttestationJwk</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 test key attestation key as a private JWK (with `d` and the certificate chain in `x5c`), for the key attestation that the suite presents to the issuer. It is a test key.

</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"type":"object","nullable":true,"additionalProperties":true,"description":"The test key attestation key as a private JWK (with `d` and the certificate chain in `x5c`), for the key attestation that the suite presents to the issuer. It is a test key."}} collapsible={false} discriminator={false}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"credentialSigningKid"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The X.509 credential signing key (the Document Signer of the mDL) in the key store of the organisation."}}></SchemaItem><SchemaItem collapsible={false} name={"statusListSigningKid"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The status list signing key of the conformance mdoc credential configurations. Empty for an extension that was turned on before this key existed, until you turn it off and on again."}}></SchemaItem><SchemaItem collapsible={false} name={"sdJwtPidCredentialDefinitionId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The system-managed credential definition of the SD-JWT VC PID (`urn:eudi:pid:1`)."}}></SchemaItem><SchemaItem collapsible={false} name={"mdocPidCredentialDefinitionId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The system-managed credential definition of the mdoc PID (`eu.europa.ec.eudi.pid.1`)."}}></SchemaItem><SchemaItem collapsible={false} name={"mdocMdlCredentialDefinitionId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The system-managed credential definition of the mdoc mDL (`org.iso.18013.5.1.mDL`). Empty for an extension that was turned on before it existed."}}></SchemaItem><SchemaItem collapsible={false} name={"mdocPhotoIdCredentialDefinitionId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The system-managed credential definition of the mdoc Photo ID (`org.iso.23220.photoid.1`). Empty for an extension that was turned on before it existed."}}></SchemaItem><SchemaItem collapsible={false} name={"sdJwtPidPresentationDefinitionId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The system-managed presentation definition that asks for the SD-JWT VC PID."}}></SchemaItem><SchemaItem collapsible={false} name={"mdocPidPresentationDefinitionId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The system-managed presentation definition that asks for the mdoc PID."}}></SchemaItem><SchemaItem collapsible={false} name={"reportTokenConfigured"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"`true` when you stored the API token of the conformance suite with [Set conformance suite token](/docs/extensions-api/update-open-id-conformance-report-token). The answer never holds the token."}}></SchemaItem><SchemaItem collapsible={false} name={"sdJwtPidHolderCredentialId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The SD-JWT VC PID that the organisation wallet holds for the wallet tests (issued to itself when the extension was turned on)."}}></SchemaItem><SchemaItem collapsible={false} name={"mdocPidHolderCredentialId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The mdoc PID that the organisation wallet holds for the wallet tests."}}></SchemaItem><SchemaItem collapsible={false} name={"mdocMdlHolderCredentialId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The mdoc mDL that the organisation wallet holds for the wallet tests."}}></SchemaItem><SchemaItem collapsible={false} name={"mdocPhotoIdHolderCredentialId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The mdoc Photo ID that the organisation wallet holds for the wallet tests."}}></SchemaItem><SchemaItem collapsible={false} name={"conformanceLoginOidcProviderId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The built-in OpenID Conformance login provider that the conformance credential definitions use (for conformance runs only): the issuer tests ask you to log in there."}}></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 values of the OpenID4VCI wallet test plan, read from the wallet. Each member is empty when the wallet cannot give them.

</div><SchemaItem collapsible={false} name={"clientId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The client ID of the organisation wallet as a holder."}}></SchemaItem><SchemaItem collapsible={false} name={"attestationIssuer"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The issuer of the wallet attestation of the organisation wallet."}}></SchemaItem><SchemaItem collapsible={false} name={"walletProviderTrustAnchorPem"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The trust anchor of the wallet provider (PEM)."}}></SchemaItem><SchemaItem collapsible={false} name={"keyAttestationTrustAnchorPem"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The trust anchor of the key attestation (PEM)."}}></SchemaItem><SchemaItem collapsible={false} name={"redirectUri"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The redirect URI of the organisation wallet for the authorisation code flow."}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"credentialIssuerUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The Credential Issuer Identifier of the organisation. The suite configuration must hold it exactly."}}></SchemaItem><SchemaItem collapsible={false} name={"authorizationServer"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The authorisation server of the issuer (`authorization_servers` in the issuer metadata). It is the same as `credentialIssuerUrl`."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>conformanceCaTrustSourceIds</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 trust sources that the extension added for the mdoc IACA test root: one for each role (for example `pid_provider` or `mdl_issuer`) to the ID of the trust source.

</div><SchemaItem name={"property name*"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string"}} 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"}>conformanceProviderCaTrustSourceIds</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 trust sources that the extension added for the provider test root, by role.

</div><SchemaItem name={"property name*"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string"}} 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"}>suiteMdocIacaTrustSourceIds</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 trust sources that the extension added for the mdoc IACA root of the conformance suite, by role.

</div><SchemaItem name={"property name*"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string"}} collapsible={false} discriminator={false}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"verificationCallbackUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The verification callback page of the wallet, the `directPostRedirectUri` of the conformance presentation definitions."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>readiness</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 settings that the conformance runs need, read from the wallet, one item for each setting. An item that is not ready tells why.

</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={"string"} qualifierMessage={"**Possible values:** [`credentialSigningKey`, `conformanceCaTrustSource`, `conformanceProviderCaTrustSource`, `suiteMdocIacaTrustSource`, `walletProviderTrustAnchor`, `issuerEncryptionRequiredOff`, `issuerDpopRequiredOn`, `issuerBatchIssuanceOn`, `issuerSignedMetadataOn`, `issuerDisplayExtensionsOff`, `verifierCredentialEncryptionOn`, `holderCredentialEncryptionOn`]"} schema={{"type":"string","description":"The setting.","enum":["credentialSigningKey","conformanceCaTrustSource","conformanceProviderCaTrustSource","suiteMdocIacaTrustSource","walletProviderTrustAnchor","issuerEncryptionRequiredOff","issuerDpopRequiredOn","issuerBatchIssuanceOn","issuerSignedMetadataOn","issuerDisplayExtensionsOff","verifierCredentialEncryptionOn","holderCredentialEncryptionOn"]}}></SchemaItem><SchemaItem collapsible={false} name={"name"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The display name of the setting."}}></SchemaItem><SchemaItem collapsible={false} name={"ready"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"`true` when the setting is as the runs need it."}}></SchemaItem><SchemaItem collapsible={false} name={"reason"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Why the setting is not ready. Empty when it is ready."}}></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  \"extensionStatus\": true,\n  \"caPem\": \"string\",\n  \"providerCaPem\": \"string\",\n  \"accessCaPem\": \"string\",\n  \"attesterJwk\": {},\n  \"keyAttestationJwk\": {},\n  \"credentialSigningKid\": \"string\",\n  \"statusListSigningKid\": \"string\",\n  \"sdJwtPidCredentialDefinitionId\": \"string\",\n  \"mdocPidCredentialDefinitionId\": \"string\",\n  \"mdocMdlCredentialDefinitionId\": \"string\",\n  \"mdocPhotoIdCredentialDefinitionId\": \"string\",\n  \"sdJwtPidPresentationDefinitionId\": \"string\",\n  \"mdocPidPresentationDefinitionId\": \"string\",\n  \"reportTokenConfigured\": true,\n  \"sdJwtPidHolderCredentialId\": \"string\",\n  \"mdocPidHolderCredentialId\": \"string\",\n  \"mdocMdlHolderCredentialId\": \"string\",\n  \"mdocPhotoIdHolderCredentialId\": \"string\",\n  \"conformanceLoginOidcProviderId\": \"string\",\n  \"holder\": {\n    \"clientId\": \"string\",\n    \"attestationIssuer\": \"string\",\n    \"walletProviderTrustAnchorPem\": \"string\",\n    \"keyAttestationTrustAnchorPem\": \"string\",\n    \"redirectUri\": \"string\"\n  },\n  \"credentialIssuerUrl\": \"string\",\n  \"authorizationServer\": \"string\",\n  \"conformanceCaTrustSourceIds\": {},\n  \"conformanceProviderCaTrustSourceIds\": {},\n  \"suiteMdocIacaTrustSourceIds\": {},\n  \"verificationCallbackUrl\": \"string\",\n  \"readiness\": [\n    {\n      \"id\": \"credentialSigningKey\",\n      \"name\": \"string\",\n      \"ready\": true,\n      \"reason\": \"string\"\n    }\n  ]\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"extensionStatus\": true,\n  \"caPem\": \"-----BEGIN CERTIFICATE-----\\nMIICqzCCAlGgAwIBAgIUQm9vdENBX2NvbmZvcm1hbmNl...\\n-----END CERTIFICATE-----\\n\",\n  \"providerCaPem\": \"-----BEGIN CERTIFICATE-----\\nMIICnTCCAkOgAwIBAgIUUHJvdmlkZXJDQV9jb25mb3Jt...\\n-----END CERTIFICATE-----\\n\",\n  \"accessCaPem\": \"-----BEGIN CERTIFICATE-----\\nMIICmzCCAkGgAwIBAgIUQWNjZXNzQ0FfY29uZm9ybWFu...\\n-----END CERTIFICATE-----\\n\",\n  \"attesterJwk\": {\n    \"alg\": \"ES256\",\n    \"crv\": \"P-256\",\n    \"d\": \"<private-key-d>\",\n    \"kty\": \"EC\",\n    \"x\": \"EZnfU1tqyjuRCe7qLoipiaa3haYFmpWrqWU0YAjSLA4\",\n    \"x5c\": [\n      \"MIID4DCCA4WgAwIBAgIQLVldR93XQJjdoBUr9RiabDAKBggqhkjOPQQDAjBl...\"\n    ],\n    \"y\": \"c4emH2X_CPpYddEV297NnoWhyCt7vjy_Gs1sU7fMJR4\"\n  },\n  \"keyAttestationJwk\": {\n    \"alg\": \"ES256\",\n    \"crv\": \"P-256\",\n    \"d\": \"<private-key-d>\",\n    \"kty\": \"EC\",\n    \"x\": \"aKIMUFQ6o3yXBMv9J4aYE_HEsb2onHVPUy9_1knsrN8\",\n    \"x5c\": [\n      \"MIID1jCCA3ygAwIBAgIQGum7f6Kb7EJWdyQ5FD7WVTAKBggqhkjOPQQDAjBl...\"\n    ],\n    \"y\": \"lhQaQdD3cletY5ws1OfiMorjXl42__wPiiqW51mUFN0\"\n  },\n  \"credentialSigningKid\": \"078aec5c832e4090815c58889889525b\",\n  \"statusListSigningKid\": \"998684f171d346608cb75d8d0380a01d\",\n  \"sdJwtPidCredentialDefinitionId\": \"b0c28543-ac18-4fc3-b606-a08380ec9e60\",\n  \"mdocPidCredentialDefinitionId\": \"6804af16-b4d1-4300-a2ed-1fcd9dd5b5d5\",\n  \"mdocMdlCredentialDefinitionId\": \"c288f540-9cb1-424d-b0d6-8ec8842f5360\",\n  \"mdocPhotoIdCredentialDefinitionId\": \"77b17ae6-61dc-46d5-89d1-7d6f82dd7ad8\",\n  \"sdJwtPidPresentationDefinitionId\": \"e037ed13-9b6a-4f6a-94d0-5206aedf7e3a\",\n  \"mdocPidPresentationDefinitionId\": \"8fddf1c8-a771-4883-a9fb-f25b7d7827bc\",\n  \"reportTokenConfigured\": true,\n  \"sdJwtPidHolderCredentialId\": \"ac643153-02e8-4a35-b4e8-a2acf14244f0\",\n  \"mdocPidHolderCredentialId\": \"69809761-148b-4506-94d6-06856023d71e\",\n  \"mdocMdlHolderCredentialId\": \"222a4b42-2271-4726-bc6f-2ed0f470404c\",\n  \"mdocPhotoIdHolderCredentialId\": \"6bdfd520-956c-4555-9ad3-5f6dc931c832\",\n  \"conformanceLoginOidcProviderId\": \"8dbe1c04-e6b1-4a11-bc3c-70ba06a708d7\",\n  \"holder\": {\n    \"clientId\": \"did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbnZGWTy36n8qZVgSxrhfnUrkXPbRDKMsrUFTwXa54mWjbz1jdNccxZEMThivLFzbHtVPL8npZr1oU7zPsi7ZRYzfpuuGQCu7MtnfkaLN6ZtJNRxbeBQNN3R7jTeYzDM1z9i\",\n    \"attestationIssuer\": \"https://demo-api.igrant.io/organisation/9dd765f7-4002-446b-ada4-d16dab77c866/service/wallet-provider\",\n    \"walletProviderTrustAnchorPem\": \"-----BEGIN CERTIFICATE-----\\nMIIBszCCAVmgAwIBAgIUV2FsbGV0UHJvdmlkZXJUcnVz...\\n-----END CERTIFICATE-----\\n\",\n    \"keyAttestationTrustAnchorPem\": \"-----BEGIN CERTIFICATE-----\\nMIIBszCCAVmgAwIBAgIUS2V5QXR0ZXN0YXRpb25UcnVz...\\n-----END CERTIFICATE-----\\n\",\n    \"redirectUri\": \"https://demo-api.igrant.io/organisation/60905277-d953-4ef7-aa4c-cec413d00d93/service/callback\"\n  },\n  \"credentialIssuerUrl\": \"https://demo-api.igrant.io/organisation/60905277-d953-4ef7-aa4c-cec413d00d93/service/version-01\",\n  \"authorizationServer\": \"https://demo-api.igrant.io/organisation/60905277-d953-4ef7-aa4c-cec413d00d93/service/version-01\",\n  \"conformanceCaTrustSourceIds\": {\n    \"access_certificate_provider\": \"a892d26b-dae0-4f66-b6e1-49ef651ddf81\",\n    \"eaa_provider\": \"5a74520d-49ed-40f4-b3a2-1e5dc1a8c93b\",\n    \"mdl_issuer\": \"44b2be40-4a12-4efa-babf-9d73a1d57532\",\n    \"pid_provider\": \"898f8ef2-e570-45b1-80fe-40d73e5f6aa4\",\n    \"pub_eaa_provider\": \"d8a27a96-f21e-4012-9b29-151be9b0f5a2\",\n    \"qeaa_provider\": \"b8633456-7cc1-4aa9-828c-505c38bd2d23\"\n  },\n  \"conformanceProviderCaTrustSourceIds\": {\n    \"access_certificate_provider\": \"5053df9f-7831-4ae3-b9f9-9879a36aa8d5\",\n    \"eaa_provider\": \"14bae76f-0c81-43e7-b8c2-30f86609d03d\",\n    \"pid_provider\": \"8a124a18-4efc-4be5-bca8-c0d0f91b3816\",\n    \"wallet_provider\": \"ee92f935-d7d1-461f-a379-2d3c0af2d3d4\"\n  },\n  \"suiteMdocIacaTrustSourceIds\": {\n    \"mdl_issuer\": \"6c1d4d89-1b82-4bab-971f-af70225612bb\",\n    \"pid_provider\": \"0dfbed62-efa9-4d5e-886d-bfba0d7277b4\"\n  },\n  \"verificationCallbackUrl\": \"https://demo-api.igrant.io/organisation/60905277-d953-4ef7-aa4c-cec413d00d93/service/verification-callback\",\n  \"readiness\": [\n    {\n      \"id\": \"credentialSigningKey\",\n      \"name\": \"x509 credential signing key\",\n      \"ready\": true,\n      \"reason\": \"\"\n    },\n    {\n      \"id\": \"conformanceCaTrustSource\",\n      \"name\": \"Conformance CA trust source\",\n      \"ready\": true,\n      \"reason\": \"\"\n    },\n    {\n      \"id\": \"conformanceProviderCaTrustSource\",\n      \"name\": \"Conformance provider CA trust source\",\n      \"ready\": true,\n      \"reason\": \"\"\n    },\n    {\n      \"id\": \"suiteMdocIacaTrustSource\",\n      \"name\": \"Suite mdoc IACA trust source\",\n      \"ready\": true,\n      \"reason\": \"\"\n    },\n    {\n      \"id\": \"walletProviderTrustAnchor\",\n      \"name\": \"Wallet provider trust anchor (for wallet tests)\",\n      \"ready\": true,\n      \"reason\": \"\"\n    },\n    {\n      \"id\": \"issuerEncryptionRequiredOff\",\n      \"name\": \"Issuer Encryption Required off (for issuer tests)\",\n      \"ready\": true,\n      \"reason\": \"\"\n    },\n    {\n      \"id\": \"issuerDpopRequiredOn\",\n      \"name\": \"Issuer DPoP required (for issuer tests)\",\n      \"ready\": true,\n      \"reason\": \"\"\n    },\n    {\n      \"id\": \"issuerBatchIssuanceOn\",\n      \"name\": \"Issuer batch issuance on, batch size 3 (for issuer tests)\",\n      \"ready\": true,\n      \"reason\": \"\"\n    },\n    {\n      \"id\": \"issuerSignedMetadataOn\",\n      \"name\": \"Issuer signed metadata with the conformance key (for issuer tests)\",\n      \"ready\": true,\n      \"reason\": \"\"\n    },\n    {\n      \"id\": \"issuerDisplayExtensionsOff\",\n      \"name\": \"Issuer display extensions off (for issuer tests)\",\n      \"ready\": true,\n      \"reason\": \"\"\n    },\n    {\n      \"id\": \"verifierCredentialEncryptionOn\",\n      \"name\": \"Verifier credential encryption on (for verifier tests)\",\n      \"ready\": true,\n      \"reason\": \"\"\n    },\n    {\n      \"id\": \"holderCredentialEncryptionOn\",\n      \"name\": \"Holder credential encryption on (for wallet tests)\",\n      \"ready\": true,\n      \"reason\": \"\"\n    }\n  ]\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

The organisation or its wallet is not found.

</div><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 API key is missing or not valid.

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

The extension is not `enabled` (`Extension 'openidConformance' is not enabled for organisation '<organisationId>'`).

</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"500"} value={"500"}><div>

The readiness cannot be read from the wallet (`Failed to read the wallet context of organisation: <organisationId>`), or an internal error occurred.

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