160+ REST Endpoints

Built for developers

A complete REST API for WhatsApp messaging. JSON responses, Bearer token authentication, real-time webhooks, and full OpenAPI documentation.

Quick Start

Three steps to your first message

1

Get your API key

Sign in to your CloudSingh dashboard, go to Settings → API Keys, and generate a new key. Each key can be scoped to specific permissions and rate limits.

2

Send your first message

Use a simple curl command to send a WhatsApp message through the API:

curl -X POST https://api.cloudsingh.in/v1/messages \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "sessionId": "your-session-id",
    "to": "919876543210",
    "text": "Hello from CloudSingh API!"
  }'
3

Set up webhooks

Register a webhook URL to receive real-time events when messages are sent, delivered, fail, or when new inbound messages arrive. Configure webhooks in the dashboard or via the API.

API Overview

Key endpoints

All endpoints return JSON. Authenticate with Bearer YOUR_API_KEY in the Authorization header.

POST /v1/messages

Send a text, image, document, or media message to any WhatsApp number through a connected session.

GET /v1/instances

List all WhatsApp sessions (instances) in your workspace, including connection status and QR codes.

POST /v1/webhooks

Register a webhook URL to receive real-time delivery receipts, inbound messages, and session events.

POST /v1/api-keys

Create and manage scoped API keys with custom permissions, rate limits, and expiration dates.

GET /v1/contacts

List, search, create, and manage your contact database. Supports tags, custom fields, and bulk import.

POST /v1/campaigns

Create and manage bulk messaging campaigns with scheduling, templates, and delivery tracking.

Webhooks

Real-time events

Get notified instantly when something happens in your workspace.

Event
Description
message.sent
Fired when a message is successfully sent to the recipient
message.failed
Fired when a message fails to send (includes error details)
message.inbound
Fired when a new message is received from a contact
session.connected
Fired when a WhatsApp session connects or reconnects
session.disconnected
Fired when a WhatsApp session disconnects or loses connection

Ready to integrate?

Explore the full API reference with request/response examples for every endpoint.