API Reference

Integrate What Sender into your applications

Authentication

All API requests require an API key. You can generate API keys from your dashboard under Settings > API Keys.

Include your API key in the request header:

X-API-Key: your_api_key_here

Security: Never expose your API key in client-side code. Always make API calls from your backend server.

Base URL

https://whatsender.dev/api/v1

Endpoints

GET/api/v1/auth/me

Get current user information

Headers
Authorization: Bearer {token}
Response
{
  "id": "user_123",
  "email": "user@example.com",
  "name": "John Doe",
  "tenant": {
    "id": "tenant_456",
    "name": "My Company"
  }
}

Rate Limits

API rate limits vary by plan. Exceeding limits returns a 429 error.

PlanAPI RequestsMessages
Free100/hour50/day
Pro1,000/hour1,000/day
Enterprise10,000/hourUnlimited

Error Codes

CodeMessageDescription
400Bad RequestInvalid request body or parameters
401UnauthorizedMissing or invalid API key
403ForbiddenInsufficient permissions or plan limits
404Not FoundResource does not exist
429Too Many RequestsRate limit exceeded
500Server ErrorInternal server error

Code Examples

JavaScript (Node.js)

const axios = require('axios');

const API_KEY = 'your_api_key';
const BASE_URL = 'https://whatsender.dev/api/v1';

// Send a message
async function sendMessage(to, message) {
  const response = await axios.post(
    `${BASE_URL}/messages/send`,
    { to, message },
    { headers: { 'X-API-Key': API_KEY } }
  );
  return response.data;
}

sendMessage('+1234567890', 'Hello!')
  .then(console.log)
  .catch(console.error);

Python

import requests

API_KEY = 'your_api_key'
BASE_URL = 'https://whatsender.dev/api/v1'

def send_message(to, message):
    response = requests.post(
        f'{BASE_URL}/messages/send',
        json={'to': to, 'message': message},
        headers={'X-API-Key': API_KEY}
    )
    return response.json()

result = send_message('+1234567890', 'Hello!')
print(result)

cURL

curl -X POST https://whatsender.dev/api/v1/messages/send \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"to": "+1234567890", "message": "Hello!"}'