# Getting started

> Docs index: https://wahasend.com/llms.txt · Everything in one file: https://wahasend.com/docs.md · API base URL: https://app.wahasend.com/api/v1

WahaSend sends and receives WhatsApp messages from **your own WhatsApp number**. The API is plain HTTPS and JSON. Five minutes from zero to a first message:

1. [Create an account](https://wahasend.com/register) and pick a product. It starts with a free trial, and every product comes with an API key ([which routes each one reaches](https://wahasend.com/docs/authentication.md#auth-products)).
2. Link your WhatsApp number: dashboard → **WhatsApp**, scan the QR code with your phone (or use the pairing code on a phone).
3. Get your key: dashboard → **For developers** → **Generate key** (with Connect: **Connect** page). It is shown once; store it like a password.
4. Send your first message:

```bash
curl https://app.wahasend.com/api/v1/alert/send \
  -H "X-API-Key: $WAHASEND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phone": "+22212345678", "message": "Hello from WahaSend"}'
```

Answer (201):

```json
{
  "success": true,
  "messageId": "4f0c6a1e-2b7d-4c1a-9e35-7d8f2a6b1c90",
  "status": "queued",
  "priority": "normal"
}
```

The message goes out a few seconds later with a typing indicator. Follow it with `GET /messages` or [webhook events](https://wahasend.com/docs/webhooks.md).

<a id="base-url"></a>

### Base URL and format

- Every path below starts with `https://app.wahasend.com/api/v1`.
- Send JSON with `Content-Type: application/json` (10 MB max per request). Answers are JSON.
- Success answers carry `"success": true` (the [WhatsApp number](https://wahasend.com/docs/api/numbers.md) routes don't, for now). Errors always use [one envelope](https://wahasend.com/docs/errors.md).
- Times are ISO 8601 in UTC (`2026-09-30T10:30:12.000Z`). Ids are UUIDs.
- Every answer has an `X-Request-Id` header: quote it when you write to support.

<a id="products"></a>

### What each product unlocks

Each endpoint below says which feature it needs. An account owns any mix of products and gets the features of all of them. Calling something your products don't include answers 403 `PRODUCT_REQUIRED` with `details.products`. Notify, Assistant and Shop let you add as many WhatsApp numbers as you need; Developer and Connect include 3, and more are extra numbers (see [WhatsApp numbers](https://wahasend.com/docs/api/numbers.md)).

| Product | Features | API key |
| --- | --- | --- |
| Notify | `send, batch, campaigns, reminders, api` | yes |
| Assistant | `send, bots, knowledge, api` | yes |
| Shop | `send, bots, commerce, api` | yes |
| Developer | `send, batch, api, otp, media, webhooks` | yes |
| Connect | `send, batch, inbox, mcp, api` | yes |

<a id="for-agents"></a>

### For AI agents

These docs also exist as Markdown, for coding agents (Claude Code, Cursor, Codex…) and anything that reads the web without running JavaScript: [llms.txt](https://wahasend.com/llms.txt) lists every page, [llms-full.txt](https://wahasend.com/llms-full.txt) has all of them in one file, and every page has its own `.md` address (for example [getting-started.md](https://wahasend.com/docs/getting-started.md); French under `/docs/fr/`). To let an AI app send and read WhatsApp messages itself, use [Connect](https://wahasend.com/docs/connect.md).

Coding agents can also install the WahaSend skill (what to call for what, webhook signatures, errors, keeping the number safe), and API tools can import [openapi.json](https://wahasend.com/openapi.json) (OpenAPI 3.1: Postman, Insomnia, SDK generators, GPT actions).

```bash
npx skills add ahmedEssyad/wahasendskills
```

A prompt for your agent:

```text
Read https://wahasend.com/llms.txt and the pages it links to, then add WhatsApp notifications to this project with the WahaSend API. My key is in the WAHASEND_API_KEY environment variable.
```
