{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Enhanced ID", "description": "Enhanced ID Credential", "type": "object", "$metadata": { "uris": { "jsonLdContext": "https://raw.githubusercontent.com/redbellynetwork/receptor-schema/refs/heads/main/schemas/json-ld/EnhancedIdCredential.jsonld", "jsonSchema": "https://raw.githubusercontent.com/redbellynetwork/receptor-schema/refs/heads/main/schemas/json/EnhancedIdCredential.json" }, "type": "EnhancedIdCredential" }, "required": [ "@context", "id", "type", "issuer", "issuanceDate", "credentialSubject", "credentialSchema", "credentialStatus" ], "properties": { "@context": { "type": ["string", "array", "object"] }, "id": { "type": "string" }, "type": { "type": ["string", "array"], "items": { "type": "string" } }, "issuer": { "type": ["string", "object"], "format": "uri", "required": ["id"], "properties": { "id": { "type": "string", "format": "uri" } } }, "issuanceDate": { "type": "string", "format": "date-time" }, "expirationDate": { "type": "string", "format": "date-time" }, "credentialSchema": { "type": "object", "required": ["id", "type"], "properties": { "id": { "type": "string", "format": "uri" }, "type": { "type": "string" } } }, "credentialStatus": { "type": "object", "required": ["id", "revocationNonce", "type"], "properties": { "id": { "type": "string", "format": "uri" }, "revocationNonce": { "type": "integer" }, "type": { "type": "string" } } }, "subjectPosition": { "type": "string", "enum": ["none", "index", "value"] }, "merklizationRootPosition": { "type": "string", "enum": ["none", "index", "value"] }, "revNonce": { "type": "integer" }, "version": { "type": "integer" }, "updatable": { "type": "boolean" }, "credentialSubject": { "type": "object", "required": [ "id", "name", "birthDate", "referenceId", "country", "documentType", "expiryDate", "publicAddress" ], "properties": { "id": { "title": "Credential Subject ID", "type": "string", "format": "uri", "description": "Identifier for the subject of the credential." }, "dataSource": { "type": "string", "description": "Datasource with which user data is verified and validated" }, "name": { "type": "string", "pattern": "^\\S.*\\S$|^\\S$", "description": "Full legal name of the individual." }, "birthDate": { "type": "integer", "minimum": 19000101, "maximum": 22251231, "description": "Date of birth, in YYYYMMDD format." }, "referenceId": { "type": "string", "pattern": "^[^\\s]+$", "description": "Document unique number" }, "country": { "type": "string", "pattern": "^[A-Za-z]+(?: [A-Za-z]+)*$", "description": "Country of issuance." }, "documentType": { "type": "string", "pattern": "^[A-Za-z_]+$", "description": "Type of Document" }, "expiryDate": { "type": "integer", "minimum": 19000101, "maximum": 22251231, "description": "Date until which the document is valid, in YYYYMMDD format." }, "publicAddress": { "type": "string", "pattern": "^0x[a-fA-F0-9]{40}$", "description": "Public address of the owner of the credential." } } } } }