Endpoints
Every call your system can make. Base URL https://api.msgpanda.com, authenticated with
Authorization: Bearer wsk_….
| Endpoint | Scope | What it does | |
|---|---|---|---|
| POST | /v1/messages | messages:send | Send one message (requires Idempotency-Key) |
| GET | /v1/messages/{id} | messages:read | One message with its delivery timeline |
| GET | /v1/messages | messages:read | List messages, filtered by status |
| GET | /v1/templates | templates:read | Approved and pending templates |
| POST | /v1/templates | templates:write | Create a template draft |
| POST | /v1/templates/{id}/submit | templates:write | Submit a draft to Meta for review |
| GET | /v1/numbers | numbers:read | Connected WhatsApp numbers |
| GET | /v1/campaigns · /v1/campaigns/{id} | campaigns:read | Read-only campaign views |
| GET | /v1/contacts · /v1/contacts/tags | contacts:read | Read-only contact book |
Typical flow
POST /v1/messages ──▶ 202 queued
│
├─ 200 { idempotent_replay: true } (if you retried the same key)
│
▼
GET /v1/messages/{id} ──▶ queued → sent → delivered → read
Not available to API keys
These need a dashboard session and are deliberately closed to keys:
/v1/keys/*— key management/v1/logs— the API logbook/v1/segments/*— contact segmentation/v1/auth/*,/v1/meta/*, number onboardingPOST /v1/campaigns,POST /v1/campaigns/{id}/start
If you need campaign automation from your own system, contact us — it is not exposed yet.
Status codes at a glance
| Code | Meaning |
|---|---|
200 | OK (reads, and idempotent replays) |
201 | Created (templates, keys) |
202 | Accepted — queued for sending |
204 | No content (updates) |
400 401 403 404 409 | See Errors |