{
  "type": "object",
  "properties": {
    "eventId": {
      "type": "string",
      "minLength": 1
    },
    "eventName": {
      "const": "RenewalStarted"
    },
    "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": "RUNNING"
    },
    "resourceType": {
      "const": "Renewal"
    },
    "resourceId": {
      "type": "string",
      "pattern": "^ren-"
    },
    "reference": {
      "type": "string",
      "pattern": "^/v1/renewals/"
    }
  },
  "required": [
    "eventId",
    "eventName",
    "version",
    "aggregateType",
    "aggregateId",
    "aggregateRevision",
    "correlationId",
    "idempotencyKey",
    "occurredAt",
    "state",
    "resourceType",
    "resourceId",
    "reference"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "eventId": "evt-renewalstarted-001",
      "eventName": "RenewalStarted",
      "version": "2.0",
      "aggregateType": "ArchiveObject",
      "aggregateId": "arc-test-001",
      "aggregateRevision": 10,
      "correlationId": "corr-test-001",
      "idempotencyKey": "event-renewalstarted-001",
      "occurredAt": "2026-10-15T08:00:00Z",
      "state": "RUNNING",
      "resourceType": "Renewal",
      "resourceId": "ren-test-001",
      "reference": "/v1/renewals/ren-test-001"
    }
  ]
}
