{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/xrpay/main/json-schema/xrpay-webhook-endpoint-create-schema.json",
  "title": "WebhookEndpointCreate",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/xrpay-openapi.yml#/components/schemas/WebhookEndpointCreate",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "url",
    "events"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 200
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "A public HTTPS endpoint."
    },
    "events": {
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "items": {
        "enum": [
          "payment.created",
          "payment.processing",
          "payment.confirmed",
          "payment.failed",
          "payment.canceled",
          "payment.refunded",
          "payment.swept",
          "refund.created",
          "refund.completed",
          "refund.failed",
          "payout.created",
          "payout.processing",
          "payout.action_required",
          "payout.partially_completed",
          "payout.completed",
          "payout.failed",
          "payroll.run.created",
          "payroll.run.approved",
          "payroll.run.processing",
          "payroll.run.action_required",
          "payroll.run.partially_completed",
          "payroll.run.completed",
          "payroll.run.failed",
          "payroll.payment.completed",
          "payroll.payment.failed",
          "payroll.payment.action_required",
          "checkout.session.completed",
          "checkout.session.expired",
          "escrow.created",
          "escrow.released",
          "escrow.cancelled",
          "invoice.created",
          "invoice.sent",
          "invoice.paid",
          "b2b.order.created",
          "b2b.order.paid",
          "b2b.order.shipped"
        ]
      }
    }
  }
}