---
id: config-create-digital-wallet-open-id-credential-definition
title: "Create credential definition"
description: "Creates a new credential definition for OpenID for Verifiable Credential Issuance (OID4VCI) 1.0. Each entry of the `credentialDefinitions` array holds one credential configuration, with its credential format, claims and issuance settings. The issuer publishes every entry in the OID4VCI Credential Issuer Metadata and uses it as the template for the credentials it issues. Upload the card artwork with the update logo image and update cover image operations after this operation returns."
sidebar_label: "Create credential definition"
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"}>Create credential definition</h1>

<MethodEndpoint method={"post"} path={"/v2/config/digital-wallet/openid/sdjwt/credential-definition"}></MethodEndpoint>



Creates a new credential definition for OpenID for Verifiable Credential Issuance (OID4VCI) 1.0. Each entry of the `credentialDefinitions` array holds one credential configuration, with its credential format, claims and issuance settings. The issuer publishes every entry in the OID4VCI Credential Issuer Metadata and uses it as the template for the credentials it issues. Upload the card artwork with the update logo image and update cover image operations after this operation returns.


## Request

<details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><h3 className={"openapi-markdown__details-summary-header-params"}>Header Parameters</h3></summary><div><ul><ParamsItem className={"paramsItem"} param={{"description":"Optional. Unique identifier of the sandbox organisation to use for this request. When you send this header, the service runs the operation in the context of the named sandbox organisation, that is, against the wallet of that sandbox organisation and not against the main wallet of the organisation. Leave the header out to use the main wallet.\n\nThe service reads this header only when you authenticate with a bearer access token. When you authenticate with an API key, the service takes the sandbox organisation from the API key and ignores this header. To run an API-key call in a sandbox organisation, bind the key to the sandbox organisation with `PUT /v2/config/admin/apikey/{apiKeyId}/sandbox-org` instead.\n\n`X-SubwalletId` is the deprecated name of this header. The service continues to accept it, but `X-SandboxOrgId` wins if you send both headers.\n\nThe sandbox organisation must exist, must belong to your organisation and must be deployed. An unknown identifier, an identifier of a sandbox organisation that is not deployed, and an identifier that belongs to a different organisation all make the call fail with HTTP 400.","in":"header","name":"X-SandboxOrgId","required":false,"schema":{"type":"string"},"example":"6889e1a4c5b2f30001a3d710"}}></ParamsItem></ul></div></details><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"}}>

Credential definition to create. Supply `label` with at least 3 characters, and one `credentialDefinitions` entry for each credential configuration.

</div></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"label"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** `>= 3 characters`"} schema={{"type":"string","minLength":3,"description":"Human-readable label describing the intended use of this credential definition (e.g. 'Issue Portable Document A1'). Used to identify the credential definition in the issuer's dashboard. The value must contain at least 3 characters. The labels `Payment User Credential`, `Payment Card Credential`, `Payment Account Credential`, `PID Issuance` and `Photo ID Issuance` are reserved for the platform.","example":"Issue Portable Document A1"}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>credentialDefinitions</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"}}>

**Possible values:** `>= 1`

</div><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Credential configurations of this credential definition. Supply one entry for each credential configuration that the issuer must publish. Do not repeat `version`, `trustAnchor`, `kid` or `enforceWUA` in an entry, and do not supply a configuration field such as `credentialFormat` or `claims` at the top level, because the issuer rejects the request.


