Delete Session

Permanently deletes a WhatsApp session locally and from the server. This action is irreversible.

DELETE
https://api.wawp.net/v2/session/delete?access_token=YOUR_ACCESS_TOKEN&instance_id=Your_Instance_ID

Authentication Required

Login to swap the placeholders with your real Instance ID and Access Token.

Log In
Test /v2/session/delete endpoint
DELETE
DELETE

No query parameters required

This endpoint doesn't expect data in the URL.

Best practices

  • Always prompt for confirmation in your UI before triggering this endpoint.

  • Use /v2/logout before /v2/delete to ensure the session is properly closed on the phone side.

The Point of No Return: Mastering the /v2/session/delete Endpoint

The /v2/session/delete endpoint is the most decisive action in our API suite. It is not merely a shutdown command; it is an instruction for the Atomic Deconstruction of the instance. It permanently removes the isolated environment, all associated session data, and the authentication credentials from our high-performance infrastructure.


🏗️ The Anatomy of a Clean Deletion

When you trigger a deletion, Wawp orchestrates several high-concurrency cleanup tasks in milliseconds:

  1. Container Termination: The active engine process is signaled to shut down immediately.
  2. Data Purge: All transient files, message buffers, and encryption keys stored in the instance's isolated directory are wiped from our disks.
  3. Resource Recovery: The RAM and CPU overhead allocated to that session is instantly released and returned to the server pool, allowing for fresh allocations.
  4. Credential Expiry: The instance_id and session_name are decoupled from your account, and any future requests using those identifiers will result in a 404 Not Found error.

🛡️ Strategic Best Practices

1. The "Danger Zone" UX

Because this action is permanent, it must be protected by significant UI guardrails.

  • The Best Practice: Never trigger a deletion from a single click. Implement a "Danger Zone" in your dashboard that requires the user to type "DELETE" or the instance ID to confirm their intent. This prevents catastrophic data loss from accidental clicks.

2. The "Logout First" Recommendation

While deletion severs the bridge, it doesn't always signal the mobile phone to "Unpair" if the engine is stopped.

  • The Strategy: For the most professional experience, call /v2/session/logout before calling delete. This ensures that the device is cleanly removed from the "Linked Devices" list on the user's phone, preventing "Ghost Device" entries that can clutter the WhatsApp app UI.

3. Subscription and Churn Lifecycle

Integrate this endpoint into your platform's subscription management.

  • The Workflow: If a user cancels their plan or fails to pay, your system should automatically call /v2/session/delete after a grace period. This ensures your instance quota remains available for active, paying customers.

💡 Industry-Standard Use Cases

A. Data Compliance (GDPR/SOC2)

If your application handles highly sensitive data, use the delete endpoint to ensure that once a customer interaction is finished, no residue of their session remains on our servers. This is a core part of building a "Zero-Trust" communication architecture.

B. Development and Testing

During the development phase, you may frequently create and destroy instances while testing your integration. Using the delete endpoint allows you to keep your test environment clean and avoid hitting your plan's quota limits.


⚠️ Common Pitfalls and Troubleshooting

"Instance Not Found" (404)

This occurs if the deletion has already been processed or if the ID provided is incorrect. In your backend, you should treat a 404 response to a delete request as a "de-facto success," meaning the instance is indeed gone.

Is Recovery Possible?

No. We prioritize data privacy and server efficiency. Once the delete command is executed, the encryption keys are purged from our secure persistent storage. There is no "Trash Bin" or "Restore" feature. Always ensure your internal database is updated to reflect that the session no longer exists.


Summary of Capabilities:

  • Permanently decommission an isolated engine.
  • Purge all encryption keys and transient data for maximum privacy.
  • Free up instance slots within your Wawp plan quota.
  • Ensure a clean architectural slate for future provisioning.

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 object
string

The 12-character ID of the instance to delete

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.

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/session/delete";
3const params = new URLSearchParams({
4 "instance_id": "Your_Instance_ID",
5 "access_token": "YOUR_ACCESS_TOKEN"
6}).toString();
7
8
9fetch(`${baseUrl}${endpoint}${params ? '?' + params : ''}`, {
10 method: "DELETE",
11 headers: { "Content-Type": "application/json" },
12
13})
14 .then(async (response) => {
15 if (response.ok) {
16 const data = await response.json();
17 console.log("Success:", data);
18 return data;
19 }
20
21 // Error Handling
22 if (response.status === 400) {
23 console.error("Error 400: Bad Request - Missing Required Parameter(s)");
24 }
25 if (response.status === 400) {
26 console.error("Error 400: Bad Request (XML Format)");
27 }
28 if (response.status === 400) {
29 console.error("Error 400: Bad Request (Plain Text)");
30 }
31 if (response.status === 401) {
32 console.error("Error 401: Unauthorized - Invalid or Missing Access Token");
33 }
34 if (response.status === 401) {
35 console.error("Error 401: Unauthorized (XML Format)");
36 }
37 if (response.status === 404) {
38 console.error("Error 404: Not Found - Session Does Not Exist");
39 }
40 if (response.status === 404) {
41 console.error("Error 404: Not Found (XML Format)");
42 }
43 if (response.status === 500) {
44 console.error("Error 500: Internal Server Error - Unexpected Failure");
45 }
46 if (response.status === 500) {
47 console.error("Error 500: Internal Server Error (HTML)");
48 }
49 if (response.status === 502) {
50 console.error("Error 502: Bad Gateway - Connection Failed to Upstream");
51 }
52 if (response.status === 502) {
53 console.error("Error 502: Bad Gateway (XML Format)");
54 }
55
56 const errorText = await response.text();
57 console.error(`Error ${response.status}: ${errorText}`);
58 })
59 .catch((error) => console.error("Network Error:", error));
Interactive Samples
Ln 59, Col 1javascript

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.

Success - Session Deleted
Type:
application/json
string *
string *
string *

Example

{
"name": "wawp-84729105",
"status": "DELETED",
"instance_id": "3EB0BCB2E3D4"
}
Bad Request - Missing Required Parameter(s)
Unauthorized - Invalid or Missing Access Token
Not Found - Session Does Not Exist
Internal Server Error - Unexpected Failure
Bad Gateway - Connection Failed to Upstream
Previous TopicLogout Session
Next TopicSession Info

Command Palette

Search for a command to run...