{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://judgecat.app/protocol/cat/transparency/v1","title":"CAT Protocol v1 transparency entry","type":"object","additionalProperties":false,"required":["schema","protocol","sequence","eventType","recordedAt","receiptId","receiptDigest","issuerKeyId","detailDigest","previousHash","eventId","entryHash"],"properties":{"schema":{"const":"https://judgecat.app/protocol/cat/transparency/v1"},"protocol":{"type":"object","additionalProperties":false,"required":["acronym","name","version"],"properties":{"acronym":{"const":"CAT"},"name":{"const":"Court Attestation & Transparency"},"version":{"const":"1.0.0"}}},"sequence":{"type":"integer","minimum":1},"eventType":{"enum":["receipt.draft_filed","receipt.issued","receipt.withdrawn","receipt.superseded","issuer.registry_published"]},"recordedAt":{"type":"string","format":"date-time"},"receiptId":{"anyOf":[{"type":"string","pattern":"^cat:[0-9a-f]{32}$"},{"type":"null"}]},"receiptDigest":{"anyOf":[{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"},{"type":"null"}]},"issuerKeyId":{"anyOf":[{"type":"string","pattern":"^cat-key:[0-9a-f]{16}$"},{"type":"null"}]},"detailDigest":{"anyOf":[{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"},{"type":"null"}]},"previousHash":{"anyOf":[{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"},{"type":"null"}]},"eventId":{"type":"string","pattern":"^cat-log:[0-9a-f]{32}$"},"entryHash":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"}},"allOf":[{"if":{"properties":{"eventType":{"pattern":"^receipt\\."}},"required":["eventType"]},"then":{"properties":{"receiptId":{"type":"string","pattern":"^cat:[0-9a-f]{32}$"}}}},{"if":{"properties":{"eventType":{"const":"receipt.issued"}},"required":["eventType"]},"then":{"properties":{"receiptDigest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"},"issuerKeyId":{"type":"string","pattern":"^cat-key:[0-9a-f]{16}$"}}}},{"if":{"properties":{"eventType":{"const":"issuer.registry_published"}},"required":["eventType"]},"then":{"properties":{"receiptId":{"type":"null"}}}}]}