</div><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"label"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Human-readable label describing the intended use of this credential configuration."}}></SchemaItem><SchemaItem collapsible={false} name={"expirationInDays"} required={false} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Number of days until the issued credential expires. Defaults to 30. The issuer calculates the expiry date from the issuance time."}}></SchemaItem><SchemaItem collapsible={false} name={"supportRevocation"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, enables credential revocation support. Defaults to `false`."}}></SchemaItem><SchemaItem collapsible={false} name={"revocationMethod"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`status_list`, `status_list_2021`, `swiss_token_status_list_v1`]"} schema={{"type":"string","description":"Method used for credential revocation. `status_list` uses the IETF Token Status List specification. `status_list_2021` uses the W3C Status List 2021 specification and is valid only when `credentialFormat` is `jwt_vc_json`. `swiss_token_status_list_v1` uses the Swiss profile of Token Status List. Defaults to `status_list`.","enum":["status_list","status_list_2021","swiss_token_status_list_v1"]}}></SchemaItem><SchemaItem collapsible={false} name={"enforceCredentialUniqueness"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, ensures each credential under this configuration is unique per holder. Defaults to `false`."}}></SchemaItem><SchemaItem collapsible={false} name={"supportCredentialReissuance"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, allows holders to request reissuance of expired or near-expiry credentials. Defaults to `false`."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialBindingMethods"} required={false} schemaName={"string[]"} qualifierMessage={"**Possible values:** [`did:key`, `jwk`, `cose_key`]"} schema={{"type":"array","description":"Cryptographic key binding methods that the issuer publishes in the OID4VCI Credential Issuer Metadata. You can use `cose_key` only when `credentialFormat` is `mso_mdoc`.","items":{"type":"string","enum":["did:key","jwk","cose_key"]}}}></SchemaItem><SchemaItem collapsible={false} name={"authorizationRequestType"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`authorization_details`, `scope_based`]"} schema={{"type":"string","description":"Determines how the wallet requests authorization during the OID4VCI issuance flow. `authorization_details` uses RFC 9396 Rich Authorization Requests and forbids `scope`. `scope_based` uses OAuth 2.0 scope values and requires `scope`. Defaults to `authorization_details`.","enum":["authorization_details","scope_based"]}}></SchemaItem><SchemaItem collapsible={false} name={"scope"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"OAuth 2.0 scope value for this credential configuration. Supply this field only when `authorizationRequestType` is `scope_based`. Read the available values with the list scope operation."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>display</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Display properties for the credential card in wallet UIs. The issuer adds the organisation logo and cover image when you do not supply `logo.uri` and `backgroundImage.uri`.

</div><SchemaItem collapsible={false} name={"name"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Display name for the credential in wallet UIs."}}></SchemaItem><SchemaItem collapsible={false} name={"description"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Human-readable description of the credential purpose."}}></SchemaItem><SchemaItem collapsible={false} name={"backgroundColor"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Hex color code for the credential card background (e.g. `#FFFFFF`)."}}></SchemaItem><SchemaItem collapsible={false} name={"textColor"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Hex color code for text on the credential card (e.g. `#000000`)."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>logo</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Logo image of the credential card.

</div><SchemaItem collapsible={false} name={"uri"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL of the logo image."}}></SchemaItem><SchemaItem collapsible={false} name={"altText"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Alternative text for the logo image."}}></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"}>backgroundImage</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Background image of the credential card.

</div><SchemaItem collapsible={false} name={"uri"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL of the background image."}}></SchemaItem></div></details></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"credentialResponseInterval"} required={false} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Minimum polling interval (in seconds) for the wallet when using the OID4VCI Deferred Credential Endpoint."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialFormat"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`jwt_vc_json`, `dc+sd-jwt`, `mso_mdoc`]"} schema={{"type":"string","description":"Credential format of this configuration. `jwt_vc_json` is W3C VC (JWT). `dc+sd-jwt` is IETF SD-JWT VC. `mso_mdoc` is ISO 18013-5 mDoc/mDL. The format determines which of `type`, `vct` and `doctype` you must supply.","enum":["jwt_vc_json","dc+sd-jwt","mso_mdoc"]}}></SchemaItem><SchemaItem collapsible={false} name={"validationPath"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`$.vc`, `$`]"} schema={{"type":"string","description":"JSONPath expression that selects the part of the credential payload that the issuer validates against the claims. Use `$.vc` when `credentialFormat` is `jwt_vc_json`, and `$` when `credentialFormat` is `dc+sd-jwt` or `mso_mdoc`.","enum":["$.vc","$"]}}></SchemaItem><SchemaItem collapsible={false} name={"type"} required={false} schemaName={"string[]"} qualifierMessage={undefined} schema={{"type":"array","items":{"type":"string"},"description":"Credential type strings. Required when `credentialFormat` is `jwt_vc_json`, and forbidden for the other formats. These values appear in the `type` field of the issued W3C VC (JWT). You cannot use `WalletUnitAttestation` here."}}></SchemaItem><SchemaItem collapsible={false} name={"vct"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Verifiable Credential Type identifier. Required when `credentialFormat` is `dc+sd-jwt`, and forbidden for the other formats (e.g. `urn:eu.europa.ec.eudi:pid:1`)."}}></SchemaItem><SchemaItem collapsible={false} name={"doctype"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Document type identifier. Required when `credentialFormat` is `mso_mdoc`, and forbidden for the other formats (e.g. `org.iso.18013.5.1.lpid`)."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialDefinitionUri"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL of an external claims schema. The issuer downloads the claims from this URL. Supply this field instead of `claims` or `credentialDefinition`. Use the preview operation to check the document before you use the URL."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>claims</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Claims of the credential, as claim path pointers. Supply this field when `credentialFormat` is `dc+sd-jwt` or `mso_mdoc` and you do not supply `credentialDefinitionUri`. Do not supply this field when `credentialFormat` is `jwt_vc_json`; use `credentialDefinition` instead.


</div><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>claims</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"}}>

One claim path pointer for each claim that the issuer publishes.

</div><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"path"} required={true} schemaName={"undefined[]"} qualifierMessage={"**Possible values:** `>= 1`"} schema={{"type":"array","description":"Claim path pointer that selects the claim in the credential payload. Each element is a string for an object key, an integer for an array index, or `null` for every element of an array. When `credentialFormat` is `mso_mdoc`, the first element is the mDoc namespace, the path holds at least two elements, and every path in the configuration uses the same first element.\n","minItems":1,"items":{"description":"Object key, array index, or `null` for every element of an array."},"example":["address","country"]}}></SchemaItem><SchemaItem collapsible={false} name={"mandatory"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the issuer always includes the claim. The issuer reads a missing field as `true`."}}></SchemaItem><SchemaItem collapsible={false} name={"limitDisclosure"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the holder can disclose the claim selectively."}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></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"}>credentialDefinition</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Claims of the credential, as claim path pointers. Supply this field when `credentialFormat` is `jwt_vc_json` and you do not supply `credentialDefinitionUri`. Each path starts with `credentialSubject`, because the issuer validates the claims below `$.vc`.


