---
id: config-update-digital-wallet-open-id-credential-definition
title: "Update credential definition"
description: "Updates an existing credential definition. The changes apply to future credential issuances that use this definition. This operation replaces the whole `credentialDefinitions` array, so always send every credential configuration that the issuer must keep. Set `credentialDefinitions[].id` to the identifier of an existing configuration to change it, and omit the field to add a new one. The issuer always discards `display.logo.uri` and `display.backgroundImage.uri` from the request body and keeps the stored images; use the update logo image and update cover image operations to change the artwork. `version`, `trustAnchor`, `kid`, `supportRevocation` and `revocationMethod` are immutable after creation, and this operation does not accept them."
sidebar_label: "Update credential definition"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "put 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"}>Update credential definition</h1>

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



Updates an existing credential definition. The changes apply to future credential issuances that use this definition. This operation replaces the whole `credentialDefinitions` array, so always send every credential configuration that the issuer must keep. Set `credentialDefinitions[].id` to the identifier of an existing configuration to change it, and omit the field to add a new one. The issuer always discards `display.logo.uri` and `display.backgroundImage.uri` from the request body and keeps the stored images; use the update logo image and update cover image operations to change the artwork. `version`, `trustAnchor`, `kid`, `supportRevocation` and `revocationMethod` are immutable after creation, and this operation does not accept them.


## Request

<details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><h3 className={"openapi-markdown__details-summary-header-params"}>Path Parameters</h3></summary><div><ul><ParamsItem className={"paramsItem"} param={{"description":"Unique identifier of the credential definition that specifies the credential format, type, and claims structure for OID4VCI issuance.","in":"path","name":"credentialDefinitionId","required":true,"schema":{"type":"string"}}}></ParamsItem></ul></div></details><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"}}>

New values for the credential definition. Every field is optional except `credentialDefinitions`. When `label` is present, it must contain at least 3 characters.

</div></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"label"} required={false} 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'). When you supply the field, the value must contain at least 3 characters. The issuer keeps the current label when you omit the field. 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={false} name={"credentialDefinitions"} required={true} schemaName={"object[]"} qualifierMessage={"**Possible values:** `>= 1`"} schema={{"type":"array","minItems":1,"description":"Credential configurations of this credential definition, as the complete new list. Set `id` on an entry to change a configuration that the issuer already published. Omit `id` to add a new configuration. Leave an existing configuration out of the array to remove it. Do not supply a configuration field such as `credentialFormat` or `claims` at the top level, because the issuer rejects the request.\n","items":{"allOf":[{"type":"object","description":"One credential configuration inside a credential definition. The issuer publishes each entry as a separate credential configuration in the OID4VCI Credential Issuer Metadata. Every entry must use the same `authorizationRequestType` and the same `scope`.\n","properties":{"label":{"type":"string","description":"Human-readable label describing the intended use of this credential configuration."},"expirationInDays":{"type":"number","description":"Number of days until the issued credential expires. Defaults to 30. The issuer calculates the expiry date from the issuance time."},"supportRevocation":{"type":"boolean","description":"When `true`, enables credential revocation support. Defaults to `false`."},"revocationMethod":{"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"]},"enforceCredentialUniqueness":{"type":"boolean","description":"When `true`, ensures each credential under this configuration is unique per holder. Defaults to `false`."},"supportCredentialReissuance":{"type":"boolean","description":"When `true`, allows holders to request reissuance of expired or near-expiry credentials. Defaults to `false`."},"credentialBindingMethods":{"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"]}},"authorizationRequestType":{"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"]},"scope":{"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."},"display":{"type":"object","description":"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`.","properties":{"name":{"type":"string","description":"Display name for the credential in wallet UIs."},"description":{"type":"string","description":"Human-readable description of the credential purpose."},"backgroundColor":{"type":"string","description":"Hex color code for the credential card background (e.g. `#FFFFFF`)."},"textColor":{"type":"string","description":"Hex color code for text on the credential card (e.g. `#000000`)."},"logo":{"type":"object","description":"Logo image of the credential card.","properties":{"uri":{"type":"string","description":"URL of the logo image."},"altText":{"type":"string","description":"Alternative text for the logo image."}}},"backgroundImage":{"type":"object","description":"Background image of the credential card.","properties":{"uri":{"type":"string","description":"URL of the background image."}}}}},"credentialResponseInterval":{"type":"number","description":"Minimum polling interval (in seconds) for the wallet when using the OID4VCI Deferred Credential Endpoint."},"credentialFormat":{"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"]},"validationPath":{"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","$"]},"type":{"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."},"vct":{"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`)."},"doctype":{"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`)."},"credentialDefinitionUri":{"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."},"claims":{"type":"object","description":"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.\n","properties":{"claims":{"type":"array","description":"One claim path pointer for each claim that the issuer publishes.","items":{"type":"object","properties":{"path":{"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"]},"mandatory":{"type":"boolean","description":"When `true`, the issuer always includes the claim. The issuer reads a missing field as `true`."},"limitDisclosure":{"type":"boolean","description":"When `true`, the holder can disclose the claim selectively."}},"required":["path"],"additionalProperties":true}}},"required":["claims"]},"credentialDefinition":{"type":"object","description":"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`.\n","properties":{"claims":{"type":"array","description":"One claim path pointer for each claim that the issuer publishes.","items":{"type":"object","properties":{"path":{"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"]},"mandatory":{"type":"boolean","description":"When `true`, the issuer always includes the claim. The issuer reads a missing field as `true`."}},"required":["path"],"additionalProperties":true}}},"required":["claims"]}},"required":["credentialFormat"]},{"type":"object","properties":{"id":{"type":"string","description":"Identifier of an existing credential configuration. Read the value from `credentialDefinitions[].id` of a read or list credential definition response."}}}]}}}></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."}}></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."}}></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 always discards `logo.uri` and `backgroundImage.uri` from this object and keeps the stored values, whether you send them or not. To change the artwork, use the update logo image and update cover image operations.


</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. The issuer discards `uri` and keeps the stored image.

</div><SchemaItem collapsible={false} name={"uri"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL of the logo image. The issuer ignores this field on update."}}></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. The issuer discards `uri` and keeps the stored image.

</div><SchemaItem collapsible={false} name={"uri"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL of the background image. The issuer ignores this field on update."}}></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 updated the credential definition and published the new credential configurations in the OID4VCI Credential Issuer Metadata.

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

Credential definition record as stored by the issuer. The top level fields hold the settings of the whole record, and `credentialDefinitions` holds one entry for each credential configuration that the issuer publishes in the OID4VCI Credential Issuer Metadata.


</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 no credential definition matches `credentialDefinitionId`, when the request body is not valid JSON, when `label` is shorter than 3 characters or uses a reserved platform value, when `credentialBindingMethods` holds `cose_key` for a credential format other than `mso_mdoc`, when a configuration field is present both at the top level and in a `credentialDefinitions` entry, 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>
      