Developer reference
WhatsApp API documentation.
Queue text and media messages, manage WhatsApp sessions, inspect delivery state, and replay durable webhooks with a stable OpenAPI-backed contract.
curl -X POST https://waqueen.com/api/v1/messages \
-H "Authorization: Bearer wsk_live_..." \
-H "Content-Type: application/json" \
-d '{
"to": "+15551234567",
"text": "Order shipped",
"idempotencyKey": "order-4821-shipped"
}'The live OpenAPI JSON is the source for generated tools and contract checks.
Messaging responses confirm queue acceptance. Delivery updates arrive through webhooks.
Postman requests include baseUrl, apiKey, sessionId, messageId, and webhookDeliveryId variables.
Developer workflow
From one request to a complete WhatsApp workflow.
Authenticate
Create scoped API keys for the workspace and keep every request tied to a controlled session.
Send
Queue text or media messages through a stable contract with idempotency and delivery state.
Observe
Listen to signed webhook events, replay failures, and connect WhatsApp activity back to your system.
Reference
Endpoints
This catalog is rendered from the same OpenAPI source served by /api/openapi.
Showing 102 of 102 OpenAPI operations.
Public WhatsApp utility endpoints for external tools.
/api/v1/whatsapp/check-numberCheck whether a phone number has WhatsApp
Checks a direct phone number through a linked WhatsApp session. If sessionId is omitted, WAQueen selects the best connected or recoverable session for the API key's business.
Messages
Queue text, media, poll, and quick-reply messages for WhatsApp delivery.
/api/v1/messagesQueue a text, media, poll, or quick-reply message
Accepts a text, single media, poll, or quick-reply message into the durable per-session FIFO queue. Quick replies are sent as a single-answer WhatsApp poll for reliability. If sessionId is omitted, WAQueen selects the best send-ready session. If sessionId is provided with allowFallback=true, WAQueen may use another send-ready session only when the requested session is temporarily restoring. The response confirms queue acceptance; final delivery arrives through webhook status events.
/api/v1/media/uploadUpload media for a later message send
Stores one media file in WAQueen-controlled storage and returns a mediaId. Use that mediaId in POST /api/v1/messages to avoid depending on an external public media URL.
Business
Create the tenant workspace and manage the structured AI Business Brain profile.
/api/businessesCreate business workspace and AI brain profile
Completes first-run onboarding. The `brain` object is optional for backward compatibility, but the dashboard wizard sends it to create structured AI context.
/api/businesses/currentRead current business workspace
/api/businesses/currentUpdate current business profile
/api/businesses/brainRead AI Business Brain profile
/api/businesses/brainUpdate AI Business Brain profile
/api/businesses/brain/generate-summaryPreview generated AI business prompt summary
Knowledge
Create, index, search, and govern AI Business Brain knowledge sources.
/api/businesses/knowledge-sourcesList knowledge sources
/api/businesses/knowledge-sourcesCreate and optionally index a knowledge source
/api/businesses/knowledge-sources/{id}Read a knowledge source
/api/businesses/knowledge-sources/{id}Update a knowledge source
/api/businesses/knowledge-sources/{id}Archive a knowledge source
/api/businesses/knowledge-sources/{id}/reindexReindex a knowledge source
/api/businesses/knowledge/searchSearch indexed knowledge chunks
/api/businesses/ai-context/previewPreview AI reply context
Builds the same compact context pack the AI reply pipeline will use: business profile, contact/conversation state, approved KB chunks, source IDs, and safety/handoff decision flags.
/api/businesses/servicesList governed services and pricing
/api/businesses/servicesCreate a governed service or priced catalog item
/api/businesses/services/{id}Read a governed service
/api/businesses/services/{id}Update a governed service
/api/businesses/services/{id}Archive a governed service
/api/businesses/services/{id}/publishPublish a governed service and index it
/api/businesses/services/{id}/archiveArchive a governed service
/api/businesses/services/{id}/revisionsList service revisions
/api/businesses/faqsList governed FAQs
/api/businesses/faqsCreate a governed FAQ
/api/businesses/faqs/{id}Read a governed FAQ
/api/businesses/faqs/{id}Update a governed FAQ
/api/businesses/faqs/{id}Archive a governed FAQ
/api/businesses/faqs/{id}/publishPublish a governed FAQ
/api/businesses/faqs/{id}/revisionsList FAQ revisions
/api/businesses/policiesList governed policies
/api/businesses/policiesCreate a governed policy
/api/businesses/policies/{id}Read a governed policy
/api/businesses/policies/{id}Update a governed policy
/api/businesses/policies/{id}Archive a governed policy
/api/businesses/policies/{id}/publishPublish a governed policy
/api/businesses/policies/{id}/revisionsList policy revisions
Sessions
Create, pair, monitor, and operate WhatsApp sessions.
/api/sessionsList WhatsApp sessions
/api/sessionsCreate a WhatsApp session
/api/sessions/{id}Get one WhatsApp session
/api/sessions/{id}Update session settings
/api/sessions/{id}Delete a WhatsApp session
/api/sessions/{id}/qrRead QR pairing state
/api/sessions/{id}/qrStart or refresh QR pairing
/api/sessions/{id}/statusRead connection status
/api/sessions/{id}/persistenceRead persisted auth health
/api/sessions/{id}/diagnosticsRead deep session diagnostics
/api/sessions/{id}/eventsList recent session events
/api/sessions/{id}/restartRestart a WhatsApp session socket
/api/sessions/{id}/logoutLogout a WhatsApp session
Queue
Inspect, clear, cancel, and retry outbound message queue rows.
/api/sessions/{id}/queueInspect a session outbound queue
/api/sessions/{id}/queue/clearCancel all unlocked queued messages for one session
/api/messages/{id}Read one outbound message lifecycle record
/api/messages/{id}/cancelCancel one queued outbound message
/api/messages/{id}/retryMove a failed or cancelled message back to the queue
Inbox
Read conversations, inspect message threads, mark chats read, and reply from the inbox.
/api/inbox/eventsStream inbox snapshots
Server-sent event stream for dashboard-style realtime inbox refresh. Emits `snapshot` events with the current conversation list and, when `sessionId` plus `chatJid` are provided, the selected thread messages. Clients should keep ordinary REST polling as a fallback.
/api/inbox/conversationsList inbox conversations
/api/inbox/conversationsCreate or find an inbox conversation
Bootstraps an empty conversation from a contact, phone number, or chat JID so operators can open the thread and send the first message.
/api/inbox/conversations/{chatJid}Get one inbox conversation
/api/inbox/conversations/{chatJid}Update inbox conversation metadata
/api/inbox/conversations/{chatJid}/messagesList messages in one conversation
/api/inbox/conversations/{chatJid}/resyncRequest WhatsApp history resync
Requests more WhatsApp history for a conversation. If an oldest stored WhatsApp message exists, WAQueen asks Baileys for older messages for that chat. If no anchor exists and fallbackFullSync is true, WAQueen requests a full session history sync restart.
/api/inbox/conversations/{chatJid}/readMark one conversation read
/api/inbox/conversations/{chatJid}/replyReply to a conversation
Contacts
Manage CRM contact records, policy flags, and WhatsApp availability checks.
/api/contactsList contacts
/api/contactsCreate or upsert a contact
/api/contacts/{id}Get one contact
/api/contacts/{id}Update a contact
/api/contacts/{id}Delete a contact
/api/contacts/{id}/leadUpdate persisted lead state for one contact
/api/contacts/{id}/blockBlock or unblock a contact
/api/contacts/{id}/opt-outOpt a contact out or back in
/api/contacts/check-whatsappCheck WhatsApp account availability
/api/contacts/bulk-tagsBulk add or remove contact tags
Tags
Manage the business tag catalog used by contacts, conversations, and segmentation.
/api/tagsList tags
/api/tagsCreate or restore a tag
/api/tags/{id}Get one tag
/api/tags/{id}Update a tag
/api/tags/{id}Archive a tag
Segments
Create saved dynamic or static contact segments with opt-out and block safety defaults.
/api/segmentsList segments
/api/segmentsCreate a segment
/api/segments/previewPreview unsaved segment rules
/api/segments/{id}Get one segment
/api/segments/{id}Update a segment
/api/segments/{id}Archive a segment
/api/segments/{id}/contactsList contacts in a segment
/api/segments/{id}/previewPreview one saved segment
/api/segments/{id}/recalculateRecalculate segment membership cache
Webhooks
Inspect and replay durable webhook deliveries.
/api/webhook-deliveriesList webhook delivery attempts
/api/webhook-deliveries/{id}/replayReplay a delivered or failed webhook delivery
/api/sessions/{id}/webhook/testQueue a signed test webhook
/api/v1/notifications/receiveReceive the next webhook notification
GreenAPI-style polling fallback for customers without a public webhook endpoint. Returns the oldest available event notification, then the client confirms processing with DELETE /api/v1/notifications/{id}.
/api/v1/notifications/{id}Delete a processed webhook notification
API Keys
Create, rotate, and revoke API keys for public API access.
/api/api-keysList API keys
/api/api-keysCreate an API key
/api/api-keysRevoke an API key
/api/api-keys/{id}/rotateRotate an API key
Developer
Machine-readable API documentation and test artifacts.
/api/openapiDownload OpenAPI specification
/api/openapi.jsonDownload OpenAPI specification as JSON
/api/postmanDownload Postman collection