</div><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>claims</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"}}>

One claim path pointer for each claim that the issuer publishes.

</div><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"path"} required={true} schemaName={"undefined[]"} qualifierMessage={"**Possible values:** `>= 1`"} schema={{"type":"array","description":"Claim path pointer that selects the claim below `$.vc`. Each element is a string for an object key, an integer for an array index, or `null` for every element of an array. The first element is `credentialSubject`.","minItems":1,"items":{"description":"Object key, array index, or `null` for every element of an array."},"example":["credentialSubject","identifier"]}}></SchemaItem><SchemaItem collapsible={false} name={"mandatory"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the issuer always includes the claim. The issuer reads a missing field as `true`."}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem></div></details></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem><SchemaItem collapsible={false} name={"version"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`version_01`]"} schema={{"type":"string","description":"Version of the OpenID for Verifiable Credential Issuance (OID4VCI) specification that the issuer uses for the issuance flow. Set `version_01` for OpenID4VCI 1.0. Always supply this field, because the issuer uses an earlier version of the specification when you omit it. You cannot change the value after you create the credential definition.\n","enum":["version_01"],"example":"version_01"}}></SchemaItem><SchemaItem collapsible={false} name={"trustAnchor"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`did:key`, `x509`]"} schema={{"type":"string","description":"Decentralized Identifier (DID) method or key type used as the trust anchor for credential issuance. Determines how the issuer's public key is published and resolved by holders and verifiers. Defaults to `did:key`. You cannot change the value after you create the credential definition.","enum":["did:key","x509"]}}></SchemaItem><SchemaItem collapsible={false} name={"kid"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Key Identifier (kid) referencing the cryptographic key used to sign issued credentials. Must match a key configured in the Key Management section. When you send an empty value, the issuer uses the default key of the organisation. You cannot change the value after you create the credential definition."}}></SchemaItem><SchemaItem collapsible={false} name={"enforceWUA"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the issuer requires the holder to present a valid Wallet Unit Attestation (WUA) during the OID4VCI credential issuance flow, as defined in the EUDI Wallet Architecture Reference Framework. Defaults to `false`."}}></SchemaItem><SchemaItem collapsible={false} name={"supportInteractiveAuthorisationEndpoint"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the issuer publishes an interactive authorisation endpoint for this credential definition. Defaults to `false`."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>display</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Default display properties for every credential configuration of this credential definition. The issuer copies the organisation logo into `logo.uri` and the organisation cover image into `backgroundImage.uri` when you leave them empty. To upload your own artwork, use the update logo image and update cover image operations after you create the credential definition.


</div><SchemaItem collapsible={false} name={"name"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Display name for the credential in wallet UIs."}}></SchemaItem><SchemaItem collapsible={false} name={"description"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Human-readable description of the credential purpose."}}></SchemaItem><SchemaItem collapsible={false} name={"backgroundColor"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Hex color code for the credential card background (e.g. `#FFFFFF`)."}}></SchemaItem><SchemaItem collapsible={false} name={"textColor"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Hex color code for text on the credential card (e.g. `#000000`)."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>logo</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Logo image of the credential card.

</div><SchemaItem collapsible={false} name={"uri"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL of the logo image."}}></SchemaItem><SchemaItem collapsible={false} name={"altText"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Alternative text for the logo image."}}></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"}>backgroundImage</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Background image of the credential card.

