{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api-evangelist.github.io/hatchet/json-schema/hatchet-v1-webhook-schema.json",
  "title": "V1Webhook",
  "description": "Hatchet V1Webhook entity, derived from the Hatchet OpenAPI spec.",
  "properties": {
    "metadata": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "the id of this resource, in UUID format",
          "example": "bb214807-246e-43a5-a25d-41761d1cff9e",
          "minLength": 0,
          "maxLength": 36
        },
        "createdAt": {
          "type": "string",
          "description": "the time that this resource was created",
          "format": "date-time",
          "example": "2022-12-13T15:06:48.888358-05:00"
        },
        "updatedAt": {
          "type": "string",
          "description": "the time that this resource was last updated",
          "format": "date-time",
          "example": "2022-12-13T15:06:48.888358-05:00"
        }
      },
      "required": [
        "id",
        "createdAt",
        "updatedAt"
      ]
    },
    "tenantId": {
      "type": "string",
      "description": "The ID of the tenant associated with this webhook."
    },
    "name": {
      "type": "string",
      "description": "The name of the webhook"
    },
    "sourceName": {
      "$ref": "#/components/schemas/V1WebhookSourceName",
      "description": "The name of the source for this webhook"
    },
    "eventKeyExpression": {
      "type": "string",
      "description": "The CEL expression to use for the event key. This is used to create the event key from the webhook payload."
    },
    "scopeExpression": {
      "type": "string",
      "description": "The CEL expression to use for the scope. This is used to filter the correct workflow to trigger."
    },
    "staticPayload": {
      "type": "object",
      "description": "The static payload to use for the webhook. This is used to send a static payload with the webhook."
    },
    "authType": {
      "$ref": "#/components/schemas/V1WebhookAuthType",
      "description": "The type of authentication to use for the webhook"
    },
    "returnEventAsResponsePayload": {
      "type": "boolean",
      "description": "Whether to return the triggered event as the response payload when this webhook is triggered"
    }
  },
  "required": [
    "metadata",
    "tenantId",
    "name",
    "sourceName",
    "eventKeyExpression",
    "authType"
  ]
}