---
title: "DELETE /connections/{phoneNumber}/messages"
method: DELETE
path: "/connections/{phoneNumber}/messages"
tags: ["Connections"]
---

# DELETE /connections/{phoneNumber}/messages

`DELETE /connections/{phoneNumber}/messages`

## Request

- Base URL: `http://localhost:3025`
- URL: `http://localhost:3025/connections/{phoneNumber}/messages`
- Auth: API key in header `x-api-key`

Deletes a message for everyone in the chat. For group messages not sent by you, this requires admin privileges.

## Path parameters

- `phoneNumber` string, required

## Request body

- object
  - `jid` string, required: WhatsApp JID [Chat JID where the message exists]
  - `key` object, required
    - `id` string, required: Message ID
    - `remoteJid` string
    - `fromMe` boolean
    - `participant` string

## Response `200`

Message deleted successfully

## Other responses

- `403`: Forbidden — the API key does not own this connection. Returned when a connection is bound to a different API key.
- `421`: Misdirected Request — in cluster mode, this instance does not own the connection. The owning instance id is in the x-baileys-owner header; a proxy re-routes the request there. Not returned for the explicit-takeover routes: POST /connections/{phoneNumber}, /import-session and /restart.
- `503`: Connection is not accepting sends. Returned when the circuit breaker is open (send stall detected) and when a keystore transaction gives up waiting for its mutex; in the second case the message was definitively not sent. Carries `x-baileys-send-state: stalled`, which is what tells this apart from an ordinary 503 (outage, draining proxy): the connection is up and must NOT be marked down.
- `504`: Send timed out; outcome unknown. Carries `retry-after` only when a retry cannot duplicate the message — i.e. a `messageId` or a `chatwootMessageId` was supplied. Otherwise it carries `x-baileys-idempotency-state: unprotected` and no `retry-after`: nothing would stop a retry from sending a second message.

## Changes

- **2026-08-23** `5299037901a9`: 2 info
  - added the non-success response with the status `503`
  - added the non-success response with the status `504`
- **2026-08-15** `533b3360e2e4`: 2 breaking, 4 info
  - removed the media type `application/json` for the response with the status `200`
  - removed the success response with the status `202`
  - removed the non-success response with the status `404`
  - removed the non-success response with the status `409`
  - …2 more
- **2026-08-15** `80b5396ef493`: 2 info
  - added the non-success response with the status `422`
  - added the success response with the status `202`
- **2026-06-16** `da89554d2e38`: 13 info
  - added the non-success response with the status `409`
  - added the non-success response with the status `421`
  - added the optional property `data/capping_status` to the response with the `200` status
  - added the optional property `data/cycle_end_timestamp` to the response with the `200` status
  - …9 more
- **2026-03-20** `8632adf0286b`: 4 info
  - added the media type `application/json` for the response with the status `200`
  - added the non-success response with the status `403`
  - added the non-success response with the status `404`
  - added the non-success response with the status `500`

[Operation history](https://skmtc.dev/fazer-ai/apis/fazer-ai-baileys-api/changes/connections/:phoneNumber/messages/delete.md)

---

[API](https://skmtc.dev/fazer-ai/apis/fazer-ai-baileys-api.md) - [All operations](https://skmtc.dev/fazer-ai/apis/fazer-ai-baileys-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fazer-ai/apis/fazer-ai-baileys-api/revisions/322af11b310e?raw)