</div><SchemaItem collapsible={false} name={"uri"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL of the background image."}}></SchemaItem></div></details></SchemaItem></div></details></SchemaItem></ul></details></TabItem></MimeTabs><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The issuer created the credential definition and published it in the OID4VCI Credential Issuer Metadata. This operation returns 200, not 201.

</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"}>credentialDefinition</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The credential definition that the issuer created.

</div><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Identifier of the credential definition. This field holds the same value as `credentialDefinitionId`.","example":"9f1c2a34-5b6d-4e7f-8a90-1b2c3d4e5f60"}}></SchemaItem><SchemaItem collapsible={false} name={"credentialDefinitionId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique identifier assigned to the credential definition upon creation. Use this ID to reference the credential definition in OpenID for Verifiable Credentials Issuance (OID4VCI) operations.","example":"9f1c2a34-5b6d-4e7f-8a90-1b2c3d4e5f60"}}></SchemaItem><SchemaItem collapsible={false} name={"openIdOrganisationId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Identifier of the OpenID wallet deployment that holds this credential definition."}}></SchemaItem><SchemaItem collapsible={false} name={"createdAt"} required={true} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Unix timestamp (in seconds) indicating when this credential definition was created.","example":1750000000}}></SchemaItem><SchemaItem collapsible={false} name={"updatedAt"} required={true} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Unix timestamp (in seconds) indicating when this credential definition was last modified.","example":1750000600}}></SchemaItem><SchemaItem collapsible={false} name={"label"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Human-readable label describing the intended use of this credential definition (e.g. 'Issue Portable Document A1').","example":"Issue Portable Document A1"}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>credentialDefinitions</strong><span className={"openapi-schema__name"}> object[]</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Credential configurations of this credential definition. The issuer publishes each entry as a separate credential configuration in the OID4VCI Credential Issuer Metadata. The value is `null` for a record that holds no configuration.

</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={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique identifier of this credential configuration. The issuer generates the value. Use it in the `credentials[].id` field of the issue credential request, and in the `credentialDefinitions[].id` field of an update credential definition request."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialConfigurationId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Identifier of the credential configuration as published in the OID4VCI Credential Issuer Metadata. The wallet uses this value to request this credential configuration during the issuance flow."}}></SchemaItem><SchemaItem collapsible={false} name={"label"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Human-readable label describing the intended use of this credential configuration."}}></SchemaItem><SchemaItem collapsible={false} name={"expirationInDays"} required={false} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Number of days until the issued credential expires."}}></SchemaItem><SchemaItem collapsible={false} name={"supportRevocation"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the issuer supports revocation of credentials from this configuration."}}></SchemaItem><SchemaItem collapsible={false} name={"revocationMethod"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`status_list`, `status_list_2021`, `swiss_token_status_list_v1`]"} schema={{"type":"string","description":"Method used for credential revocation. `status_list` uses the IETF Token Status List specification. `status_list_2021` uses the W3C Status List 2021 specification. `swiss_token_status_list_v1` uses the Swiss profile of Token Status List.","enum":["status_list","status_list_2021","swiss_token_status_list_v1"]}}></SchemaItem><SchemaItem collapsible={false} name={"enforceCredentialUniqueness"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, each credential under this configuration is unique per holder."}}></SchemaItem><SchemaItem collapsible={false} name={"supportCredentialReissuance"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, holders can request reissuance of expired or near-expiry credentials."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialBindingMethods"} required={false} schemaName={"string[]"} qualifierMessage={"**Possible values:** [`did:key`, `jwk`, `cose_key`]"} schema={{"type":"array","description":"Cryptographic key binding methods that the issuer publishes in the OID4VCI Credential Issuer Metadata. `cose_key` is valid only for the `mso_mdoc` format.","items":{"type":"string","enum":["did:key","jwk","cose_key"]}}}></SchemaItem><SchemaItem collapsible={false} name={"authorizationRequestType"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`authorization_details`, `scope_based`]"} schema={{"type":"string","description":"How the wallet requests authorization during the OID4VCI issuance flow. `authorization_details` uses RFC 9396 Rich Authorization Requests. `scope_based` uses OAuth 2.0 scope values.","enum":["authorization_details","scope_based"]}}></SchemaItem><SchemaItem collapsible={false} name={"scope"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"OAuth 2.0 scope value of this credential configuration. The issuer sets this field when `authorizationRequestType` is `scope_based`."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>display</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Display properties for the credential card in wallet UIs.

</div><SchemaItem collapsible={false} name={"name"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Display name for the credential in wallet UIs."}}></SchemaItem><SchemaItem collapsible={false} name={"locale"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"BCP47 language tag for the display properties. The issuer always sets `en-GB`, and ignores any locale that you send.","example":"en-GB"}}></SchemaItem><SchemaItem collapsible={false} name={"description"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Human-readable description of the credential purpose."}}></SchemaItem><SchemaItem collapsible={false} name={"backgroundColor"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Hex color code for the credential card background (e.g. `#FFFFFF`)."}}></SchemaItem><SchemaItem collapsible={false} name={"textColor"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Hex color code for text on the credential card (e.g. `#000000`)."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>logo</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Logo image of the credential card.

</div><SchemaItem collapsible={false} name={"uri"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL of the logo image."}}></SchemaItem><SchemaItem collapsible={false} name={"altText"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Alternative text for the logo image."}}></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"}>backgroundImage</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Background image of the credential card.

