DocsAPI referenceWebhooks
Create the webhook endpoint
Every job of the account sends its end here while the endpoint is enabled. An account has one endpoint.
POST /v1/webhook-endpoints
Needs an API key: Authorization: Bearer $VIDEXO_API_KEY.
Body CreateWebhookEndpointRequest
| Name | Type | Description |
|---|---|---|
url required | string, URL, up to 2,048 characters | A public https URL on the default port. |
enabled | boolean | Default true. |
Request
bash
curl -X POST "$VIDEXO_API_URL/v1/webhook-endpoints" \
-H "Authorization: Bearer $VIDEXO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/hooks/videxo"
}'Copy failed. The text is selected; copy it with your keyboard.
JavaScript
const response = await fetch(`${process.env.VIDEXO_API_URL}/v1/webhook-endpoints`, {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.VIDEXO_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"url": "https://example.com/hooks/videxo"
}),
});
const endpoint = await response.json();Copy failed. The text is selected; copy it with your keyboard.
Response
201 JSON
{
"id": "we_4n8c2kq0x7m1v5z3b9r6t0wa",
"url": "https://example.com/hooks/videxo",
"enabled": true,
"created_at": "2026-11-04T09:00:00.000Z",
"updated_at": "2026-11-04T09:00:00.000Z"
}Copy failed. The text is selected; copy it with your keyboard.
Responses
| Status | Body | When |
|---|---|---|
| 201 | WebhookEndpoint | The endpoint. |
| 400 | Problem | invalid_request |
| 401 | Problem | authentication_failed (missing_api_key, invalid_api_key, api_key_revoked, api_key_expired) |
| 403 | Problem | permission_denied (token_scope): a client token cannot call this route |
| 409 | Problem | conflict (webhook_endpoint_exists) |
| 429 | Problem | rate_limited, with Retry-After in seconds |