{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "EBSI Verifiable Presentation", "description": "Schema of an EBSI Verifiable Presentation", "$schemaVersion": "0.0.1", "modelTags": "EBSI, Verifiable Credentials", "derivedFrom": "https://ec.europa.eu/digital-building-blocks/code/projects/EBSI/repos/json-schema/browse/schemas/ebsi-presentation/2022-11/schema.json", "license": "https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12", "type": "object", "properties": { "type": { "description": "Property. Defines the Verifiable Presentation type", "type": "array", "items": { "type": "string" } }, "holder": { "description": "Property. Defines unique identifier of the party who shares the Verifiable Presentation", "type": "string" }, "verifiableCredential": { "description": "Property. Contains the personal information intended to be shared", "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uri", "description": "Property. Description to be completed" }, "type": { "type": "array", "items": { "type": "string" }, "description": "Property. Description to be completed" }, "issuer": { "type": "string", "description": "Property. Description to be completed" }, "issuanceDate": { "type": "string", "format": "date-time", "description": "Property. Description to be completed" }, "validFrom": { "type": "string", "format": "date-time", "description": "Property. Description to be completed" }, "credentialSubject": { "id": { "type": "string", "format": "uri", "description": "Property. Description to be completed" }, "personalIdentifier": { "type": "string", "description": "Property. Description to be completed" }, "familyName": { "type": "string", "description": "Property. Description to be completed" }, "firstName": { "type": "string", "description": "Property. Description to be completed" }, "dateOfBirth": { "type": "string", "format": "Date", "description": "Property. Description to be completed" } } }, "credentialSchema": { "type": "object", "properties": { "id": { "type": "string", "description": "Property. Description to be completed" }, "type": { "type": "string", "description": "Property. Description to be completed" } }, "description": "Property. Description to be completed" } }, { "type": "string" } ] } }, "proof": { "description": "Property. Contains information about the proof", "type": "object", "properties": { "type": { "description": "Property. Defines the proof type", "type": "string" }, "proofPurpose": { "description": "Property. Defines the purpose of the proof", "type": "string" }, "created": { "description": "Property. Defines the date and time, when the proof has been created", "type": "string", "format": "date-time" }, "verificationMethod": { "description": "Property. Contains information about the verification method / proof mechanisms", "type": "string" }, "challenge": { "description": "Property. Defines a random or pseudo-random value used by some authentication protocols to mitigate replay attacks", "type": "string" }, "domain": { "description": "Property. Defines a string value that specifies the operational domain of a digital proof", "type": "string", "format": "hostname" }, "jws": { "description": "Property. Defines the proof value in JWS format", "type": "string" } }, "required": [ "type", "proofPurpose", "created", "verificationMethod", "jws" ] } }, "required": [ "type", "holder", "verifiableCredential" ] }