</div><SchemaItem collapsible={false} name={"uri"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL of the background image."}}></SchemaItem></div></details></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"credentialResponseInterval"} required={false} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Minimum polling interval (in seconds) for the wallet when using the OID4VCI Deferred Credential Endpoint."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialFormat"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`jwt_vc_json`, `dc+sd-jwt`, `mso_mdoc`]"} schema={{"type":"string","description":"Credential format of this configuration. `jwt_vc_json` is W3C VC (JWT). `dc+sd-jwt` is IETF SD-JWT VC. `mso_mdoc` is ISO 18013-5 mDoc/mDL.","enum":["jwt_vc_json","dc+sd-jwt","mso_mdoc"]}}></SchemaItem><SchemaItem collapsible={false} name={"validationPath"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"JSONPath expression that selects the part of the credential payload that the issuer validates against the claims. The value is `$.vc` for `jwt_vc_json`, and `$` for `dc+sd-jwt` and `mso_mdoc`."}}></SchemaItem><SchemaItem collapsible={false} name={"type"} required={false} schemaName={"string[]"} qualifierMessage={undefined} schema={{"type":"array","items":{"type":"string"},"description":"Credential type strings. The issuer sets this field when `credentialFormat` is `jwt_vc_json`. These values appear in the `type` field of the issued W3C VC (JWT)."}}></SchemaItem><SchemaItem collapsible={false} name={"vct"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Verifiable Credential Type identifier. The issuer sets this field when `credentialFormat` is `dc+sd-jwt` (e.g. `urn:eu.europa.ec.eudi:pid:1`)."}}></SchemaItem><SchemaItem collapsible={false} name={"doctype"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Document type identifier. The issuer sets this field when `credentialFormat` is `mso_mdoc` (e.g. `org.iso.18013.5.1.lpid`)."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialDefinitionUri"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL of the external claims schema that the issuer used to build the claims of this configuration."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>claims</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Claims of the credential, as claim path pointers. The issuer sets this field when `credentialFormat` is `dc+sd-jwt` or `mso_mdoc`.

</div><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>claims</strong><span className={"openapi-schema__name"}> object[]</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

One claim path pointer for each claim that the issuer publishes.

</div><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"path"} required={false} schemaName={"undefined[]"} qualifierMessage={undefined} schema={{"type":"array","description":"Claim path pointer that selects the claim in the credential payload. Each element is a string for an object key, an integer for an array index, or `null` for every element of an array. For `mso_mdoc`, the first element is the mDoc namespace.","items":{"description":"Object key, array index, or `null` for every element of an array."},"example":["address","country"]}}></SchemaItem><SchemaItem collapsible={false} name={"mandatory"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the issuer always includes the claim."}}></SchemaItem><SchemaItem collapsible={false} name={"limitDisclosure"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the holder can disclose the claim selectively."}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></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"}>credentialDefinition</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Claims of the credential, as claim path pointers. The issuer sets this field when `credentialFormat` is `jwt_vc_json`. Each path starts with `credentialSubject`.

</div><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>claims</strong><span className={"openapi-schema__name"}> object[]</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

One claim path pointer for each claim that the issuer publishes.

