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

# API Reference Overview

> Explore all available REST API endpoints organized by resource.

## API Reference

The Zeplo API is organized around REST. All endpoints accept and return JSON. The API is split into two layers:

## Internal API

Base URL: `https://zeplo.ai/api`

Used by the dashboard frontend. Requires **session-based authentication**.

> [!NOTE]
>
> Most internal API endpoints require an authenticated session (cookie). For external integrations, use the REST API v1.

## REST API v1 (External)

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

The public API for external integrations. Requires **API key authentication** via the `x-api-key` header.

### Authentication

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

## Resources

| Resource | Endpoints | Description |
| - | - | - |
| [Messages](https://docs.zeplo.ai/docs/api-reference/messages/send-message.md) | 4 | Send and retrieve messages |
| [Conversations](https://docs.zeplo.ai/docs/api-reference/conversations/list-conversations.md) | 5 | Manage conversations |
| [Contacts](https://docs.zeplo.ai/docs/api-reference/contacts/list-contacts.md) | 6 | CRUD contacts and groups |
| [Campaigns](https://docs.zeplo.ai/docs/api-reference/campaigns/list-campaigns.md) | 7 | Bulk messaging campaigns |
| [Templates](https://docs.zeplo.ai/docs/api-reference/templates/list-templates.md) | 6 | WhatsApp message templates |
| [Automations](https://docs.zeplo.ai/docs/api-reference/automations/list-automations.md) | 9 | Workflow automations |
| [Channels](https://docs.zeplo.ai/docs/api-reference/channels/list-channels.md) | 8 | WhatsApp channel management |
| [Webhooks](https://docs.zeplo.ai/docs/api-reference/webhooks/list-webhooks.md) | 5 | Webhook configuration |
| [Media](https://docs.zeplo.ai/docs/api-reference/media/upload-media.md) | 3 | File upload and retrieval |
| [Analytics](https://docs.zeplo.ai/docs/api-reference/analytics/message-analytics.md) | 3 | Reporting and metrics |
| [Teams](https://docs.zeplo.ai/docs/api-reference/teams/list-members.md) | 5 | Team member management |
| [Groups](https://docs.zeplo.ai/docs/api-reference/groups/list-groups.md) | 5 | Contact group management |
| [Subscriptions](https://docs.zeplo.ai/docs/api-reference/subscriptions/list-plans.md) | 6 | Plans and subscription management |
| [Payments](https://docs.zeplo.ai/docs/api-reference/payments/initiate-payment.md) | 4 | Payment processing |
| [Notifications](https://docs.zeplo.ai/docs/api-reference/notifications/list-notifications.md) | 4 | Notification management |
| [Settings](https://docs.zeplo.ai/docs/api-reference/settings/platform-settings.md) | 6 | Platform configuration |
| [Support](https://docs.zeplo.ai/docs/api-reference/support/list-tickets.md) | 4 | Support ticket system |
| [Knowledge Base](https://docs.zeplo.ai/docs/api-reference/knowledge-base/sites.md) | 4 | AI training and widget |
| [REST API v1](https://docs.zeplo.ai/docs/api-reference/rest-api-v1/overview.md) | 7 | External API endpoints |

## Pagination

List endpoints support cursor-based pagination:

| Parameter | Type | Default | Description |
| - | - | - | - |
| `page` | integer | 1 | Page number |
| `limit` | integer | 20 | Items per page (max: 100) |
| `search` | string | - | Search filter |
| `sortBy` | string | `created_at` | Sort field |
| `sortOrder` | string | `desc` | `asc` or `desc` |

### Paginated response format

```json theme={null}
{
  "data": [...],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 150,
    "totalPages": 8
  }
}
```


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