{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/videogen-io/json-schema/videogen-io-create-webhook-endpoint-request-schema.json",
  "title": "CreateWebhookEndpointRequest",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/videogen-io-webhooks-api-openapi.yml#/components/schemas/CreateWebhookEndpointRequest",
  "type": "object",
  "required": [
    "url",
    "events"
  ],
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "HTTPS URL that will receive webhook POST requests."
    },
    "description": {
      "type": [
        "string",
        "null"
      ]
    },
    "events": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/WebhookEventName"
      },
      "description": "Webhook event names to subscribe to. Must contain at least one event."
    }
  },
  "$defs": {
    "WebhookEventName": {
      "type": "string",
      "description": "All webhook event types. Use when creating or listing webhook endpoints.",
      "enum": [
        "tool_execution.succeeded",
        "tool_execution.failed",
        "tool_execution.cancelled",
        "workflow_run.succeeded",
        "workflow_run.failed",
        "workflow_run.cancelled",
        "project_export.succeeded",
        "project_export.failed",
        "project_export.cancelled",
        "assistant_message.succeeded",
        "assistant_message.failed",
        "assistant_message.cancelled",
        "file.upload.completed",
        "file.upload.failed",
        "file.playback_ready",
        "file.download_ready",
        "file.analysis_completed",
        "file.analysis_failed"
      ]
    }
  }
}