{
  "type": "object",
  "properties": {
    "webhookId": {
      "type": "string"
    },
    "endpoint": {
      "type": "string",
      "format": "uri",
      "pattern": "^https://"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "ArchiveRequested",
          "ArchiveAccepted",
          "ArchiveRejected",
          "EvidenceGenerationRequested",
          "EvidenceGenerated",
          "EvidenceGenerationFailed",
          "VerificationRequested",
          "VerificationCompleted",
          "RenewalDue",
          "RenewalStarted",
          "RenewalCompleted",
          "RenewalFailed",
          "ExportRequested",
          "ExportCompleted",
          "TransferStarted",
          "TransferCompleted",
          "DispositionRequested",
          "DispositionApproved",
          "DispositionCompleted"
        ]
      },
      "minItems": 1,
      "uniqueItems": true
    },
    "signingKeyId": {
      "type": "string"
    },
    "state": {
      "type": "string",
      "enum": [
        "PENDING_VERIFICATION",
        "ACTIVE",
        "SUSPENDED"
      ]
    }
  },
  "required": [
    "endpoint",
    "events",
    "signingKeyId"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "webhookId": "wh-test-001",
      "endpoint": "https://receiver.example.invalid/events",
      "events": [
        "EvidenceGenerated"
      ],
      "signingKeyId": "key-test-001",
      "state": "PENDING_VERIFICATION"
    }
  ]
}
