Skip to content

Instantly share code, notes, and snippets.

@thomasdarimont
Last active March 10, 2025 22:41
Show Gist options
  • Save thomasdarimont/88c4d7789ffad9d9d7dc5057984c674b to your computer and use it in GitHub Desktop.
Save thomasdarimont/88c4d7789ffad9d9d7dc5057984c674b to your computer and use it in GitHub Desktop.
JSON Schema Validation Example

Example output:

required property 'uri' not found: display/[0]/logo/uri
required property 'uri' not found: credential_configurations_supported/eu.europa.ec.eudi.ehic_mdoc/display/[0]/logo/uri
required property 'credential_issuer' not found: /credential_issuer
{
"batch_credential_endpoint": "https://issuer.eudiw.dev/batch_credential",
"credential_configurations_supported": {
"eu.europa.ec.eudi.ehic_mdoc": {
"claims": {
"eu.europa.ec.eudi.ehic.1": {
"competent_institution": {
"display": [
{
"locale": "en",
"name": "Institution ID"
}
],
"issuer_conditions": {
"cardinality": {
"max": 1,
"min": 1
},
"competent_institution_attributes": {
"country_code": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"institution_id": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"institution_name": {
"mandatory": false,
"source": "user",
"value_type": "boolean"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "competent_institution_attributes"
},
"credential_holder": {
"display": [
{
"locale": "en",
"name": "Credential Holder"
}
],
"issuer_conditions": {
"cardinality": {
"max": 1,
"min": 0
},
"credential_holder_attributes": {
"birth_date": {
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"family_name": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"given_name": {
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "credential_holder_attributes"
},
"document_id": {
"display": [
{
"locale": "en",
"name": "Document ID"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"ending_date": {
"display": [
{
"locale": "en",
"name": "Ending Date"
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuance Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing Country"
}
],
"mandatory": true,
"source": "issuer"
},
"social_security_pin": {
"display": [
{
"locale": "en",
"name": "Social Security Pin"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"starting_date": {
"display": [
{
"locale": "en",
"name": "Starting Date"
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"subject": {
"display": [
{
"locale": "en",
"name": "Subject"
}
],
"issuer_conditions": {
"cardinality": {
"max": 1,
"min": 0
},
"subject_attributes": {
"birth_date": {
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"family_name": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"given_name": {
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "subject_attributes"
}
}
},
"credential_alg_values_supported": [
-7
],
"credential_crv_values_supported": [
1
],
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PID",
"uri_": "https://examplestate.com/public/pid.png"
},
"name": "EHIC"
}
],
"doctype": "eu.europa.ec.eudi.ehic.1",
"format": "mso_mdoc",
"policy": {
"batch_size": 50,
"one_time_use": true
},
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.ehic.1"
},
"eu.europa.ec.eudi.ehic_sd_jwt_vc": {
"claims": {
"competent_institution": {
"display": [
{
"locale": "en",
"name": "Institution ID"
}
],
"issuer_conditions": {
"cardinality": {
"max": 1,
"min": 1
},
"competent_institution_attributes": {
"country_code": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"institution_id": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"institution_name": {
"mandatory": false,
"source": "user",
"value_type": "boolean"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "competent_institution_attributes"
},
"credential_holder": {
"display": [
{
"locale": "en",
"name": "Credential Holder"
}
],
"issuer_conditions": {
"cardinality": {
"max": 1,
"min": 0
},
"credential_holder_attributes": {
"birth_date": {
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"family_name": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"given_name": {
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "credential_holder_attributes"
},
"document_id": {
"display": [
{
"locale": "en",
"name": "Document ID"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"ending_date": {
"display": [
{
"locale": "en",
"name": "Ending Date"
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuance Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing Country"
}
],
"mandatory": true,
"source": "issuer"
},
"social_security_pin": {
"display": [
{
"locale": "en",
"name": "Social Security Pin"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"starting_date": {
"display": [
{
"locale": "en",
"name": "Starting Date"
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"subject": {
"display": [
{
"locale": "en",
"name": "Subject"
}
],
"issuer_conditions": {
"cardinality": {
"max": 1,
"min": 0
},
"subject_attributes": {
"birth_date": {
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"family_name": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"given_name": {
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "subject_attributes"
}
},
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PID",
"uri": "https://examplestate.com/public/pid.png"
},
"name": "EHIC (sd-jwt-vc)"
}
],
"format": "vc+sd-jwt",
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.ehic.1",
"vct": "urn:eu.europa.ec.eudi:ehic:1"
},
"eu.europa.ec.eudi.hiid_mdoc": {
"claims": {
"eu.europa.ec.eudi.hiid.1": {
"administrative_number": {
"display": [
{
"locale": "en",
"name": "Administrative_Number"
}
],
"mandatory": false
},
"affiliation_country": {
"display": [
{
"locale": "en",
"name": ""
}
],
"mandatory": true,
"source": "Affiliation Country",
"value_type": "string"
},
"document_number": {
"display": [
{
"locale": "en",
"name": "Document Number"
}
],
"mandatory": false
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"health_insurance_id": {
"display": [
{
"locale": "en",
"name": "Health Insurance ID"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuer_conditions": {
"at_least_one_of": [
"health_insurance_id",
"patient_id",
"tax_number",
"one_time_token"
]
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuing Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing_Country"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_jurisdiction": {
"display": [
{
"locale": "en",
"name": "Issuing Jurisdiction"
}
],
"mandatory": false
},
"matching_birth_date": {
"display": [
{
"locale": "en",
"name": "Matching Birth Date"
}
],
"mandatory": false,
"source": "user",
"value_type": "full-date"
},
"matching_birth_place": {
"display": [
{
"locale": "en",
"name": "Mathing Birth Place"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"matching_institution-id": {
"display": [
{
"locale": "en",
"name": "Matching Institution ID"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"matching_registered_family_name": {
"display": [
{
"locale": "en",
"name": "Matching Registered Family Name"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"matching_registered_given_name": {
"display": [
{
"locale": "en",
"name": "Matching Registered Given Name"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"matching_resident_address": {
"display": [
{
"locale": "en",
"name": "Matching Resident Address"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"one_time_token": {
"display": [
{
"locale": "en",
"name": "One Time Token"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"patient_id": {
"display": [
{
"locale": "en",
"name": "Patient ID"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"tax_number": {
"display": [
{
"locale": "en",
"name": "Tax Number"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
}
}
},
"credential_alg_values_supported": [
-7
],
"credential_crv_values_supported": [
1
],
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a hiid",
"uri": "https://examplestate.com/public/hiid.png"
},
"name": "Health ID"
}
],
"doctype": "eu.europa.ec.eudi.hiid.1",
"format": "mso_mdoc",
"policy": {
"batch_size": 50,
"one_time_use": true
},
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.hiid.1"
},
"eu.europa.ec.eudi.hiid_sd_jwt_vc": {
"claims": {
"administrative_number": {
"display": [
{
"locale": "en",
"name": "Administrative_Number"
}
],
"mandatory": false
},
"affiliation_country": {
"display": [
{
"locale": "en",
"name": ""
}
],
"mandatory": true,
"source": "Affiliation Country",
"value_type": "string"
},
"document_number": {
"display": [
{
"locale": "en",
"name": "Document Number"
}
],
"mandatory": false
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"health_insurance_id": {
"display": [
{
"locale": "en",
"name": "Health Insurance ID"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuer_conditions": {
"at_least_one_of": [
"health_insurance_id",
"patient_id",
"tax_number",
"one_time_token"
]
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuing Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing_Country"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_jurisdiction": {
"display": [
{
"locale": "en",
"name": "Issuing Jurisdiction"
}
],
"mandatory": false
},
"matching_birth_date": {
"display": [
{
"locale": "en",
"name": "Matching Birth Date"
}
],
"mandatory": false,
"source": "user",
"value_type": "full-date"
},
"matching_birth_place": {
"display": [
{
"locale": "en",
"name": "Mathing Birth Place"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"matching_institution-id": {
"display": [
{
"locale": "en",
"name": "Matching Institution ID"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"matching_registered_family_name": {
"display": [
{
"locale": "en",
"name": "Matching Registered Family Name"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"matching_registered_given_name": {
"display": [
{
"locale": "en",
"name": "Matching Registered Given Name"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"matching_resident_address": {
"display": [
{
"locale": "en",
"name": "Matching Resident Address"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"one_time_token": {
"display": [
{
"locale": "en",
"name": "One Time Token"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"patient_id": {
"display": [
{
"locale": "en",
"name": "Patient ID"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"tax_number": {
"display": [
{
"locale": "en",
"name": "Tax Number"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
}
},
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PID",
"uri": "https://examplestate.com/public/pid.png"
},
"name": "Health ID (sd-jwt-vc)"
}
],
"format": "vc+sd-jwt",
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.hiid.1",
"vct": "urn:eu.europa.ec.eudi:hiid:1"
},
"eu.europa.ec.eudi.iban_mdoc": {
"claims": {
"eu.europa.ec.eudi.iban.1": {
"account_holder_owner": {
"display": [
{
"locale": "en",
"name": "Account Holder Owner"
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"account_name": {
"display": [
{
"locale": "en",
"name": "Account Name"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"account_product": {
"display": [
{
"locale": "en",
"name": "Account Product"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"account_type": {
"display": [
{
"locale": "en",
"name": "Account Type"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"bank_account_status": {
"display": [
{
"locale": "en",
"name": "Bank Account Status"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"business_identifier_code": {
"display": [
{
"locale": "en",
"name": "Bussiness Identifier Code"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"coowner": {
"display": [
{
"locale": "en",
"name": "Coowner"
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"credential_type": {
"display": [
{
"locale": "en",
"name": "Credential Type"
}
],
"mandatory": true,
"source": "issuer"
},
"currency": {
"display": [
{
"locale": "en",
"name": "Currency"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"date_of_birth": {
"display": [
{
"locale": "en",
"name": "Date of Birth"
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"disponent": {
"display": [
{
"locale": "en",
"name": "Disponent"
}
],
"mandatory": false,
"value_type": "bool"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"iban": {
"display": [
{
"locale": "en",
"name": "IBAN"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_organization": {
"display": [
{
"locale": "en",
"name": "Issuing Organization"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"national_account_number": {
"display": [
{
"locale": "en",
"name": "National Account Number"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"national_bank_code": {
"display": [
{
"locale": "en",
"name": "National Bank Code"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"payment_possibility": {
"display": [
{
"locale": "en",
"name": "Payment Possibility"
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"registered_family_name": {
"display": [
{
"locale": "en",
"name": "Registered Family Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"registered_given_name": {
"display": [
{
"locale": "en",
"name": "Registered Given Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"credential_alg_values_supported": [
-7
],
"credential_crv_values_supported": [
1
],
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a iban",
"uri": "https://examplestate.com/public/iban.png"
},
"name": "IBAN"
}
],
"doctype": "eu.europa.ec.eudi.iban.1",
"format": "mso_mdoc",
"policy": {
"batch_size": 50,
"one_time_use": true
},
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.iban.1"
},
"eu.europa.ec.eudi.iban_sd_jwt_vc": {
"claims": {
"account_holder_owner": {
"display": [
{
"locale": "en",
"name": "Account Holder Owner"
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"account_name": {
"display": [
{
"locale": "en",
"name": "Account Name"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"account_product": {
"display": [
{
"locale": "en",
"name": "Account Product"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"account_type": {
"display": [
{
"locale": "en",
"name": "Account Type"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"bank_account_status": {
"display": [
{
"locale": "en",
"name": "Bank Account Status"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"business_identifier_code": {
"display": [
{
"locale": "en",
"name": "Bussiness Identifier Code"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"coowner": {
"display": [
{
"locale": "en",
"name": "Coowner"
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"credential_type": {
"display": [
{
"locale": "en",
"name": "Credential Type"
}
],
"mandatory": true,
"source": "issuer"
},
"currency": {
"display": [
{
"locale": "en",
"name": "Currency"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"date_of_birth": {
"display": [
{
"locale": "en",
"name": "Date of Birth"
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"disponent": {
"display": [
{
"locale": "en",
"name": "Disponent"
}
],
"mandatory": false,
"value_type": "bool"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"iban": {
"display": [
{
"locale": "en",
"name": "IBAN"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_organization": {
"display": [
{
"locale": "en",
"name": "Issuing Organization"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"national_account_number": {
"display": [
{
"locale": "en",
"name": "National Account Number"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"national_bank_code": {
"display": [
{
"locale": "en",
"name": "National Bank Code"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"payment_possibility": {
"display": [
{
"locale": "en",
"name": "Payment Possibility"
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"registered_family_name": {
"display": [
{
"locale": "en",
"name": "Registered Family Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"registered_given_name": {
"display": [
{
"locale": "en",
"name": "Registered Given Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
}
},
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PID",
"uri": "https://examplestate.com/public/pid.png"
},
"name": "IBAN (sd-jwt-vc)"
}
],
"format": "vc+sd-jwt",
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.iban.1",
"vct": "urn:eu.europa.ec.eudi:iban:1"
},
"eu.europa.ec.eudi.loyalty_mdoc": {
"claims": {
"eu.europa.ec.eudi.loyalty.1": {
"client_id": {
"display": [
{
"locale": "en",
"name": "Client ID"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"company": {
"display": [
{
"locale": "en",
"name": "Loyalty Card Company"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"family_name": {
"display": [
{
"locale": "en",
"name": "Family Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"given_name": {
"display": [
{
"locale": "en",
"name": "Given Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
}
}
},
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PID",
"uri": "https://examplestate.com/public/pid.png"
},
"name": "Loyalty"
}
],
"doctype": "eu.europa.ec.eudi.loyalty.1",
"format": "mso_mdoc",
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.loyalty.1"
},
"eu.europa.ec.eudi.mdl_mdoc": {
"claims": {
"org.iso.18013.5.1": {
"Issuing jurisdiction": {
"display": [
{
"locale": "en",
"name": "Issuing jurisdiction"
}
],
"mandatory": false
},
"administrative_number": {
"display": [
{
"locale": "en",
"name": "Administrative number"
}
],
"mandatory": false,
"source": "issuer"
},
"age_birth_year": {
"display": [
{
"locale": "en",
"name": "Age attestation: In what year were you born?"
}
],
"mandatory": false,
"source": "user",
"value_type": "uint"
},
"age_in_years": {
"display": [
{
"locale": "en",
"name": "Age attestation: How old are you (in years)?"
}
],
"mandatory": false,
"source": "user",
"value_type": "uint"
},
"age_over_18": {
"display": [
{
"locale": "en",
"name": "Age attestation: Nearest \u201ctrue\u201d attestation above request"
}
],
"mandatory": false,
"source": "issuer"
},
"biometric_template_xx": {
"display": [
{
"locale": "en",
"name": "Fingerprint biometric information"
}
],
"mandatory": false
},
"birth_date": {
"display": [
{
"locale": "en",
"name": "Date of birth"
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"birth_place": {
"display": [
{
"locale": "en",
"name": "Place of birth"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"document_number": {
"display": [
{
"locale": "en",
"name": "Licence number"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"driving_privileges": {
"display": [
{
"locale": "en",
"name": "Categories of vehicles"
}
],
"mandatory": true,
"source": "user",
"value_type": "driving_privileges"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Date when mDL expires"
}
],
"mandatory": true,
"source": "issuer"
},
"eye_colour": {
"display": [
{
"locale": "en",
"name": "Eye colour"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"family_name": {
"display": [
{
"locale": "en",
"name": "Family name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"family_name_national_character": {
"display": [
{
"locale": "en",
"name": "Family name in national characters"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"given_name": {
"display": [
{
"locale": "en",
"name": "Given names"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"given_name_national_character": {
"display": [
{
"locale": "en",
"name": "Given name in national characters"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"hair_colour": {
"display": [
{
"locale": "en",
"name": "Hair colour"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"height": {
"display": [
{
"locale": "en",
"name": "Height (cm)"
}
],
"mandatory": false,
"source": "user",
"value_type": "uint"
},
"issue_date": {
"display": [
{
"locale": "en",
"name": "Date of issue"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuing authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing country"
}
],
"mandatory": true,
"source": "issuer"
},
"nationality": {
"display": [
{
"locale": "en",
"name": "Nationality"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"portrait": {
"display": [
{
"locale": "en",
"name": "Portrait of mDL holder"
}
],
"mandatory": true,
"source": "user",
"value_type": "jpeg"
},
"portrait_capture_date": {
"display": [
{
"locale": "en",
"name": "Portrait image timestamp"
}
],
"mandatory": false,
"source": "user",
"value_type": "full-date"
},
"resident_address": {
"display": [
{
"locale": "en",
"name": "Permanent place of residence"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_city": {
"display": [
{
"locale": "en",
"name": "Resident city"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_country": {
"display": [
{
"locale": "en",
"name": "Resident country"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_postal_code": {
"display": [
{
"locale": "en",
"name": "Resident postal code"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_state": {
"display": [
{
"locale": "en",
"name": "Resident state/province/district"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"sex": {
"display": [
{
"locale": "en",
"name": "Sex"
}
],
"mandatory": false,
"source": "user",
"value_type": "uint"
},
"signature_usual_mark": {
"display": [
{
"locale": "en",
"name": "Signature / usual mark"
}
],
"mandatory": false
},
"un_distinguishing_sign": {
"display": [
{
"locale": "en",
"name": "UN distinguishing sign"
}
],
"mandatory": true,
"source": "issuer"
},
"weight": {
"display": [
{
"locale": "en",
"name": "Weight (kg)"
}
],
"mandatory": false,
"source": "user",
"value_type": "uint"
}
}
},
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a mDL",
"uri": "https://examplestate.com/public/mdl.png"
},
"name": "mDL"
}
],
"doctype": "org.iso.18013.5.1.mDL",
"format": "mso_mdoc",
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "org.iso.18013.5.1.mDL"
},
"eu.europa.ec.eudi.msisdn_mdoc": {
"claims": {
"eu.europa.ec.eudi.msisdn.1": {
"contract_owner": {
"display": [
{
"locale": "en",
"name": "Contract Owner"
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"credential_type": {
"display": [
{
"locale": "en",
"name": "Credential Type"
}
],
"mandatory": true,
"source": "issuer"
},
"document_number": {
"display": [
{
"locale": "en",
"name": "Document Number"
}
],
"mandatory": false
},
"end_user": {
"display": [
{
"locale": "en",
"name": "End User"
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_organization": {
"display": [
{
"locale": "en",
"name": "Issuing Organization"
}
],
"mandatory": true,
"source": "issuer",
"value_type": "string"
},
"mobile_operator": {
"display": [
{
"locale": "en",
"name": ""
}
],
"mandatory": true,
"source": "Mobile Operator",
"value_type": "string"
},
"phone_number": {
"display": [
{
"locale": "en",
"name": "Phone Number"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"phone_number_in_use": {
"display": [
{
"locale": "en",
"name": "Phone Number in Use"
}
],
"mandatory": false,
"source": "user",
"value_type": "uint"
},
"registered_family_name": {
"display": [
{
"locale": "en",
"name": "Registered Family Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"registered_given_name": {
"display": [
{
"locale": "en",
"name": "Registered Given Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"credential_alg_values_supported": [
-7
],
"credential_crv_values_supported": [
1
],
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a msisdn",
"uri": "https://examplestate.com/public/msisdn.png"
},
"name": "MSISDN"
}
],
"doctype": "eu.europa.ec.eudi.msisdn.1",
"format": "mso_mdoc",
"policy": {
"batch_size": 50,
"one_time_use": true
},
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.msisdn.1"
},
"eu.europa.ec.eudi.msisdn_sd_jwt_vc": {
"claims": {
"contract_owner": {
"display": [
{
"locale": "en",
"name": "Contract Owner"
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"credential_type": {
"display": [
{
"locale": "en",
"name": "Credential Type"
}
],
"mandatory": true,
"source": "issuer"
},
"document_number": {
"display": [
{
"locale": "en",
"name": "Document Number"
}
],
"mandatory": false
},
"end_user": {
"display": [
{
"locale": "en",
"name": "End User"
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_organization": {
"display": [
{
"locale": "en",
"name": "Issuing Organization"
}
],
"mandatory": true,
"source": "issuer",
"value_type": "string"
},
"mobile_operator": {
"display": [
{
"locale": "en",
"name": ""
}
],
"mandatory": true,
"source": "Mobile Operator",
"value_type": "string"
},
"phone_number": {
"display": [
{
"locale": "en",
"name": "Phone Number"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"phone_number_in_use": {
"display": [
{
"locale": "en",
"name": "Phone Number in Use"
}
],
"mandatory": false,
"source": "user",
"value_type": "uint"
},
"registered_family_name": {
"display": [
{
"locale": "en",
"name": "Registered Family Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"registered_given_name": {
"display": [
{
"locale": "en",
"name": "Registered Given Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
}
},
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PID",
"uri": "https://examplestate.com/public/pid.png"
},
"name": "MSISDN (sd-jwt-vc)"
}
],
"format": "vc+sd-jwt",
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.msisdn.1",
"vct": "urn:eu.europa.ec.eudi:msisdn:1"
},
"eu.europa.ec.eudi.pda1_mdoc": {
"claims": {
"eu.europa.ec.eudi.pda1.1": {
"competent_institution": {
"display": [
{
"locale": "en",
"name": "Institution ID"
}
],
"issuer_conditions": {
"cardinality": {
"max": 1,
"min": 1
},
"competent_institution_attributes": {
"country_code": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"institution_id": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"institution_name": {
"mandatory": false,
"source": "user",
"value_type": "boolean"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "competent_institution_attributes"
},
"credential_holder": {
"display": [
{
"locale": "en",
"name": "Credential Holder"
}
],
"issuer_conditions": {
"cardinality": {
"max": 1,
"min": 0
},
"credential_holder_attributes": {
"birth_date": {
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"family_name": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"given_name": {
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "credential_holder_attributes"
},
"document_id": {
"display": [
{
"locale": "en",
"name": "Document ID"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"employment_details": {
"display": [
{
"locale": "en",
"name": "Employment Details"
}
],
"issuer_conditions": {
"cardinality": {
"max": "n",
"min": 1
},
"employment_details_attributes": {
"country_code": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"employer_id": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"employment_type": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"id_type": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"name": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"postal_code": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"street": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"town": {
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "employment_details_attributes"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuance Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing Country"
}
],
"mandatory": true,
"source": "issuer"
},
"legislation": {
"display": [
{
"locale": "en",
"name": "Legislation"
}
],
"issuer_conditions": {
"cardinality": {
"max": 1,
"min": 1
},
"legislation_attributes": {
"ending_date": {
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"member_state": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"starting_date": {
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"transitional_rules": {
"mandatory": false,
"source": "user",
"value_type": "boolean"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "legislation_attributes"
},
"places_of_work": {
"display": [
{
"locale": "en",
"name": "Places of Work"
}
],
"issuer_conditions": {
"cardinality": {
"max": 1,
"min": 1
},
"places_of_work_attributes": {
"no_fixed_place": {
"issuer_conditions": {
"cardinality": {
"max": "n",
"min": 0
},
"no_fixed_place_attributes": {
"country_code": {
"mandatory": true,
"source": "user",
"value_type": "string"
}
},
"not_used_if": {
"attributes": [
"place_of_work"
],
"logic": "any"
}
},
"mandatory": false,
"source": "user",
"value_type": "no_fixed_place_attributes"
},
"place_of_work": {
"issuer_conditions": {
"cardinality": {
"max": "n",
"min": 0
},
"not_used_if": {
"attributes": [
"no_fixed_place"
],
"logic": "any"
},
"place_of_work_attributes": {
"company": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"company_id": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"country_code": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"flag_base_home_state": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"id_type": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"postal_code": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"street": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"town": {
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"mandatory": false,
"source": "user",
"value_type": "place_of_work_attributes"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "places_of_work_attributes"
},
"social_security_pin": {
"display": [
{
"locale": "en",
"name": "Social Security Pin"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"status_confirmation": {
"display": [
{
"locale": "en",
"name": "Status Confirmation"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"credential_alg_values_supported": [
-7
],
"credential_crv_values_supported": [
1
],
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PID",
"uri": "https://examplestate.com/public/pid.png"
},
"name": "PDA1"
}
],
"doctype": "eu.europa.ec.eudi.pda1.1",
"format": "mso_mdoc",
"policy": {
"batch_size": 50,
"one_time_use": true
},
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.pda1.1"
},
"eu.europa.ec.eudi.pda1_sd_jwt_vc": {
"claims": {
"competent_institution": {
"display": [
{
"locale": "en",
"name": "Institution ID"
}
],
"issuer_conditions": {
"cardinality": {
"max": 1,
"min": 1
},
"competent_institution_attributes": {
"country_code": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"institution_id": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"institution_name": {
"mandatory": false,
"source": "user",
"value_type": "boolean"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "competent_institution_attributes"
},
"credential_holder": {
"display": [
{
"locale": "en",
"name": "Credential Holder"
}
],
"issuer_conditions": {
"cardinality": {
"max": 1,
"min": 0
},
"credential_holder_attributes": {
"birth_date": {
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"family_name": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"given_name": {
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "credential_holder_attributes"
},
"document_id": {
"display": [
{
"locale": "en",
"name": "Document ID"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"employment_details": {
"display": [
{
"locale": "en",
"name": "Employment Details"
}
],
"issuer_conditions": {
"cardinality": {
"max": "n",
"min": 1
},
"employment_details_attributes": {
"country_code": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"employer_id": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"employment_type": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"id_type": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"name": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"postal_code": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"street": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"town": {
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "employment_details_attributes"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuance Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing Country"
}
],
"mandatory": true,
"source": "issuer"
},
"legislation": {
"display": [
{
"locale": "en",
"name": "Legislation"
}
],
"issuer_conditions": {
"cardinality": {
"max": 1,
"min": 1
},
"legislation_attributes": {
"ending_date": {
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"member_state": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"starting_date": {
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"transitional_rules": {
"mandatory": false,
"source": "user",
"value_type": "boolean"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "legislation_attributes"
},
"places_of_work": {
"display": [
{
"locale": "en",
"name": "Places of Work"
}
],
"issuer_conditions": {
"cardinality": {
"max": 1,
"min": 1
},
"places_of_work_attributes": {
"no_fixed_place": {
"issuer_conditions": {
"cardinality": {
"max": "n",
"min": 0
},
"no_fixed_place_attributes": {
"country_code": {
"mandatory": true,
"source": "user",
"value_type": "string"
}
},
"not_used_if": {
"attributes": [
"place_of_work"
],
"logic": "any"
}
},
"mandatory": false,
"source": "user",
"value_type": "no_fixed_place_attributes"
},
"place_of_work": {
"issuer_conditions": {
"cardinality": {
"max": "n",
"min": 0
},
"not_used_if": {
"attributes": [
"no_fixed_place"
],
"logic": "any"
},
"place_of_work_attributes": {
"company": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"company_id": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"country_code": {
"mandatory": true,
"source": "user",
"value_type": "string"
},
"flag_base_home_state": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"id_type": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"postal_code": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"street": {
"mandatory": false,
"source": "user",
"value_type": "string"
},
"town": {
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"mandatory": false,
"source": "user",
"value_type": "place_of_work_attributes"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "places_of_work_attributes"
},
"social_security_pin": {
"display": [
{
"locale": "en",
"name": "Social Security Pin"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"status_confirmation": {
"display": [
{
"locale": "en",
"name": "Status Confirmation"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
}
},
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PID",
"uri": "https://examplestate.com/public/pid.png"
},
"name": "PDA1 (sd-jwt-vc)"
}
],
"format": "vc+sd-jwt",
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.pda1.1",
"vct": "urn:eu.europa.ec.eudi:pda1:1"
},
"eu.europa.ec.eudi.photoid": {
"claims": {
"org.iso.23220.1": {
"age_birth_year": {
"display": [
{
"locale": "en",
"name": "Birth Year"
}
],
"mandatory": false,
"value_type": "uint"
},
"age_in_years": {
"display": [
{
"locale": "en",
"name": "Age in Years"
}
],
"mandatory": false,
"value_type": "uint"
},
"age_over_18": {
"display": [
{
"locale": "en",
"name": "Age over 18"
}
],
"mandatory": true,
"source": "issuer"
},
"birth_date": {
"display": [
{
"locale": "en",
"name": "Date of Birth"
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"birthplace": {
"display": [
{
"locale": "en",
"name": "Birthplace"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"document_number": {
"display": [
{
"locale": "en",
"name": "Document Number"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"family_name_latin1": {
"display": [
{
"locale": "en",
"name": "Family Name"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"family_name_unicode": {
"display": [
{
"locale": "en",
"name": "Family Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"given_name_latin1": {
"display": [
{
"locale": "en",
"name": "Given Name"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"given_name_unicode": {
"display": [
{
"locale": "en",
"name": "Given Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_authority_unicode": {
"display": [
{
"locale": "en",
"name": "Issuing Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing Country"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_subdivision": {
"display": [
{
"locale": "en",
"name": "Issuing Subdivision"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"name_at_birth": {
"display": [
{
"locale": "en",
"name": "Family Name at Birth"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"nationality": {
"display": [
{
"locale": "en",
"name": "Nationality"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"portrait": {
"display": [
{
"locale": "en",
"name": "Portrait Image"
}
],
"mandatory": true,
"source": "user",
"value_type": "jpeg"
},
"portrait_capture_date": {
"display": [
{
"locale": "en",
"name": "Portrait Capture Date"
}
],
"mandatory": false,
"source": "user",
"value_type": "full-date"
},
"resident_address_unicode": {
"display": [
{
"locale": "en",
"name": "Resident Address"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_city_latin1": {
"display": [
{
"locale": "en",
"name": "Resident City"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_city_unicode": {
"display": [
{
"locale": "en",
"name": "Resident City"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_country": {
"display": [
{
"locale": "en",
"name": "Resident Country"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_postal_code": {
"display": [
{
"locale": "en",
"name": "Resident Postal Code"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"sex": {
"display": [
{
"locale": "en",
"name": "Sex"
}
],
"mandatory": false,
"source": "user"
}
}
},
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a mDL",
"uri": "https://examplestate.com/public/mdl.png"
},
"name": "Photo ID"
}
],
"doctype": "org.iso.23220.photoID.1",
"format": "mso_mdoc",
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "org.iso.23220.photoID.1"
},
"eu.europa.ec.eudi.pid_jwt_vc_json": {
"claims": {
"age_birth_year": {
"display": [
{
"locale": "en",
"name": "Age Year of Birth"
}
],
"mandatory": false,
"value_type": "uint"
},
"age_in_years": {
"display": [
{
"locale": "en",
"name": "Age in Years"
}
],
"mandatory": false,
"value_type": "uint"
},
"age_over_18": {
"display": [
{
"locale": "en",
"name": "Age Over 18"
}
],
"mandatory": false,
"source": "user",
"value_type": "bool"
},
"birth_date": {
"display": [
{
"locale": "en",
"name": "Birth Date"
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"birth_place": {
"display": [
{
"locale": "en",
"name": "Birth Place"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"document_number": {
"display": [
{
"locale": "en",
"name": "Document Number"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"email_address": {
"display": [
{
"locale": "en",
"name": "Email Address"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"family_name": {
"display": [
{
"locale": "en",
"name": "Family Name(s)"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"family_name_birth": {
"display": [
{
"locale": "en",
"name": "Birth Family Name(s)"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"given_name": {
"display": [
{
"locale": "en",
"name": "Given Name(s)"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"given_name_birth": {
"display": [
{
"locale": "en",
"name": "Birth Given Name(s)"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuance Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing Country"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_jurisdiction": {
"display": [
{
"locale": "en",
"name": "Issuing Jurisdiction"
}
],
"mandatory": false
},
"location_status": {
"display": [
{
"locale": "en",
"name": "Location Status"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"mobile_phone_number": {
"display": [
{
"locale": "en",
"name": "Mobile Phone Number"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"nationality": {
"display": [
{
"locale": "en",
"name": "Nationality"
}
],
"issuer_conditions": {
"cardinality": {
"max": "n",
"min": 0
},
"nationalities": {
"country_code": {
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "nationalities"
},
"personal_administrative_number": {
"display": [
{
"locale": "en",
"name": "Personal Administrative Number"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"portrait": {
"display": [
{
"locale": "en",
"name": "Portrait Image"
}
],
"mandatory": false,
"source": "user",
"value_type": "jpeg"
},
"resident_address": {
"display": [
{
"locale": "en",
"name": "Resident Address"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_city": {
"display": [
{
"locale": "en",
"name": "Resident City"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_country": {
"display": [
{
"locale": "en",
"name": "Resident Country"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_house_number": {
"display": [
{
"locale": "en",
"name": "Resident House Number"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_postal_code": {
"display": [
{
"locale": "en",
"name": "Resident Postal Code"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_state": {
"display": [
{
"locale": "en",
"name": "Resident State"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_street": {
"display": [
{
"locale": "en",
"name": "Resident Street"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"sex": {
"display": [
{
"locale": "en",
"name": "Sex"
}
],
"mandatory": false,
"source": "user",
"value_type": "uint"
},
"trust_anchor": {
"display": [
{
"locale": "en",
"name": "Trust Anchor"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
}
},
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PID",
"uri": "https://examplestate.com/public/pid.png"
},
"name": "PID test (sd-jwt-vc)"
}
],
"format": "vc+sd-jwt",
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.pid.1",
"vct": "urn:eu.europa.ec.eudi:pid:1"
},
"eu.europa.ec.eudi.pid_mdoc": {
"claims": {
"eu.europa.ec.eudi.pid.1": {
"age_birth_year": {
"display": [
{
"locale": "en",
"name": "Age Year of Birth"
}
],
"mandatory": false,
"value_type": "uint"
},
"age_in_years": {
"display": [
{
"locale": "en",
"name": "Age in Years"
}
],
"mandatory": false,
"value_type": "uint"
},
"age_over_18": {
"display": [
{
"locale": "en",
"name": "Age Over 18"
}
],
"mandatory": false,
"source": "user",
"value_type": "bool"
},
"birth_date": {
"display": [
{
"locale": "en",
"name": "Birth Date"
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"birth_place": {
"display": [
{
"locale": "en",
"name": "Birth Place"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"document_number": {
"display": [
{
"locale": "en",
"name": "Document Number"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"email_address": {
"display": [
{
"locale": "en",
"name": "Email Address"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"family_name": {
"display": [
{
"locale": "en",
"name": "Family Name(s)"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"family_name_birth": {
"display": [
{
"locale": "en",
"name": "Birth Family Name(s)"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"given_name": {
"display": [
{
"locale": "en",
"name": "Given Name(s)"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"given_name_birth": {
"display": [
{
"locale": "en",
"name": "Birth Given Name(s)"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuance Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing Country"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_jurisdiction": {
"display": [
{
"locale": "en",
"name": "Issuing Jurisdiction"
}
],
"mandatory": false
},
"location_status": {
"display": [
{
"locale": "en",
"name": "Location Status"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"mobile_phone_number": {
"display": [
{
"locale": "en",
"name": "Mobile Phone Number"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"nationality": {
"display": [
{
"locale": "en",
"name": "Nationality"
}
],
"issuer_conditions": {
"cardinality": {
"max": "n",
"min": 0
},
"nationalities": {
"country_code": {
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"mandatory": true,
"source": "user",
"value_type": "nationalities"
},
"personal_administrative_number": {
"display": [
{
"locale": "en",
"name": "Personal Administrative Number"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"portrait": {
"display": [
{
"locale": "en",
"name": "Portrait Image"
}
],
"mandatory": false,
"source": "user",
"value_type": "jpeg"
},
"resident_address": {
"display": [
{
"locale": "en",
"name": "Resident Address"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_city": {
"display": [
{
"locale": "en",
"name": "Resident City"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_country": {
"display": [
{
"locale": "en",
"name": "Resident Country"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_house_number": {
"display": [
{
"locale": "en",
"name": "Resident House Number"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_postal_code": {
"display": [
{
"locale": "en",
"name": "Resident Postal Code"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_state": {
"display": [
{
"locale": "en",
"name": "Resident State"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"resident_street": {
"display": [
{
"locale": "en",
"name": "Resident Street"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"sex": {
"display": [
{
"locale": "en",
"name": "Sex"
}
],
"mandatory": false,
"source": "user",
"value_type": "uint"
},
"trust_anchor": {
"display": [
{
"locale": "en",
"name": "Trust Anchor"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
}
}
},
"credential_alg_values_supported": [
-7
],
"credential_crv_values_supported": [
1
],
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PID",
"uri": "https://examplestate.com/public/pid.png"
},
"name": "PID"
}
],
"doctype": "eu.europa.ec.eudi.pid.1",
"format": "mso_mdoc",
"policy": {
"batch_size": 50,
"one_time_use": true
},
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.pid.1"
},
"eu.europa.ec.eudi.por_mdoc": {
"claims": {
"eu.europa.ec.eudi.por.1": {
"eService": {
"display": [
{
"locale": "en",
"name": "eService"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"effective_from_date": {
"display": [
{
"locale": "en",
"name": "Effective From Date"
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"effective_until_date": {
"display": [
{
"locale": "en",
"name": "Effective Until Date"
}
],
"mandatory": false,
"source": "user",
"value_type": "full-date"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"full_powers": {
"display": [
{
"locale": "en",
"name": "Full Powers"
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuing Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing Country"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_jurisdiction": {
"display": [
{
"locale": "en",
"name": ""
}
],
"mandatory": false
},
"legal_name": {
"display": [
{
"locale": "en",
"name": "Legal Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"legal_person_identifier": {
"display": [
{
"locale": "en",
"name": "Legal Person Identifier"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"credential_alg_values_supported": [
-7
],
"credential_crv_values_supported": [
1
],
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PoR",
"uri": "https://examplestate.com/public/por.png"
},
"name": "Power Of Representation"
}
],
"doctype": "eu.europa.ec.eudi.por.1",
"format": "mso_mdoc",
"policy": {
"batch_size": 50,
"one_time_use": true
},
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.por.1"
},
"eu.europa.ec.eudi.por_sd_jwt_vc": {
"claims": {
"eService": {
"display": [
{
"locale": "en",
"name": "eService"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"effective_from_date": {
"display": [
{
"locale": "en",
"name": "Effective From Date"
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"effective_until_date": {
"display": [
{
"locale": "en",
"name": "Effective Until Date"
}
],
"mandatory": false,
"source": "user",
"value_type": "full-date"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"full_powers": {
"display": [
{
"locale": "en",
"name": "Full Powers"
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuing Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing Country"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_jurisdiction": {
"display": [
{
"locale": "en",
"name": ""
}
],
"mandatory": false
},
"legal_name": {
"display": [
{
"locale": "en",
"name": "Legal Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"legal_person_identifier": {
"display": [
{
"locale": "en",
"name": "Legal Person Identifier"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
}
},
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PID",
"uri": "https://examplestate.com/public/pid.png"
},
"name": "Power Of Representation (sd-jwt-vc)"
}
],
"format": "vc+sd-jwt",
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.por.1",
"vct": "urn:eu.europa.ec.eudi:por:1"
},
"eu.europa.ec.eudi.pseudonym_over18_mdoc": {
"claims": {
"eu.europa.ec.eudi.pseudonym.age_over_18.1": {
"age_over_18": {
"display": [
{
"locale": "en",
"name": "Age Over 18"
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuing Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing Country"
}
],
"mandatory": true,
"source": "issuer"
},
"user_pseudonym": {
"display": [
{
"locale": "en",
"name": "User pseudonym"
}
],
"mandatory": true,
"source": "issuer",
"value_type": "string"
}
}
},
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a Age over 18",
"uri": "https://examplestate.com/public/pid.png"
},
"name": "Age over 18 Pseudonym"
}
],
"doctype": "eu.europa.ec.eudi.pseudonym.age_over_18.1",
"format": "mso_mdoc",
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.pseudonym.age_over_18.1"
},
"eu.europa.ec.eudi.pseudonym_over18_mdoc_deferred_endpoint": {
"claims": {
"eu.europa.ec.eudi.pseudonym.age_over_18.deferred_endpoint": {
"age_over_18": {
"display": [
{
"locale": "en",
"name": "Age Over 18"
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuing Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing Country"
}
],
"mandatory": true,
"source": "issuer"
},
"user_pseudonym": {
"display": [
{
"locale": "en",
"name": "User pseudonym"
}
],
"mandatory": true,
"source": "issuer",
"value_type": "string"
}
}
},
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PID",
"uri": "https://examplestate.com/public/pid.png"
},
"name": "Pseudonym Deferred"
}
],
"doctype": "eu.europa.ec.eudi.pseudonym.age_over_18.deferred_endpoint",
"format": "mso_mdoc",
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.pseudonym.age_over_18.deferred_endpoint"
},
"eu.europa.ec.eudi.pseudonym_over18_sd_jwt_vc": {
"claims": {
"age_over_18": {
"display": [
{
"locale": "en",
"name": "Age Over 18"
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuing Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing Country"
}
],
"mandatory": true,
"source": "issuer"
},
"user_pseudonym": {
"display": [
{
"locale": "en",
"name": "User pseudonym"
}
],
"mandatory": true,
"source": "issuer",
"value_type": "string"
}
},
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PID",
"uri": "https://examplestate.com/public/pid.png"
},
"name": "Age over 18 Pseudonym (sd-jwt-vc)"
}
],
"format": "vc+sd-jwt",
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.pseudonym.age_over_18.1",
"vct": "urn:eu.europa.ec.eudi:pseudonym_age_over_18:1"
},
"eu.europa.ec.eudi.tax_mdoc": {
"claims": {
"eu.europa.ec.eudi.tax.1": {
"affiliation_country": {
"display": [
{
"locale": "en",
"name": "Affiliation Country"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"birth_date": {
"display": [
{
"locale": "en",
"name": "Birth Date"
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"church_tax_ID": {
"display": [
{
"locale": "en",
"name": "Church Tax ID"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"credential_type": {
"display": [
{
"locale": "en",
"name": "Credential Type"
}
],
"mandatory": true,
"source": "issuer"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"iban": {
"display": [
{
"locale": "en",
"name": "IBAN"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuing Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing Country"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_jurisdiction": {
"display": [
{
"locale": "en",
"name": ""
}
],
"mandatory": false
},
"registered_family_name": {
"display": [
{
"locale": "en",
"name": "Registered Family Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"registered_given_name": {
"display": [
{
"locale": "en",
"name": "Registered Given Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"resident_address": {
"display": [
{
"locale": "en",
"name": "Resident Address"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"tax_number": {
"display": [
{
"locale": "en",
"name": "Tax Number"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"credential_alg_values_supported": [
-7
],
"credential_crv_values_supported": [
1
],
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a tax",
"uri": "https://examplestate.com/public/tax.png"
},
"name": "Tax Number"
}
],
"doctype": "eu.europa.ec.eudi.tax.1",
"format": "mso_mdoc",
"policy": {
"batch_size": 50,
"one_time_use": true
},
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.tax.1"
},
"eu.europa.ec.eudi.tax_sd_jwt_vc": {
"claims": {
"affiliation_country": {
"display": [
{
"locale": "en",
"name": "Affiliation Country"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"birth_date": {
"display": [
{
"locale": "en",
"name": "Birth Date"
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"church_tax_ID": {
"display": [
{
"locale": "en",
"name": "Church Tax ID"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"credential_type": {
"display": [
{
"locale": "en",
"name": "Credential Type"
}
],
"mandatory": true,
"source": "issuer"
},
"expiry_date": {
"display": [
{
"locale": "en",
"name": "Expiry Date"
}
],
"mandatory": true,
"source": "issuer"
},
"iban": {
"display": [
{
"locale": "en",
"name": "IBAN"
}
],
"mandatory": false,
"source": "user",
"value_type": "string"
},
"issuance_date": {
"display": [
{
"locale": "en",
"name": "Issuance Date"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_authority": {
"display": [
{
"locale": "en",
"name": "Issuing Authority"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_country": {
"display": [
{
"locale": "en",
"name": "Issuing Country"
}
],
"mandatory": true,
"source": "issuer"
},
"issuing_jurisdiction": {
"display": [
{
"locale": "en",
"name": ""
}
],
"mandatory": false
},
"registered_family_name": {
"display": [
{
"locale": "en",
"name": "Registered Family Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"registered_given_name": {
"display": [
{
"locale": "en",
"name": "Registered Given Name"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"resident_address": {
"display": [
{
"locale": "en",
"name": "Resident Address"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"tax_number": {
"display": [
{
"locale": "en",
"name": "Tax Number"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
}
},
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PID",
"uri": "https://examplestate.com/public/pid.png"
},
"name": "Tax Number (sd-jwt-vc)"
}
],
"format": "vc+sd-jwt",
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "eu.europa.ec.eudi.tax.1",
"vct": "urn:eu.europa.ec.eudi:tax:1"
},
"org.iso.18013.5.1.reservation_mdoc": {
"claims": {
"org.iso.18013.5.reservation.1": {
"birth_date": {
"display": [
{
"locale": "en",
"name": "Day, month, and year on which the holder was born."
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"booking_service_name": {
"display": [
{
"locale": "en",
"name": "The booking service providing the booking reservation."
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"car_rental": {
"display": [
{
"locale": "en",
"name": "Indicates inclusion of car rental in the reservation."
}
],
"mandatory": true,
"source": "user",
"value_type": "bool"
},
"check_in_date": {
"display": [
{
"locale": "en",
"name": "The check-in date for the reservation."
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"check_out_date": {
"display": [
{
"locale": "en",
"name": "The check-out date for the reservation."
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"family_name": {
"display": [
{
"locale": "en",
"name": "Current last name(s) or surname(s) of the holder. "
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"given_name": {
"display": [
{
"locale": "en",
"name": "Current first name(s), including middle name(s), of the holder. "
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"guests": {
"display": [
{
"locale": "en",
"name": "The guest of the reservation (num of adults, num of children, etc)."
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"location": {
"display": [
{
"locale": "en",
"name": "The location or place the reservation refers to (e.g. city, service provider place, etc.)"
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"num_of_rooms": {
"display": [
{
"locale": "en",
"name": "The number of rooms the reservation refers to."
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"reservation_date": {
"display": [
{
"locale": "en",
"name": "Date of the reservation."
}
],
"mandatory": true,
"source": "user",
"value_type": "full-date"
},
"reservation_id": {
"display": [
{
"locale": "en",
"name": "The identifier of the booking reservation from the booking service."
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
},
"service_provider_name": {
"display": [
{
"locale": "en",
"name": "The name of the service provider (e.g. Hotel) the reservation refers to "
}
],
"mandatory": true,
"source": "user",
"value_type": "string"
}
}
},
"credential_alg_values_supported": [
-7
],
"credential_crv_values_supported": [
1
],
"credential_signing_alg_values_supported": [
"ES256"
],
"cryptographic_binding_methods_supported": [
"jwk",
"cose_key"
],
"display": [
{
"locale": "en",
"logo": {
"alt_text": "A square figure of a PID",
"uri": "https://examplestate.com/public/pid.png"
},
"name": "Reservation"
}
],
"doctype": "org.iso.18013.5.1.reservation",
"format": "mso_mdoc",
"policy": {
"batch_size": 50,
"one_time_use": true
},
"proof_types_supported": {
"cwt": {
"proof_alg_values_supported": [
-7
],
"proof_crv_values_supported": [
1
],
"proof_signing_alg_values_supported": [
"ES256"
]
},
"jwt": {
"proof_signing_alg_values_supported": [
"ES256"
]
}
},
"scope": "org.iso.18013.5.1.reservation"
}
},
"credential_endpoint": "https://issuer.eudiw.dev/credential",
"credential_issuer_": "https://issuer.eudiw.dev",
"deferred_credential_endpoint": "https://issuer.eudiw.dev/deferred_credential",
"display": [
{
"locale": "en",
"logo": {
"alt_text": "EU Digital Identity Wallet Logo",
"uri_": "https://issuer.eudiw.dev/ic-logo.png"
},
"name": "Digital Credentials Issuer"
}
],
"notification_endpoint": "https://issuer.eudiw.dev/notification"
}
package demo;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.networknt.schema.JsonNodePath;
import com.networknt.schema.JsonSchema;
import com.networknt.schema.JsonSchemaFactory;
import com.networknt.schema.SpecVersion;
import com.networknt.schema.ValidationMessage;
import java.util.Set;
public class JsonSchemaDemo {
public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper();
JsonSchemaFactory factory = JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V202012);
JsonSchema jsonSchema = factory.getSchema(
JsonSchemaDemo.class.getResourceAsStream("/oid4vci_metadata_schema.json"));
JsonNode jsonNode = mapper.readTree(JsonSchemaDemo.class.getResourceAsStream("/input_error.json"));
Set<ValidationMessage> errors = jsonSchema.validate(jsonNode);
for (ValidationMessage error : errors) {
System.out.printf("%s: %s%n", error.getError() , toInstancePropertyLocation(error.getInstanceLocation(), error.getProperty()));
}
}
public static String toInstancePropertyLocation(JsonNodePath path, String property) {
var sb = new StringBuilder();
for (int i = 0, cnt = path.getNameCount(); i < cnt; i++) {
Object element = path.getElement(i);
boolean isArrayIndex = element instanceof Integer;
if (isArrayIndex) {
sb.append("[");
}
sb.append(path.getName(i));
if (isArrayIndex) {
sb.append("]");
}
if (cnt - 1 != i) {
sb.append("/");
}
}
sb.append("/");
sb.append(property);
return sb.toString();
}
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"credential_issuer": {
"type": "string"
},
"authorization_servers": {
"type": "array",
"items": {
"type": "string"
}
},
"credential_endpoint": {
"type": "string",
"format": "uri"
},
"nonce_endpoint": {
"type": "string",
"format": "uri"
},
"deferred_credential_endpoint": {
"type": "string",
"format": "uri"
},
"notification_endpoint": {
"type": "string",
"format": "uri"
},
"credential_response_encryption": {
"type": "object",
"properties": {
"alg_values_supported": {
"type": "array",
"items": {
"type": "string"
}
},
"enc_values_supported": {
"type": "array",
"items": {
"type": "string"
}
},
"encryption_required": {
"type": "boolean"
}
},
"required": [
"alg_values_supported",
"enc_values_supported",
"encryption_required"
]
},
"batch_credential_issuance": {
"type": "object",
"properties": {
"batch_size": {
"type": "integer",
"minimum": 1
}
},
"required": [
"batch_size"
]
},
"signed_metadata": {
"type": "string"
},
"display": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"locale": {
"type": "string"
},
"logo": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"format": "uri"
},
"alt_text": {
"type": "string"
}
},
"required": [
"uri"
]
}
}
}
},
"credential_configurations_supported": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"format": {
"type": "string"
},
"scope": {
"type": "string"
},
"cryptographic_binding_methods_supported": {
"type": "array",
"items": {
"type": "string"
}
},
"credential_signing_alg_values_supported": {
"type": "array",
"items": {
"type": "string"
}
},
"proof_types_supported": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"proof_signing_alg_values_supported": {
"type": "array",
"items": {
"type": "string"
}
},
"key_attestations_required": {
"type": "object",
"properties": {
"key_storage": {
"type": "array",
"items": {
"type": "string"
}
},
"user_authentication": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"required": [
"proof_signing_alg_values_supported"
]
}
},
"display": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"locale": {
"type": "string"
},
"logo": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"format": "uri"
},
"alt_text": {
"type": "string"
}
},
"required": [
"uri"
]
},
"description": {
"type": "string"
},
"background_color": {
"type": "string"
},
"background_image": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"format": "uri"
}
},
"required": [
"uri"
]
},
"text_color": {
"type": "string"
}
}
}
}
},
"required": [
"format"
]
}
}
},
"required": [
"credential_issuer",
"credential_endpoint",
"credential_configurations_supported"
]
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>json-schema-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.networknt</groupId>
<artifactId>json-schema-validator</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.5.12</version>
</dependency>
</dependencies>
</project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment