# Update a webhook

## Body parameters

**`name`**

- Optional
- Type: string
- Example: `"Item type creation/update"`

Unique name for the webhook

**`url`**

- Optional
- Type: string
- Example: `"https://www.example.com/webhook"`

The URL to be called

**`custom_payload`**

- Optional
- Type: string, null
- Example: `'{ "message": "{{event_type}} event triggered on {{entity_type}}!", "entity_id": "{{#entity}}{{id}}{{/entity}}"] }'`

A custom payload

**`headers`**

- Optional
- Type: object
- Example: `{ "X-Foo": "Bar" }`

Additional headers that will be sent

**`events`**

- Optional
- Type: Array\<object\>

<details>
<summary>Show objects format inside array</summary>

**`entity_type`**

- Required
- Type: enum
- Example: `"item"`

The subject of webhook triggering

<details>
<summary>Show enum values</summary>

**`item_type`**

- Optional

**`item`**

- Optional

**`upload`**

- Optional

**`build_trigger`**

- Optional

**`environment`**

- Optional

**`maintenance_mode`**

- Optional

**`sso_user`**

- Optional

**`cda_cache_tags`**

- Optional

</details>

**`event_types`**

- Required
- Type: Array\<string\>

**`filters`**

- Optional
- Type: Array\<object\>, null

<details>
<summary>Show objects format inside array</summary>

**`entity_type`**

- Required
- Type: enum

<details>
<summary>Show enum values</summary>

**`item_type`**

- Optional

**`item`**

- Optional

**`build_trigger`**

- Optional

**`environment`**

- Optional

**`environment_type`**

- Optional

</details>

**`entity_ids`**

- Required
- Type: Array\<string\>

</details>

</details>

**`http_basic_user`**

- Optional
- Type: string, null
- Example: `"user"`

HTTP Basic Authorization username

**`http_basic_password`**

- Optional
- Type: string, null
- Example: `"password"`

HTTP Basic Authorization password

**`enabled`**

- Optional
- Type: boolean

Whether the webhook is enabled and sending events or not

**`payload_api_version`**

- Optional
- Type: string
- Example: `"3"`

Specifies which API version to use when serializing entities in the webhook payload

**`nested_items_in_payload`**

- Optional
- Type: boolean

Whether the you want records present in the payload to show blocks expanded or not

**`auto_retry`**

