> ## Documentation Index
> Fetch the complete documentation index at: https://docs.deutero.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# client.webhooks

> Manage organization webhook endpoints, signing secrets and the delivery log.

These methods manage endpoints. To verify the deliveries themselves, see [`deutero.webhooks`](/reference/webhook-verification) and the [Receiving webhooks](/guides/receiving-webhooks) guide.

## list\_event\_types()

```python theme={null}
client.webhooks.list_event_types() -> WebhookEventTypeListOut
```

Every event type you can subscribe to, with the fields its payload carries, plus the envelope format and signature headers.

**Returns** [`WebhookEventTypeListOut`](/reference/models#webhookeventtypelistout).

## list()

```python theme={null}
client.webhooks.list() -> WebhookListOut
```

Every endpoint in your organization, newest first. Secrets are omitted.

**Returns** [`WebhookListOut`](/reference/models#webhooklistout).

## create()

```python theme={null}
client.webhooks.create(*, label: str, url: str, events: list[str] | None = None, enabled: bool | None = None) -> WebhookCreatedOut
```

Subscribe a URL to organization events.

<Warning>
  The response carries the signing secret. This is the only time it's shown, so store it before doing anything else.
</Warning>

<ParamField body="label" type="str" required>
  How you'll recognize this endpoint in the list.
</ParamField>

<ParamField body="url" type="str" required>
  A publicly reachable http(s) URL that receives the POSTs.
</ParamField>

<ParamField body="events" type="list[str]">
  Event types to subscribe to. Omitted or empty subscribes to every event.
</ParamField>

<ParamField body="enabled" type="bool" default="True">
  Whether deliveries start immediately.
</ParamField>

**Returns** [`WebhookCreatedOut`](/reference/models#webhookcreatedout), with `webhook` and `signing_secret`.

## update()

```python theme={null}
client.webhooks.update(webhook_id, *, label=None, url=None, events=None, enabled=None) -> WebhookOut
```

Update an endpoint. Only the arguments you pass change; `events` replaces the whole list. Set `enabled=False` to pause deliveries.

**Returns** [`WebhookOut`](/reference/models#webhookout).

## delete()

```python theme={null}
client.webhooks.delete(webhook_id) -> WebhookDeleteOut
```

Permanently delete an endpoint, its secret and its delivery log. To pause deliveries instead, use [`update()`](#update) with `enabled=False`.

**Returns** [`WebhookDeleteOut`](/reference/models#webhookdeleteout).

## rotate\_secret()

```python theme={null}
client.webhooks.rotate_secret(webhook_id) -> WebhookSecretOut
```

Mint a new signing secret. **The previous secret stops verifying immediately**, so deploy the new one to your receiver straight away.

**Returns** [`WebhookSecretOut`](/reference/models#webhooksecretout).

## list\_deliveries()

```python theme={null}
client.webhooks.list_deliveries(
    webhook_id,
    *,
    event_type: str | None = None,
    success: bool | None = None,
    external_participant_id: str | None = None,
    limit: int | None = None,
    offset: int | None = None,
) -> WebhookDeliveryListOut
```

An endpoint's delivery log, newest first.

<ParamField body="event_type" type="str">
  Only deliveries of this event type.
</ParamField>

<ParamField body="success" type="bool">
  `True` for only successes, `False` for only failures.
</ParamField>

<ParamField body="external_participant_id" type="str">
  Only deliveries about this participant ID of yours.
</ParamField>

<ParamField body="limit" type="int" default="50">
  Page size.
</ParamField>

<ParamField body="offset" type="int">
  Page offset.
</ParamField>

**Returns** [`WebhookDeliveryListOut`](/reference/models#webhookdeliverylistout).


## Related topics

- [Receiving webhooks](/guides/receiving-webhooks.md)
- [deutero.webhooks](/reference/webhook-verification.md)
- [client.graph](/reference/graph.md)
- [Exceptions](/reference/exceptions.md)
- [client.credits](/reference/credits.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.