Your Channels
Each channel is an independent WhatsApp connection with its own API key.
Developer Access
Personal access token for the MCP server and REST API — works across all your channels.
No token yet. Generate one to get started.
—
Generate a token to see your MCP configuration.
—
Connect this channel to start sending and receiving WhatsApp messages.
—
Pass as X-API-Key header in all requests to this channel.
Send a message
cURL example
| Time | Dir | From | To | Message | Type |
|---|---|---|---|---|---|
| No messages yet | |||||
Add Webhook
Active Webhooks
No webhooks configured
Payload Example
{
"event": "message",
"channel_id": "your-channel-id",
"timestamp": 1714000000000,
"data": {
"direction": "in",
"from_number": "4917612345678",
"to_number": "4930123456789",
"body": "Hello!",
"type": "chat"
}
}
API Reference
Base URL: https://wapi.strehldigital.com/api
Authentication
All API requests require an API key that identifies your channel. Pass it as an HTTP header or query parameter.
X-API-Key: wapi_xxxxxxxxxxxx
GET /api/status?api_key=wapi_xxxxxxxxxxxx
Send Message
/api/messages/send
Send a WhatsApp text message to any number.
| Body param | Type | Required | Description |
|---|---|---|---|
number | string | Yes | Recipient in international format (no +) |
message | string | Yes | Text content to send |
curl -X POST https://wapi.strehldigital.com/api/messages/send \
-H "X-API-Key: wapi_xxxx" \
-H "Content-Type: application/json" \
-d '{"number": "4917612345678", "message": "Hello from WAPI!"}'
{ "success": true, "messageId": "3EB0..." }
Get Messages
/api/messages
Retrieve message history for this channel.
| Query param | Default | Description |
|---|---|---|
limit | 50 | Max messages to return (max 100) |
offset | 0 | Pagination offset |
number | — | Filter by phone number |
curl https://wapi.strehldigital.com/api/messages?limit=20 \ -H "X-API-Key: wapi_xxxx"
{
"messages": [...],
"total": 42,
"limit": 20,
"offset": 0
}
List Contacts
/api/contacts
Returns up to 500 contacts from your WhatsApp address book.
{ "contacts": [{ "number": "4917612345678", "name": "Max Mustermann" }] }
List Chats
/api/contacts/chats
Returns up to 100 open chats with the last message and unread count.
Webhooks
/api/webhooks
/api/webhooks
/api/webhooks/:id
Register a URL to receive real-time events when messages arrive.
curl -X POST https://wapi.strehldigital.com/api/webhooks \
-H "X-API-Key: wapi_xxxx" \
-H "Content-Type: application/json" \
-d '{"url": "https://your-app.com/hook", "events": "message", "secret": "optional-secret"}'
MCP Server
WAPI ships a built-in Model Context Protocol server. Add it to Claude Desktop (or any MCP-compatible AI client) and Claude can interact with your WhatsApp channel directly — send messages, read logs, manage webhooks — while helping you build your integration.
Setup
Generate a personal access token from your dashboard (Channels → Developer Access), then add it to your Claude Desktop config. The token gives Claude access to all your channels at once.
{
"mcpServers": {
"wapi": {
"type": "http",
"url": "https://wapi.strehldigital.com/mcp?token=YOUR_PERSONAL_TOKEN"
}
}
}
{
"mcpServers": {
"wapi": {
"type": "http",
"url": "https://wapi.strehldigital.com/mcp?token=YOUR_PERSONAL_TOKEN"
}
}
}
Restart Claude Desktop after saving. Your personal access token can be regenerated or revoked at any time from the dashboard without affecting your channel API keys.
What you can do
Once connected, just describe what you want in plain English:
Available tools
| Tool | Description |
|---|---|
send_message | Send a WhatsApp text message to any number |
get_messages | Retrieve message history, optionally filtered by number |
get_status | Check channel connection status and phone info |
list_contacts | List WhatsApp contacts on the channel's phone |
list_chats | List recent chats with last message and unread count |
list_webhooks | Show all configured webhooks |
add_webhook | Register a new webhook URL |
delete_webhook | Remove a webhook by ID |
Endpoint
/mcp?token=YOUR_PERSONAL_TOKEN
/mcp?api_key=YOUR_CHANNEL_API_KEY
Standard JSON-RPC 2.0 over HTTP. Personal tokens give access to all your channels (recommended). Channel API keys scope access to a single channel. Each request is stateless — no sessions required.
Channel Status
/api/status
Check the connection status of your channel.
{
"status": "ready",
"info": { "number": "4930123456789", "name": "My Bot", "platform": "smba" },
"channel": { "id": "...", "name": "My Channel" }
}
User Management
Approve or reject user registrations. Approved users can log in and manage their own channels.
| Role | Status | Registered | Actions | |
|---|---|---|---|---|
| Loading… | ||||