{
  "type": "object",
  "properties": {
    "eventId": {
      "type": "string",
      "minLength": 1
    },
    "eventName": {
      "const": "VerificationCompleted"
    },
    "version": {
      "const": "2.0"
    },
    "aggregateType": {
      "const": "ArchiveObject"
    },
    "aggregateId": {
      "type": "string",
      "pattern": "^arc-"
    },
    "aggregateRevision": {
      "type": "integer",
      "minimum": 1
    },
    "correlationId": {
      "type": "string",
      "minLength": 1
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 1
    },
    "occurredAt": {
      "type": "string",
      "format": "date-time"
    },
    "state": {
      "const": "COMPLETED"
    },
    "resourceType": {
      "const": "VerificationReport"
    },
    "resourceId": {
      "type": "string",
      "pattern": "^ver-"
    },
    "reference": {
      "type": "string",
      "pattern": "^/v1/verifications/"
    },
    "outcome": {
      "type": "string",
      "enum": [
        "VALID",
        "INVALID",
        "INDETERMINATE"
      ]
    }
  },
  "required": [
    "eventId",
    "eventName",
    "version",
    "aggregateType",
    "aggregateId",
    "aggregateRevision",
    "correlationId",
    "idempotencyKey",
    "occurredAt",
    "state",
    "resourceType",
    "resourceId",
    "reference",
    "outcome"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "eventId": "evt-verificationcompleted-001",
      "eventName": "VerificationCompleted",
      "version": "2.0",
      "aggregateType": "ArchiveObject",
      "aggregateId": "arc-test-001",
      "aggregateRevision": 8,
      "correlationId": "corr-test-001",
      "idempotencyKey": "event-verificationcompleted-001",
      "occurredAt": "2026-10-15T08:00:00Z",
      "state": "COMPLETED",
      "resourceType": "VerificationReport",
      "resourceId": "ver-test-001",
      "reference": "/v1/verifications/ver-test-001",
      "outcome": "INDETERMINATE"
    }
  ]
}