</div><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"path"} required={false} schemaName={"undefined[]"} qualifierMessage={undefined} schema={{"type":"array","description":"Claim path pointer that selects the claim below `$.vc`. The first element is `credentialSubject`.","items":{"description":"Object key, array index, or `null` for every element of an array."},"example":["credentialSubject","identifier"]}}></SchemaItem><SchemaItem collapsible={false} name={"mandatory"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the issuer always includes the claim."}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem></div></details></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem><SchemaItem collapsible={false} name={"version"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Version of the OpenID for Verifiable Credential Issuance (OID4VCI) specification that the issuer uses for the issuance flow. `version_01` is OpenID4VCI 1.0. A record that you created with an earlier version of this API can hold another value. The issuer sets the value at creation time and never changes it.","example":"version_01"}}></SchemaItem><SchemaItem collapsible={false} name={"trustAnchor"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`did:key`, `x509`]"} schema={{"type":"string","description":"DID method or key type used as the trust anchor for credential issuance.","enum":["did:key","x509"]}}></SchemaItem><SchemaItem collapsible={false} name={"kid"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Key Identifier (kid) referencing the cryptographic key used to sign issued credentials."}}></SchemaItem><SchemaItem collapsible={false} name={"enforceWUA"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the issuer requires the holder to present a valid Wallet Unit Attestation (WUA) during the OID4VCI issuance flow."}}></SchemaItem><SchemaItem collapsible={false} name={"supportInteractiveAuthorisationEndpoint"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the issuer publishes an interactive authorisation endpoint for this credential definition."}}></SchemaItem><SchemaItem collapsible={false} name={"systemManaged"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the platform manages this credential definition. You cannot change or delete a system managed credential definition."}}></SchemaItem><SchemaItem collapsible={false} name={"extensionEnabled"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, an extension supplies the credential data for this credential definition."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>display</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"}}>

Display properties of the credential, as published in the OID4VCI Credential Issuer Metadata. Wallets use these values to draw the credential card.

</div><SchemaItem collapsible={false} name={"name"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Display name for the credential shown in wallet UIs, as specified in the OID4VCI Credential Issuer Metadata.","example":"Legal Person Identification Data"}}></SchemaItem><SchemaItem collapsible={false} name={"locale"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"BCP47 language tag for the display properties. The issuer always sets `en-GB`, and ignores any locale that you send.","example":"en-GB"}}></SchemaItem><SchemaItem collapsible={false} name={"description"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Human-readable description of the credential purpose."}}></SchemaItem><SchemaItem collapsible={false} name={"backgroundColor"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Hex color code for the credential card background (e.g. `#FFFFFF`).","example":"#FFFFFF"}}></SchemaItem><SchemaItem collapsible={false} name={"textColor"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Hex color code for text on the credential card (e.g. `#000000`).","example":"#000000"}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>logo</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"}}>

Logo image shown on the credential card. The issuer sets the organisation logo when you do not supply a URI. The issuer always returns the object, and `uri` is empty when the credential definition holds no logo.

</div><SchemaItem collapsible={false} name={"uri"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL of the logo image."}}></SchemaItem><SchemaItem collapsible={false} name={"altText"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Alternative text for the logo image. Wallets use this text for accessibility."}}></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"}>backgroundImage</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"}}>

Background image of the credential card. The issuer sets the organisation cover image when you do not supply a URI. The issuer always returns the object, and `uri` is empty when the credential definition holds no background image.

