Update webhook
PUT /api/webhooks/{id}
Authentication
- Option 1:
x-api-key: YOUR_API_KEY(header). API key for authentication. Create one in your dashboard. - Option 2:
Authorization: Bearer YOUR_ACCESS_TOKEN. Dashboard JWT in Authorization: Bearer <token>, only on operations that explicitly list this scheme. Prefer x-api-key for REST integrations. OAuth for hosted MCP is a separate connection at https://mcp.zvid.io/mcp.
Create API keys at app.zvid.io/api-keys. Keep credentials on your server.
Parameters
| Parameter | Location | Type | Required | Description and constraints |
|---|---|---|---|---|
id | path | string | Yes |
Request
The shell examples read credentials from ZVID_API_KEY (or ZVID_ACCESS_TOKEN for Bearer authentication). Set that variable in your environment. Replace sample project, template, job, and asset identifiers with values from your own account.
A request body is required.
application/json
Minimum properties: 1. Unknown properties are rejected.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
body.url | string | No | Maximum length: 2048. Format: uri. |
body.description | string | No | Maximum length: 255. |
body.events | array of "render.completed" / "render.failed" | No | Minimum items: 1. Items must be unique. |
body.status | "active" / "disabled" | No |
Nested field: body.events
Minimum items: 1. Items must be unique.
Array item: body.events[]
Type: "render.completed" / "render.failed".
Request example: disable
curl --request PUT 'https://api.zvid.io/api/webhooks/YOUR_ID' \
--header "x-api-key: $ZVID_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"status": "disabled"
}'
Responses
HTTP 200
Updated webhook
Content type: application/json.
Required properties: id, url, events, status.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
response.id | string | Yes | |
response.url | string | Yes | |
response.description | string | No | |
response.events | array of "render.completed" / "render.failed" | Yes | |
response.status | "active" / "disabled" | Yes | |
response.secret | string | No | Returned by creation and single-webhook lookup; omitted from list/update responses. |
response.consecutiveFailures | integer | No | |
response.lastSuccessAt | string OR null | No | At least one listed alternative must match. |
response.lastFailureAt | string OR null | No | At least one listed alternative must match. |
response.lastFailureReason | string OR null | No | At least one listed alternative must match. |
response.createdAt | string | No | |
response.updatedAt | string | No |
Nested field: response.events
Array item: response.events[]
Type: "render.completed" / "render.failed".
Nested field: response.lastSuccessAt
At least one listed alternative must match.
anyOf alternative 1
Type: string.
anyOf alternative 2
Type: null.
Nested field: response.lastFailureAt
At least one listed alternative must match.
anyOf alternative 1
Type: string.
anyOf alternative 2
Type: null.
Nested field: response.lastFailureReason
At least one listed alternative must match.
anyOf alternative 1
Type: string.
anyOf alternative 2
Type: null.
Representative successful response response
{
"id": "whk_abcdefghijklmnopqrst",
"url": "https://example.com/hooks/zvid",
"events": [
"render.completed"
],
"status": "disabled"
}
HTTP 404
Not found No response body is defined.
Schema definitions
The following definitions describe the fields referenced above. Expand a definition to inspect its complete contract.
WebhookUpdate
Minimum properties: 1. Unknown properties are rejected.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
WebhookUpdate.url | string | No | Maximum length: 2048. Format: uri. |
WebhookUpdate.description | string | No | Maximum length: 255. |
WebhookUpdate.events | array of "render.completed" / "render.failed" | No | Minimum items: 1. Items must be unique. |
WebhookUpdate.status | "active" / "disabled" | No |
Nested field: WebhookUpdate.events
Minimum items: 1. Items must be unique.
Array item: WebhookUpdate.events[]
Type: "render.completed" / "render.failed".
Webhook
Required properties: id, url, events, status.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
Webhook.id | string | Yes | |
Webhook.url | string | Yes | |
Webhook.description | string | No | |
Webhook.events | array of "render.completed" / "render.failed" | Yes | |
Webhook.status | "active" / "disabled" | Yes | |
Webhook.secret | string | No | Returned by creation and single-webhook lookup; omitted from list/update responses. |
Webhook.consecutiveFailures | integer | No | |
Webhook.lastSuccessAt | string OR null | No | At least one listed alternative must match. |
Webhook.lastFailureAt | string OR null | No | At least one listed alternative must match. |
Webhook.lastFailureReason | string OR null | No | At least one listed alternative must match. |
Webhook.createdAt | string | No | |
Webhook.updatedAt | string | No |
Nested field: Webhook.events
Array item: Webhook.events[]
Type: "render.completed" / "render.failed".
Nested field: Webhook.lastSuccessAt
At least one listed alternative must match.
anyOf alternative 1
Type: string.
anyOf alternative 2
Type: null.
Nested field: Webhook.lastFailureAt
At least one listed alternative must match.
anyOf alternative 1
Type: string.
anyOf alternative 2
Type: null.
Nested field: Webhook.lastFailureReason
At least one listed alternative must match.
anyOf alternative 1
Type: string.
anyOf alternative 2
Type: null.