Start Session
Boots up the WhatsApp engine for a specific instance. This is the trigger that transitions a session from 'STOPPED' to 'STARTING'.
Authentication Required
Login to swap the placeholders with your real Instance ID and Access Token.
Log InNo query parameters required
This endpoint doesn't expect data in the URL.
Best practices
Use the /v2/status endpoint to fetch the QR code once the state transitions to 'SCAN_QR_CODE'.
If you receive a 404 error, the 'instance_id' is likely incorrect or the instance was deleted.
Starting the Engine: The Deep Dive into /v2/session/start
If creating a session is like "registering a car," then calling /v2/session/start is the act of "turning the ignition." Without this step, your session is merely a passive record in our database, incapable of communicating with the WhatsApp network. This endpoint is the primary catalyst for the entire automation lifecycle.
🏗️ What Happens Technically During "Start"?
When you trigger a start request, Wawp orchestrates several high-concurrency operations:
- Container Awakening: The isolated environment dedicated to your instance is powered on.
- Library Initialization: The underlying WhatsApp libraries (Baileys/WAWebJS) are loaded into memory and configured with your instance's specific security parameters.
- Network Handshake: The engine attempts to establish a secure WebSocket bridge between our high-performance nodes and WhatsApp's official servers.
- Credential Fetching: If previous authentication exists, the engine attempts to "resume" the session. If not, it transitions to a state where it can generate a fresh QR code.
🛡️ Strategic Best Practices
1. The "State Check" Prerequisite
Never call start blindly. Always check the current status via /v2/session/info first.
- The Ideal Condition: Only call
startif the status is STOPPED. - The Risk: Calling
starton a session that is already WORKING can cause a protocol conflict, potentially leading to a temporary disconnection or a "Session conflict" notice on the user's mobile device.
2. Handling the "Async" Nature
The start command is non-blocking. It will return a success response (200 OK) almost immediately, but the engine may still be "warming up" for several seconds.
- Developer Action: Do not poll for a QR code immediately. Implement a 5-10 second "settle time" before your application starts aggressively checking for status changes.
3. "Warm Booting" for Better UX
In a production dashboard, don't wait for the user to click "Connect."
- The Optimization: If you detect a user has logged into your CRM and their WhatsApp status is
STOPPED, callstartin the background. By the time they click on the WhatsApp integration tab, the engine will be ready to display a QR code, making the experience feel instantaneous.
💡 Industry-Standard Use Cases
A. Automated Re-connection Workers
Build a background "Watcher" service that runs every hour. If it finds a session that should be online (e.g., a "Gold Tier" customer) but has a status of STOPPED, it should trigger a start command automatically.
B. "Morning Boot" Scheduling
If your business only operates during specific hours, you can call /v2/session/stop at night to save system resources and call start 30 minutes before your agents start their shift.
⚠️ Common Errors and Troubleshooting
"Instance Not Found" (404 Not Found)
This occurs if the instance_id provided is incorrect or has been permanently deleted from our servers. Double-check your database persistence layer.
Stuck in "STARTING"
On very rare occasions, a session may hang in the "STARTING" state due to a network timeout at the WhatsApp bridge level.
- Fix: If the status remains
STARTINGfor more than 45 seconds, we recommend calling the/v2/session/restartendpoint to force a clean environment reset.
Summary of Responsibilities:
- Power on the isolated WhatsApp engine.
- Initiate the connection protocol with WhatsApp servers.
- Transition the instance state from STOPPED to STARTING or WORKING.
- Prepare the environment for QR code or Pairing code generation.
Request Parameters
Configure the parameters required to interact with this endpoint. All query and body arguments are listed below with their details.
Request Body
Sent as a JSON objectstring | The 12-character ID of the instance Example: | ||
string | Your API Access Token Example: |
Request Samples
Use these ready-to-go code snippets to integrate our API into your project quickly and efficiently. Choose your preferred language and library.
Expected Responses
Explore all possible responses and outcomes from the server. We have documented each status code with data examples to make success and error handling easier.
Example
{
"name": "wawp-84729105",
"status": "STARTING",
"config": {
"webhooks": {
},
"proxy": null
}
}Command Palette
Search for a command to run...