DELETE /v1/messages/{id}
Cancels a message that has not yet been delivered. Only messages in QUEUED or SENT status can be revoked. Returns 404 if the message has already been delivered or does not exist. A successful revoke:
  • Fires a message.revoked webhook event.
  • Releases the balance hold placed at send time.
  • Sets message status to REVOKED.
Not all channels support revocation at all states. RCS supports revoke for messages in SENT status on some carriers. Email cannot be recalled once accepted by the receiving mail server.

Request

Authorization
string
required
Bearer <api_key>
id
string
required
The message ID from the original send response.

Response

{
  "id": "msg_a1b2c3d4",
  "status": "REVOKED",
  "revoked_at": "2026-03-28T09:00:45Z"
}

Example

curl -sS -X DELETE "https://api.arowana.app/v1/messages/msg_a1b2c3d4" \
  -H "Authorization: Bearer $API_KEY"

Get message

Check status before deciding to revoke.

Webhooks

Receive message.revoked events on your endpoint.