Skip to main content

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​

ParameterLocationTypeRequiredDescription and constraints
idpathstringYes

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.

FieldTypeRequiredDescription and constraints
body.urlstringNoMaximum length: 2048. Format: uri.
body.descriptionstringNoMaximum length: 255.
body.eventsarray of "render.completed" / "render.failed"NoMinimum 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.

FieldTypeRequiredDescription and constraints
response.idstringYes
response.urlstringYes
response.descriptionstringNo
response.eventsarray of "render.completed" / "render.failed"Yes
response.status"active" / "disabled"Yes
response.secretstringNoReturned by creation and single-webhook lookup; omitted from list/update responses.
response.consecutiveFailuresintegerNo
response.lastSuccessAtstring OR nullNoAt least one listed alternative must match.
response.lastFailureAtstring OR nullNoAt least one listed alternative must match.
response.lastFailureReasonstring OR nullNoAt least one listed alternative must match.
response.createdAtstringNo
response.updatedAtstringNo

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.

FieldTypeRequiredDescription and constraints
WebhookUpdate.urlstringNoMaximum length: 2048. Format: uri.
WebhookUpdate.descriptionstringNoMaximum length: 255.
WebhookUpdate.eventsarray of "render.completed" / "render.failed"NoMinimum 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.

FieldTypeRequiredDescription and constraints
Webhook.idstringYes
Webhook.urlstringYes
Webhook.descriptionstringNo
Webhook.eventsarray of "render.completed" / "render.failed"Yes
Webhook.status"active" / "disabled"Yes
Webhook.secretstringNoReturned by creation and single-webhook lookup; omitted from list/update responses.
Webhook.consecutiveFailuresintegerNo
Webhook.lastSuccessAtstring OR nullNoAt least one listed alternative must match.
Webhook.lastFailureAtstring OR nullNoAt least one listed alternative must match.
Webhook.lastFailureReasonstring OR nullNoAt least one listed alternative must match.
Webhook.createdAtstringNo
Webhook.updatedAtstringNo

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.