Session Management
Manage WhatsApp sessions with clear operational controls.
Session Lifecycle
Creating a Session
- Go to Dashboard
- Click "New Session"
- Name your session (e.g., "Production", "Support Team")
- Scan the QR code with WhatsApp
- Wait for "Connected" status
Connection States
| Status | Description | Actions |
|---|---|---|
connecting | Initial connection in progress | Wait or check QR code |
connected | Session is active and ready | Send/receive messages |
disconnected | Session lost connection | Check phone connectivity |
expired | QR code expired | Generate new QR code |
Reconnecting
If your session disconnects:
- Go to your session page
- Click "Reconnect"
- Scan the new QR code
- Verify connection status
Stopping a Session
To temporarily pause a session:
- Go to session settings
- Click "Stop Session"
- The session will enter "disconnected" state
- Reconnect anytime to resume
Deleting a Session
To permanently remove a session:
- Go to session settings
- Click "Delete Session"
- Confirm deletion
- All associated API keys will be revoked
Session Health
Monitor your session health in the dashboard:
- Connection Status: Green = healthy, Red = disconnected
- Last Activity: Time of last message sent/received
- Message Queue: Pending messages waiting to be sent
Health Check API
curl -X GET "https://api.sendable.dev/sessions/{sessionId}/status" \
-H "x-api-key: YOUR_API_KEY"Response:
{
"sessionId": "sess_xyz789",
"status": "connected",
"connectedAt": "2026-03-02T10:30:00Z",
"health": "healthy",
"metrics": {
"messagesSent": 1250,
"messagesReceived": 890,
"uptime": 99.9
}
}Multi-Session Strategy
Separate by Use Case
Create separate sessions for different purposes:
- Marketing: Bulk messaging campaigns
- Support: Customer service conversations
- Notifications: OTPs and alerts
Separate by Region
For international businesses:
- US/EU: Session with US phone number
- Asia: Session with Asian phone number
- LatAm: Session with Latin American number
Operational Notes
Keep Connection Healthy
- Keep WhatsApp mobile app active
- Ensure phone has stable internet
- Don't log out of WhatsApp on your phone
- Avoid switching phones frequently
Handle Disconnections
Set up webhook to monitor disconnections:
app.post('/webhook', (req, res) => {
const { type, data } = req.body
if (type === 'session.socket-disconnected') {
// Alert your team
sendAlert(`Session ${data.sessionId} disconnected`)
}
res.sendStatus(200)
})API Key Scoping
Each session has its own API keys:
- Keys from Session A cannot access Session B
- Revoking a session revokes all its keys
- Different sessions can have different rate limits