---
updatedAt: 2026-09-10T15:50:00.000Z
---

Fetch the complete documentation index at: https://docs.synthesia.io/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Create a Webhook

Use the Create a webhook endpoint to create a new event subscription.

# OpenAPI definition

```json
{
  "info": {
    "description": "Synthesia public API endpoints",
    "title": "Synthesia API",
    "version": "2.0.0"
  },
  "servers": [
    {
      "url": "https://api.synthesia.io",
      "description": "Synthesia public API URL."
    }
  ],
  "paths": {
    "/v2/webhooks": {
      "post": {
        "summary": "Create a Webhook",
        "description": "Use the Create a webhook endpoint to create a new event subscription.",
        "tags": [
          "Webhooks"
        ],
        "security": [
          {
            "api_key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWebhookRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Webhook successfully created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected Server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "openapi": "3.0.2",
  "components": {
    "schemas": {
      "Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          },
          "context": {
            "type": "string"
          }
        },
        "required": [
          "error"
        ]
      },
      "WebhookResponse": {
        "type": "object",
        "properties": {
          "createdAt": {},
          "id": {
            "type": "string"
          },
          "secret": {
            "type": "string"
          },
          "status": {
            "readOnly": true
          },
          "lastUpdatedAt": {},
          "url": {
            "type": "string",
            "format": "url"
          }
        }
      },
      "CreateWebhookRequest": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "description": "[The webhook events](https://docs.synthesia.io/reference/webhook-events) for which notifications should be sent.",
            "items": {
              "type": "string",
              "enum": [
                "video.completed",
                "video.failed"
              ]
            }
          },
          "url": {
            "type": "string",
            "format": "url",
            "pattern": "^(?:(?:(?:https?|ftp):)?//)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$",
            "description": "The URL to send notifications to"
          }
        },
        "required": [
          "events",
          "url"
        ]
      }
    },
    "securitySchemes": {
      "api_key": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization"
      }
    }
  }
}
```

# Sibling pages

* [Delete a webhook](https://docs.synthesia.io/reference/delete-a-webhook.md)
* [Retrieve a webhook](https://docs.synthesia.io/reference/retrieve-a-webhook.md)
* [List webhooks](https://docs.synthesia.io/reference/list-webhooks.md)