- Optional
- Type: boolean

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](https://www.datocms.com/docs/content-management-api/resources/webhook.md)

## Examples

###### Example Basic example

Code

```javascript
import { buildClient } from "@datocms/cma-client-node";

async function run() {
  const client = buildClient({ apiToken: process.env.DATOCMS_API_TOKEN });

  const webhookId = "312";

  const webhook = await client.webhooks.update(webhookId, { id: "312" });

  // Check the 'Returned output' tab for the result ☝️
  console.log(webhook);
}

run();
```

Returned output

```javascript
{
  id: "312",
  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,
}
```

## Related content in "Content Management API"

- [Content Management API Overview](https://www.datocms.com/docs/content-management-api.md)
- [Using the JavaScript CMA client](https://www.datocms.com/docs/content-management-api/using-the-nodejs-clients.md)
- [API versioning](https://www.datocms.com/docs/content-management-api/api-versioning.md)
- [Authentication](https://www.datocms.com/docs/content-management-api/authentication.md)
- [Environments](https://www.datocms.com/docs/content-management-api/setting-the-environment.md)
- [Error codes & handling failures (CMA)](https://www.datocms.com/docs/content-management-api/errors.md)
- [Pagination](https://www.datocms.com/docs/content-management-api/pagination.md)
- [Asynchronous jobs](https://www.datocms.com/docs/content-management-api/async-jobs.md)
- [CMA Technical Limits & Rate Limits](https://www.datocms.com/docs/content-management-api/technical-limits.md)
- [Record](https://www.datocms.com/docs/content-management-api/resources/item.md)
- [Scheduled publication](https://www.datocms.com/docs/content-management-api/resources/scheduled-publication.md)
- [Scheduled unpublishing](https://www.datocms.com/docs/content-management-api/resources/scheduled-unpublishing.md)
- [Upload](https://www.datocms.com/docs/content-management-api/resources/upload.md)
- [Site](https://www.datocms.com/docs/content-management-api/resources/site.md)
- [Model/Block model](https://www.datocms.com/docs/content-management-api/resources/item-type.md)
- [Field](https://www.datocms.com/docs/content-management-api/resources/field.md)
- [Fieldset](https://www.datocms.com/docs/content-management-api/resources/fieldset.md)
- [Record version](https://www.datocms.com/docs/content-management-api/resources/item-version.md)
- [Upload permission](https://www.datocms.com/docs/content-management-api/resources/upload-request.md)
- [Upload track](https://www.datocms.com/docs/content-management-api/resources/upload-track.md)
- [Manual tags](https://www.datocms.com/docs/content-management-api/resources/upload-tag.md)
- [Smart tags](https://www.datocms.com/docs/content-management-api/resources/upload-smart-tag.md)
- [Upload Collection](https://www.datocms.com/docs/content-management-api/resources/upload-collection.md)
- [Search Index](https://www.datocms.com/docs/content-management-api/resources/search-index.md)
- [Search result](https://www.datocms.com/docs/content-management-api/resources/search-result.md)
- [Search indexing activity](https://www.datocms.com/docs/content-management-api/resources/search-index-event.md)
- [Environment](https://www.datocms.com/docs/content-management-api/resources/environment.md)
- [Maintenance mode](https://www.datocms.com/docs/content-management-api/resources/maintenance-mode.md)
- [Menu Item](https://www.datocms.com/docs/content-management-api/resources/menu-item.md)
- [Schema Menu Item](https://www.datocms.com/docs/content-management-api/resources/schema-menu-item.md)
- [Uploads filter](https://www.datocms.com/docs/content-management-api/resources/upload-filter.md)
- [Model filter](https://www.datocms.com/docs/content-management-api/resources/item-type-filter.md)
- [Plugin](https://www.datocms.com/docs/content-management-api/resources/plugin.md)
- [Workflow](https://www.datocms.com/docs/content-management-api/resources/workflow.md)
- [Asynchronous job](https://www.datocms.com/docs/content-management-api/resources/job.md)
- [Job result](https://www.datocms.com/docs/content-management-api/resources/job-result.md)
- [Account](https://www.datocms.com/docs/content-management-api/resources/account.md)
- [Organization](https://www.datocms.com/docs/content-management-api/resources/organization.md)
- [Invitation](https://www.datocms.com/docs/content-management-api/resources/site-invitation.md)
- [Collaborator](https://www.datocms.com/docs/content-management-api/resources/user.md)
- [Role](https://www.datocms.com/docs/content-management-api/resources/role.md)
- [API token](https://www.datocms.com/docs/content-management-api/resources/access-token.md)
- [Webhook](https://www.datocms.com/docs/content-management-api/resources/webhook.md)
- [Create a new webhook](https://www.datocms.com/docs/content-management-api/resources/webhook/create.md)
- [Update a webhook](https://www.datocms.com/docs/content-management-api/resources/webhook/update.md)
- [List all webhooks](https://www.datocms.com/docs/content-management-api/resources/webhook/instances.md)
- [Retrieve a webhook](https://www.datocms.com/docs/content-management-api/resources/webhook/self.md)
- [Delete a webhook](https://www.datocms.com/docs/content-management-api/resources/webhook/destroy.md)
- [Webhook call](https://www.datocms.com/docs/content-management-api/resources/webhook-call.md)
- [Build trigger](https://www.datocms.com/docs/content-management-api/resources/build-trigger.md)
- [Deploy activity](https://www.datocms.com/docs/content-management-api/resources/build-event.md)
- [Subscription limit](https://www.datocms.com/docs/content-management-api/resources/subscription-limit.md)
- [Subscription feature](https://www.datocms.com/docs/content-management-api/resources/subscription-feature.md)
- [SSO Settings](https://www.datocms.com/docs/content-management-api/resources/sso-settings.md)
- [SSO User](https://www.datocms.com/docs/content-management-api/resources/sso-user.md)
- [SSO Group](https://www.datocms.com/docs/content-management-api/resources/sso-group.md)
- [White-label settings](https://www.datocms.com/docs/content-management-api/resources/white-label-settings.md)
- [Audit log event](https://www.datocms.com/docs/content-management-api/resources/audit-log-event.md)