{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/WebhookRequest",
  "title": "WebhookRequest",
  "type": "object",
  "properties": {
    "resource": {
      "description": "A resource ID to subscribe to. Many Asana resources are valid to create webhooks on, but higher-level resources require filters.",
      "type": "string",
      "example": "12345"
    },
    "target": {
      "description": "The URL to receive the HTTP POST. The full URL will be used to deliver events from this webhook (including parameters) which allows encoding of application-specific state when the webhook is created.",
      "type": "string",
      "format": "uri",
      "example": "https://example.com/receive-webhook/7654?app_specific_param=app_specific_value"
    },
    "filters": {
      "type": "array",
      "description": "An array of WebhookFilter objects to specify a whitelist of filters to apply to events from this webhook. If a webhook event passes any of the filters the event will be delivered; otherwise no event will be sent to the receiving server.",
      "items": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WebhookFilter"
          },
          {
            "description": "A set of filters to specify a whitelist for what types of events will be delivered."
          },
          {
            "type": "object"
          }
        ]
      }
    }
  },
  "required": [
    "resource",
    "target"
  ]
}