{
  "type": "object",
  "properties": {
    "eventId": {
      "type": "string",
      "minLength": 1
    },
    "eventName": {
      "const": "TransferCompleted"
    },
    "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": "ACKNOWLEDGED"
    },
    "resourceType": {
      "const": "TransferResult"
    },
    "resourceId": {
      "type": "string",
      "pattern": "^trf-"
    },
    "reference": {
      "type": "string",
      "pattern": "^/v1/transfers/"
    },
    "exportId": {
      "type": "string",
      "minLength": 1
    },
    "recipientId": {
      "type": "string",
      "minLength": 1
    },
    "acknowledgementId": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "eventId",
    "eventName",
    "version",
    "aggregateType",
    "aggregateId",
    "aggregateRevision",
    "correlationId",
    "idempotencyKey",
    "occurredAt",
    "state",
    "resourceType",
    "resourceId",
    "reference",
    "exportId",
    "recipientId",
    "acknowledgementId"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "eventId": "evt-transfercompleted-001",
      "eventName": "TransferCompleted",
      "version": "2.0",
      "aggregateType": "ArchiveObject",
      "aggregateId": "arc-test-001",
      "aggregateRevision": 16,
      "correlationId": "corr-test-001",
      "idempotencyKey": "event-transfercompleted-001",
      "occurredAt": "2026-10-15T08:00:00Z",
      "state": "ACKNOWLEDGED",
      "resourceType": "TransferResult",
      "resourceId": "trf-test-001",
      "reference": "/v1/transfers/trf-test-001",
      "exportId": "exp-test-001",
      "recipientId": "recipient-test-001",
      "acknowledgementId": "ack-test-001"
    }
  ]
}
