{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://ver.cy/schemas/dimension/1.0/event.schema.json",
  "title": "Vercy immutable event",
  "type": "object",
  "required": ["recordType", "schemaVersion", "eventId", "eventType", "subjectIds", "occurredAt", "recordedAt", "actorId", "payload", "provenance"],
  "additionalProperties": false,
  "properties": {
    "recordType": {"const": "event"},
    "schemaVersion": {"const": "1.0.0"},
    "eventId": {"type": "string", "minLength": 3},
    "eventType": {"type": "string", "minLength": 1},
    "subjectIds": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "string"}},
    "occurredAt": {"type": "string", "format": "date-time"},
    "recordedAt": {"type": "string", "format": "date-time"},
    "actorId": {"type": "string", "minLength": 1},
    "payload": {"type": "object"},
    "provenance": {"type": "object"},
    "accessClass": {"type": "string"}
  }
}