</div><SchemaItem collapsible={false} name={"uri"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL of the background image."}}></SchemaItem></div></details></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"expirationInDays"} required={true} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Number of days until the issued credential expires.","example":30}}></SchemaItem><SchemaItem collapsible={false} name={"supportRevocation"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the issuer supports revocation of credentials from this credential definition."}}></SchemaItem><SchemaItem collapsible={false} name={"revocationMethod"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`status_list`, `status_list_2021`, `swiss_token_status_list_v1`]"} schema={{"type":"string","description":"Method used for credential revocation. `status_list` uses the IETF Token Status List, `status_list_2021` uses the W3C Status List 2021, `swiss_token_status_list_v1` uses the Swiss profile.","enum":["status_list","status_list_2021","swiss_token_status_list_v1"]}}></SchemaItem><SchemaItem collapsible={false} name={"enforceCredentialUniqueness"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, each credential issued under this definition is unique per holder."}}></SchemaItem><SchemaItem collapsible={false} name={"supportCredentialReissuance"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, holders can request reissuance of expired or near-expiry credentials."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialBindingMethods"} required={false} schemaName={"string[]"} qualifierMessage={"**Possible values:** [`did:key`, `jwk`, `cose_key`]"} schema={{"type":"array","description":"Cryptographic key binding methods that the issuer publishes in the OID4VCI Credential Issuer Metadata. `cose_key` is valid only for the `mso_mdoc` format. The value is `null` when the record holds no binding method.","items":{"type":"string","enum":["did:key","jwk","cose_key"]}}}></SchemaItem><SchemaItem collapsible={false} name={"credentialFormat"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`jwt_vc_json`, `dc+sd-jwt`, `mso_mdoc`]"} schema={{"type":"string","description":"Credential format identifier as defined in OID4VCI. Supported formats: `jwt_vc_json` (W3C VC JWT), `dc+sd-jwt` (IETF SD-JWT VC), `mso_mdoc` (ISO 18013-5 mDoc/mDL).","enum":["jwt_vc_json","dc+sd-jwt","mso_mdoc"]}}></SchemaItem><SchemaItem collapsible={false} name={"validationPath"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"JSONPath expression that selects the part of the credential payload that the issuer validates against the claims. The value is `$.vc` for `jwt_vc_json`, and `$` for `dc+sd-jwt` and `mso_mdoc`."}}></SchemaItem><SchemaItem collapsible={false} name={"type"} required={false} schemaName={"string[]"} qualifierMessage={undefined} schema={{"type":"array","items":{"type":"string"},"description":"Credential type strings as defined in the OID4VCI specification. These values appear in the `type` field of the issued W3C VC (JWT). The issuer omits this field when the record uses another credential format."}}></SchemaItem><SchemaItem collapsible={false} name={"vct"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Verifiable Credential Type identifier used when `credentialFormat` is `dc+sd-jwt`. Included in the `vct` claim of the issued IETF SD-JWT VC.","example":"urn:eu.europa.ec.eudi:pid:1"}}></SchemaItem><SchemaItem collapsible={false} name={"doctype"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Document type identifier used when `credentialFormat` is `mso_mdoc`. Identifies the credential in the ISO 18013-5 mDoc/mDL format (e.g. `org.iso.18013.5.1.lpid`).","example":"eu.europa.ec.eudi.pid.1"}}></SchemaItem><SchemaItem collapsible={false} name={"namespace"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Namespace identifier for ISO 18013-5 mDoc/mDL credentials. The value is empty for an OpenID4VCI 1.0 credential definition, because the mDoc namespace is the first element of each claim path."}}></SchemaItem><SchemaItem collapsible={false} name={"credentialDefinitionUri"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL of the external claims schema that the issuer used to build the claims of this record."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>claims</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Claims of the credential, as claim path pointers. The issuer sets this field when `credentialFormat` is `dc+sd-jwt` or `mso_mdoc`.

</div><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>claims</strong><span className={"openapi-schema__name"}> object[]</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

One claim path pointer for each claim that the issuer publishes.

</div><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"path"} required={false} schemaName={"undefined[]"} qualifierMessage={undefined} schema={{"type":"array","description":"Claim path pointer that selects the claim in the credential payload. Each element is a string for an object key, an integer for an array index, or `null` for every element of an array. For `mso_mdoc`, the first element is the mDoc namespace.","items":{"description":"Object key, array index, or `null` for every element of an array."},"example":["address","country"]}}></SchemaItem><SchemaItem collapsible={false} name={"mandatory"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the issuer always includes the claim."}}></SchemaItem><SchemaItem collapsible={false} name={"limitDisclosure"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the holder can disclose the claim selectively."}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></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"}>credentialDefinition</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Claims of the credential, as claim path pointers. The issuer sets this field when `credentialFormat` is `jwt_vc_json`. Each path starts with `credentialSubject`.

</div><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>claims</strong><span className={"openapi-schema__name"}> object[]</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

One claim path pointer for each claim that the issuer publishes.

