Content Management API > Webhook
Update a webhook
Body parameters
type string Required
Must be exactly "webhook"
.
attributes.name string Optional
Unique name for the webhook
Example:
"Item type creation/update"
attributes.url string Optional
The URL to be called
Example:
"https://www.example.com/webhook"
attributes.custom_payload string, null Optional
A custom payload
Example:
'{ "message": "{{event_type}} event triggered on {{entity_type}}!", "entity_id": "{{#entity}}{{id}}{{/entity}}"] }'
attributes.headers object Optional
Additional headers that will be sent
Example:
{ "X-Foo": "Bar" }
attributes.events Optional
Type:
Array<object>
entity_type enum Required
The subject of webhook triggering
Example:
"item"
item_type Optional
item Optional
upload Optional
build_trigger Optional
environment Optional
maintenance_mode Optional
sso_user Optional
cda_cache_tags Optional
event_types Required
Type:
Array<string>
filters Optional
Type:
Array<object>, null
entity_type enum Required
item_type Optional
item Optional
build_trigger Optional
environment Optional
environment_type Optional
entity_ids Required
Type:
Array<string>
attributes.http_basic_user string, null Optional
HTTP Basic Authorization username
Example:
"user"
attributes.http_basic_password string, null Optional
HTTP Basic Authorization password
Example:
"password"
attributes.enabled boolean Optional
Whether the webhook is enabled and sending events or not
attributes.payload_api_version string Optional
Specifies which API version to use when serializing entities in the webhook payload
Example:
"3"
attributes.nested_items_in_payload boolean Optional
Whether the you want records present in the payload to show blocks expanded or not
attributes.auto_retry boolean Optional
If enabled, the system will attempt to retry the call several times when the webhook operation fails due to timeouts or errors.
Returns
Returns a resource object of type webhook.
Examples
PUT https://site-api.datocms.com/webhooks/:webhook_id HTTP/1.1Authorization: Bearer YOUR-API-TOKENAccept: application/jsonX-Api-Version: 3Content-Type: application/vnd.api+json
{ "data": { "type": "webhook", "id": "312", "attributes": {} }}
curl -g 'https://site-api.datocms.com/webhooks/:webhook_id' \ -X PUT \ -H "Authorization: Bearer YOUR-API-TOKEN" \ -H "Accept: application/json" \ -H "X-Api-Version: 3" \ -H "Content-Type: application/vnd.api+json" \ --data-binary '{"data":{"type":"webhook","id":"312","attributes":{}}}'
await fetch("https://site-api.datocms.com/webhooks/:webhook_id", { method: "PUT", headers: { Authorization: "Bearer YOUR-API-TOKEN", Accept: "application/json", "X-Api-Version": "3", "Content-Type": "application/vnd.api+json", }, body: JSON.stringify({ data: { type: "webhook", id: "312", attributes: {} }, }),});
HTTP/1.1 200 OKContent-Type: application/jsonCache-Control: cache-control: max-age=0, private, must-revalidateX-RateLimit-Limit: 30X-RateLimit-Remaining: 28
{ "data": { "type": "webhook", "id": "312", "attributes": { "name": "Item type creation/update", "url": "https://www.example.com/webhook", "enabled": true, "headers": { "X-Foo": "Bar" }, "events": [ { "entity_type": "item", "event_types": [ "update" ] } ], "http_basic_user": "user", "http_basic_password": "password", "custom_payload": "{ \"message\": \"{{event_type}} event triggered on {{entity_type}}!\", \"entity_id\": \"{{#entity}}{{id}}{{/entity}}\"] }", "payload_api_version": "3", "nested_items_in_payload": true, "auto_retry": true } }}