> ## 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.

# REST API v1 Overview

> External API for integrations using API key authentication.

## REST API v1 Overview

The REST API v1 is the public API designed for external integrations. All endpoints require API key authentication.

> [!NOTE]
>
> Every endpoint on this page includes an interactive **Try it** panel. Enter your API key and channel ID, fill in the parameters, and hit **Send** to test requests live against the Zeplo API.

## Base URL

```
https://zeplo.ai/api/v1
```

## Authentication

All v1 endpoints require these headers:

### 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

## Example request

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

## Available endpoints

### Messages

| Method | Endpoint | Description |
| - | - | - |
| POST | `/v1/messages/template` | Send template message |
| POST | `/v1/messages/reply` | Send reply message |
| GET | `/v1/messages/status/:messageId` | Get message status |
| GET | `/v1/messages/:contactPhone` | Get message history |

### Contacts

| Method | Endpoint | Description |
| - | - | - |
| GET | `/v1/contacts` | List contacts |
| POST | `/v1/contacts` | Create contact |
| PUT | `/v1/contacts/:id` | Update contact |
| DELETE | `/v1/contacts/:id` | Delete contact |
| GET | `/v1/contacts/groups` | List groups |
| POST | `/v1/contacts/groups/:groupId/add` | Add to group |
| POST | `/v1/contacts/groups/:groupId/remove` | Remove from group |

### Templates

| Method | Endpoint | Description |
| - | - | - |
| GET | `/v1/templates` | List templates |

### Campaigns

| Method | Endpoint | Description |
| - | - | - |
| GET | `/v1/campaigns` | List campaigns |

### Account

| Method | Endpoint | Description |
| - | - | - |
| GET | `/v1/account` | Get account info |
| GET | `/v1/account/usage` | Get usage stats |

### Webhooks

| Method | Endpoint | Description |
| - | - | - |
| GET | `/v1/webhooks` | List webhooks |
| POST | `/v1/webhooks` | Create webhook |
| PUT | `/v1/webhooks/:id` | Update webhook |
| DELETE | `/v1/webhooks/:id` | Delete webhook |

## Rate limiting

API keys have configurable rate limits and monthly usage quotas. Check your usage with:

```bash cURL theme={null}
curl https://zeplo.ai/api/v1/account/usage \
  -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.