{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://smart-data-models.github.io/dataModel.VerifiableCredentials/Attestation/schema.json", "title": "EBSI Verifiable Attestation", "description": "Schema of an EBSI Verifiable Attestation", "$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-attestation/2022-11/schema.json", "license": "https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12", "type": "object", "properties": { "id": { "description": "Property. Defines unique identifier of the Verifiable Attestation", "type": "string", "format": "uri" }, "type": { "description": "Property. Defines the Verifiable Credential type", "type": "array", "items": { "type": "string" } }, "issuer": { "description": "Property. Defines the issuer of the Verifiable Attestation", "type": "string", "format": "uri" }, "issuanceDate": { "description": "Property. Defines the date and time, when the Verifiable Attestation becomes valid", "type": "string", "format": "date-time" }, "issued": { "description": "Property. Defines when the Verifiable Attestation was issued", "type": "string", "format": "date-time" }, "validFrom": { "description": "Property. Defines the date and time, when the Verifiable Attestation becomes valid", "type": "string", "format": "date-time" }, "validUntil": { "description": "Property. Defines the date and time, when the Verifiable Attestation expires", "type": "string", "format": "date-time" }, "expirationDate": { "description": "Property. Defines the date and time, when the Verifiable Attestation expires", "type": "string", "format": "date-time" }, "credentialSubject": { "description": "Property. Defines information about the subject that is described by the Verifiable Attestation", "type": "object", "properties": { "id": { "description": "Property. Defines the DID of the subject that is described by the Verifiable Attestation", "type": "string", "format": "uri" } } }, "credentialStatus": { "description": "Property. Contains information about how to verify the status of the Verifiable Attestation (via the Revocation and Endorsement Registry, RER)", "type": "object", "properties": { "id": { "description": "Property. References record in the Revocation and Endorsement Registry (RER) to enable verification of a Verifiable Attestation’s validity", "type": "string", "format": "uri" }, "type": { "description": "Property. Defines the Verifiable Credential status type", "type": "string" }, "statusPurpose": { "description": "Property. Purpose of the status entry", "type": "string", "enum": [ "revocation", "suspension" ] }, "statusListIndex": { "description": "Property. Integer expressed as a string. The zero based index value identifies the bit position of the status", "type": "string" }, "statusListCredential": { "description": "Property. URL referencing the StatusList2021Credential", "type": "string", "format": "uri" } }, "required": [ "id", "type" ] }, "credentialSchema": { "description": "Property. Contains information about the credential schema (template) on which the Verifiable Authorisation is based", "type": "object", "properties": { "id": { "description": "Property. References the credential schema (template) stored on the (relevant) Trusted Schemas Registry (TSR) on which the Verifiable Authorisation is based", "type": "string", "format": "uri" }, "type": { "description": "Property. Defines credential schema type", "type": "string", "enum": [ "FullJsonSchemaValidator2021" ] } }, "required": [ "id", "type" ] }, "evidence": { "description": "Property. Contains information about the process which resulted in the issuance of the Verifiable Attestation", "type": "array", "items": { "type": "object", "properties": { "id": { "description": "Property. If present, it MUST contain a URL that points to where more information about this instance of evidence can be found.", "type": "string" }, "type": { "description": "Property. Defines the evidence type", "type": "array", "items": { "type": "string" } } }, "required": [ "id", "type" ] } }, "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" }, "jws": { "description": "Property. Defines the proof value in JWS format", "type": "string" } }, "required": [ "type", "proofPurpose", "created", "verificationMethod", "jws" ] } }, "required": [ "id", "type", "issuer", "issuanceDate", "issued", "validFrom", "credentialSubject", "credentialSchema" ] }