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

# GET/POST Webhooks (v1)

> Manage webhooks with interactive testing.

## List webhooks

`GET /api/v1/webhooks`

Manage webhook configurations.

### Headers

**x-api-key** `string` *required*

Your API key

**x-api-secret** `string` *required*

Your API secret key

**x-channel-id** `string` *required*

WhatsApp channel ID

```bash cURL theme={null}
curl https://zeplo.ai/api/v1/webhooks \
  -H "x-api-key: zeplo_ak_abc123..." \
  -H "x-api-secret: zeplo_as_abc123..." \
  -H "x-channel-id: 647015955153740"
```

***

## Create webhook

`POST /api/v1/webhooks`

### Body parameters

**url** `string` *required*

Webhook URL to receive events.

**events** `string[]` *required*

Array of event types to subscribe to (e.g. `message.received`, `message.delivered`, `message.read`).

```json theme={null}
{
  "url": "https://your-app.com/webhook",
  "events": ["message.received", "message.delivered", "message.read"]
}
```

```bash cURL theme={null}
curl -X POST https://zeplo.ai/api/v1/webhooks \
  -H "x-api-key: zeplo_ak_abc123..." \
  -H "x-api-secret: zeplo_as_abc123..." \
  -H "x-channel-id: 647015955153740" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-app.com/webhook",
    "events": ["message.received", "message.delivered", "message.read"]
  }'
```

***

## Update webhook

`PUT /api/v1/webhooks/:id`

**id** `integer` *required*

Webhook ID.

### Body parameters

**url** `string`

Updated webhook URL.

**events** `string[]`

Updated array of event types.

```json theme={null}
{
  "url": "https://your-app.com/webhook-v2",
  "events": ["message.received"]
}
```

```bash cURL theme={null}
curl -X PUT https://zeplo.ai/api/v1/webhooks/1 \
  -H "x-api-key: zeplo_ak_abc123..." \
  -H "x-api-secret: zeplo_as_abc123..." \
  -H "x-channel-id: 647015955153740" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-app.com/webhook-v2",
    "events": ["message.received"]
  }'
```

***

## Delete webhook

`DELETE /api/v1/webhooks/:id`

**id** `integer` *required*

Webhook ID.

```bash cURL theme={null}
curl -X DELETE https://zeplo.ai/api/v1/webhooks/1 \
  -H "x-api-key: zeplo_ak_abc123..." \
  -H "x-api-secret: zeplo_as_abc123..." \
  -H "x-channel-id: 647015955153740"
```


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