{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://schemas.example.com/payment-verifier/verification-result.schema.json","title":"VerificationResult","type":"object","additionalProperties":false,"required":["schema_version","verification_id","request_id","status","decision","policy","checks","reason_codes","billing","created_at","completed_at"],"properties":{"schema_version":{"const":"1.0"},"verification_id":{"type":"string","format":"uuid"},"request_id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["COMPLETED","FAILED"]},"decision":{"type":"string","enum":["RELEASE","REVIEW","BLOCK","INSUFFICIENT_EVIDENCE"]},"advisory_only":{"const":true},"policy":{"type":"object","additionalProperties":false,"required":["id","version"],"properties":{"id":{"type":"string"},"version":{"type":"string"}}},"checks":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["code","outcome","summary"],"properties":{"code":{"type":"string"},"outcome":{"type":"string","enum":["PASS","FAIL","WARN","UNAVAILABLE","NOT_APPLICABLE"]},"summary":{"type":"string","maxLength":500},"evidence_ids":{"type":"array","items":{"type":"string"},"uniqueItems":true}}}},"reason_codes":{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string"}},"required_actions":{"type":"array","uniqueItems":true,"items":{"type":"string"}},"evidence":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["evidence_id","source","observed_at","status"],"properties":{"evidence_id":{"type":"string"},"source":{"type":"string"},"observed_at":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["VERIFIED","PARTIAL","UNAVAILABLE","CONTRADICTED"]},"reference":{"type":"string","maxLength":500}}}},"billing":{"type":"object","additionalProperties":false,"required":["billable","meter","units"],"properties":{"billable":{"type":"boolean"},"meter":{"const":"verification.completed"},"units":{"type":"integer","minimum":0,"maximum":1}}},"created_at":{"type":"string","format":"date-time"},"completed_at":{"type":"string","format":"date-time"},"trace_id":{"type":"string"}}}