{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/videogen-io/json-schema/videogen-io-webhook-endpoint-list-response-schema.json",
  "title": "WebhookEndpointListResponse",
  "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/WebhookEndpointListResponse",
  "type": "object",
  "required": [
    "endpoints",
    "hasMore",
    "nextCursor"
  ],
  "properties": {
    "endpoints": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/WebhookEndpoint"
      }
    },
    "hasMore": {
      "type": "boolean",
      "description": "When true, there are more endpoints available. Pass `nextCursor` as the `cursor` query param to fetch the next page."
    },
    "nextCursor": {
      "type": [
        "string",
        "null"
      ],
      "description": "Opaque cursor to fetch the next page. `null` when `hasMore` is false."
    }
  },
  "$defs": {
    "WebhookEndpoint": {
      "type": "object",
      "required": [
        "endpointId",
        "url",
        "events",
        "createdAt"
      ],
      "properties": {
        "endpointId": {
          "type": "string",
          "description": "Webhook endpoint id (e.g. `ep_...`)."
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "events": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/WebhookEventName"
          }
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "createdAt": {
          "type": "integer",
          "description": "Seconds since epoch (Unix timestamp) when the endpoint was created."
        },
        "signingSecret": {
          "type": "string",
          "description": "HMAC secret for verifying [Standard Webhooks](https://www.standardwebhooks.com/) signatures. Only returned once on create; store it securely."
        },
        "signingSecretLast4": {
          "type": "string",
          "description": "Last four characters of the signing secret, for display purposes."
        }
      }
    },
    "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"
      ]
    }
  }
}