{"$schema":"http://json-schema.org/draft-07/schema#","schemaId":"b1d0a8c3-4e5f-6789-0abc-def012345678","title":"Binding Document","type":"object","properties":{"subject":{"type":"string","description":"eName of the subject (pre-fixed with @)"},"type":{"type":"string","enum":["id_document","photograph","social_connection","self"],"description":"The type of binding document"},"data":{"type":"object","description":"Format dependent payload for the binding document"},"signatures":{"type":"array","description":"Array of signatures from the user and counterparties","items":{"$ref":"#/definitions/Signature"}}},"allOf":[{"if":{"properties":{"type":{"const":"id_document"}},"required":["type"]},"then":{"properties":{"data":{"$ref":"#/definitions/IdDocumentData"}}}},{"if":{"properties":{"type":{"const":"photograph"}},"required":["type"]},"then":{"properties":{"data":{"$ref":"#/definitions/PhotographData"}}}},{"if":{"properties":{"type":{"const":"social_connection"}},"required":["type"]},"then":{"properties":{"data":{"$ref":"#/definitions/SocialConnectionData"}}}},{"if":{"properties":{"type":{"const":"self"}},"required":["type"]},"then":{"properties":{"data":{"$ref":"#/definitions/SelfData"}}}}],"definitions":{"IdDocumentData":{"type":"object","properties":{"vendor":{"type":"string","description":"Vendor name for the ID document verification"},"reference":{"type":"string","description":"Reference ID from the vendor"},"name":{"type":"string","description":"Name verified against the ID document"}},"required":["vendor","reference","name"],"additionalProperties":false},"PhotographData":{"type":"object","properties":{"photoBlob":{"type":"string","description":"Base64 encoded photo blob"}},"required":["photoBlob"],"additionalProperties":false},"SocialConnectionData":{"type":"object","properties":{"kind":{"type":"string","const":"social_connection","description":"Discriminant for social connection data"},"name":{"type":"string","description":"Name of the social connection"},"parties":{"type":"array","items":{"type":"string","pattern":"^@[^\\s]+$"},"minItems":2,"maxItems":2,"description":"eNames of both participants"},"relation_description":{"type":"string","description":"Arbitrary text describing the relationship"}},"required":["kind","name","parties","relation_description"],"additionalProperties":false},"SelfData":{"type":"object","properties":{"kind":{"type":"string","const":"self","description":"Discriminant for self data"},"name":{"type":"string","description":"Self-declared name"}},"required":["kind","name"],"additionalProperties":false},"Signature":{"type":"object","properties":{"signer":{"type":"string","description":"eName or keyID of who signed it"},"signature":{"type":"string","description":"Cryptographic signature"},"timestamp":{"type":"string","format":"date-time","description":"When the signature was created"}},"required":["signer","signature","timestamp"],"additionalProperties":false}},"required":["subject","type","data","signatures"],"additionalProperties":false}