{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://receiz.com/standards/receiz.webhook-event.schema.v1.json",
  "title": "Receiz Webhook Event v1",
  "description": "Signed event envelope for developer webhooks. Webhook delivery is publication of verified additions or projections; it is not stronger than the underlying proof, append, ownership, or settlement primitive.",
  "type": "object",
  "required": ["schema", "id", "type", "createdAt", "data"],
  "properties": {
    "schema": {
      "const": "receiz.webhook_event.v1"
    },
    "id": {
      "type": "string",
      "minLength": 8
    },
    "type": {
      "type": "string",
      "enum": [
        "checkout.session.created",
        "checkout.session.completed",
        "payment.created",
        "payment.settled",
        "payment.failed",
        "payment.refunded",
        "order.created",
        "reward.claimed",
        "asset.created",
        "asset.transferred",
        "proof.appended",
        "sports_card.scored",
        "event_proof.created",
        "wallet.ledger_entry",
        "note.claimed",
        "ownership.transferred",
        "market.trade",
        "profile.asset.visible_changed",
        "app_state.published",
        "world.campaign.sent"
      ]
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "data": {
      "type": "object",
      "additionalProperties": true
    },
    "actor": {
      "type": ["object", "null"],
      "additionalProperties": true
    },
    "signature": {
      "type": ["object", "null"],
      "description": "Optional detached signature metadata. Transport headers may carry the live delivery signature.",
      "additionalProperties": true
    }
  },
  "additionalProperties": false
}