</div><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"path"} required={false} schemaName={"undefined[]"} qualifierMessage={undefined} schema={{"type":"array","description":"Claim path pointer that selects the claim below `$.vc`. The first element is `credentialSubject`.","items":{"description":"Object key, array index, or `null` for every element of an array."},"example":["credentialSubject","identifier"]}}></SchemaItem><SchemaItem collapsible={false} name={"mandatory"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"When `true`, the issuer always includes the claim."}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem></div></details></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"credentialDefinition\": {\n    \"id\": \"9f1c2a34-5b6d-4e7f-8a90-1b2c3d4e5f60\",\n    \"credentialDefinitionId\": \"9f1c2a34-5b6d-4e7f-8a90-1b2c3d4e5f60\",\n    \"openIdOrganisationId\": \"string\",\n    \"createdAt\": 1750000000,\n    \"updatedAt\": 1750000600,\n    \"label\": \"Issue Portable Document A1\",\n    \"credentialDefinitions\": [\n      {\n        \"id\": \"string\",\n        \"credentialConfigurationId\": \"string\",\n        \"label\": \"string\",\n        \"expirationInDays\": 0,\n        \"supportRevocation\": true,\n        \"revocationMethod\": \"status_list\",\n        \"enforceCredentialUniqueness\": true,\n        \"supportCredentialReissuance\": true,\n        \"credentialBindingMethods\": [\n          \"did:key\"\n        ],\n        \"authorizationRequestType\": \"authorization_details\",\n        \"scope\": \"string\",\n        \"display\": {\n          \"name\": \"string\",\n          \"locale\": \"en-GB\",\n          \"description\": \"string\",\n          \"backgroundColor\": \"string\",\n          \"textColor\": \"string\",\n          \"logo\": {\n            \"uri\": \"string\",\n            \"altText\": \"string\"\n          },\n          \"backgroundImage\": {\n            \"uri\": \"string\"\n          }\n        },\n        \"credentialResponseInterval\": 0,\n        \"credentialFormat\": \"jwt_vc_json\",\n        \"validationPath\": \"string\",\n        \"type\": [\n          \"string\"\n        ],\n        \"vct\": \"string\",\n        \"doctype\": \"string\",\n        \"credentialDefinitionUri\": \"string\",\n        \"claims\": {\n          \"claims\": [\n            {\n              \"path\": [\n                \"address\",\n                \"country\"\n              ],\n              \"mandatory\": true,\n              \"limitDisclosure\": true\n            }\n          ]\n        },\n        \"credentialDefinition\": {\n          \"claims\": [\n            {\n              \"path\": [\n                \"credentialSubject\",\n                \"identifier\"\n              ],\n              \"mandatory\": true\n            }\n          ]\n        }\n      }\n    ],\n    \"version\": \"version_01\",\n    \"trustAnchor\": \"did:key\",\n    \"kid\": \"string\",\n    \"enforceWUA\": true,\n    \"supportInteractiveAuthorisationEndpoint\": true,\n    \"systemManaged\": true,\n    \"extensionEnabled\": true,\n    \"display\": {\n      \"name\": \"Legal Person Identification Data\",\n      \"locale\": \"en-GB\",\n      \"description\": \"string\",\n      \"backgroundColor\": \"#FFFFFF\",\n      \"textColor\": \"#000000\",\n      \"logo\": {\n        \"uri\": \"string\",\n        \"altText\": \"string\"\n      },\n      \"backgroundImage\": {\n        \"uri\": \"string\"\n      }\n    },\n    \"expirationInDays\": 30,\n    \"supportRevocation\": true,\n    \"revocationMethod\": \"status_list\",\n    \"enforceCredentialUniqueness\": true,\n    \"supportCredentialReissuance\": true,\n    \"credentialBindingMethods\": [\n      \"did:key\"\n    ],\n    \"credentialFormat\": \"jwt_vc_json\",\n    \"validationPath\": \"string\",\n    \"type\": [\n      \"string\"\n    ],\n    \"vct\": \"urn:eu.europa.ec.eudi:pid:1\",\n    \"doctype\": \"eu.europa.ec.eudi.pid.1\",\n    \"namespace\": \"string\",\n    \"credentialDefinitionUri\": \"string\",\n    \"claims\": {\n      \"claims\": [\n        {\n          \"path\": [\n            \"address\",\n            \"country\"\n          ],\n          \"mandatory\": true,\n          \"limitDisclosure\": true\n        }\n      ]\n    },\n    \"credentialDefinition\": {\n      \"claims\": [\n        {\n          \"path\": [\n            \"credentialSubject\",\n            \"identifier\"\n          ],\n          \"mandatory\": true\n        }\n      ]\n    }\n  }\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

The request is invalid. The issuer returns this status when `label` is missing or shorter than 3 characters, when `label` uses a reserved platform value, when `credentialBindingMethods` holds `cose_key` for a credential format other than `mso_mdoc`, when a `credentialDefinitions` entry repeats `version`, `trustAnchor`, `kid` or `enforceWUA`, when a configuration field is present both at the top level and in an entry, when the entries do not agree on `authorizationRequestType` or `scope`, when a required field of the credential format is missing, or when the claims fail validation.


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