Delete a Conversation
You can permanently delete a single conversation. The conversation and everything that belongs to it is removed. The contact is kept, together with their other conversations, contact details, tags and custom fields.
Required scope
conversations:delete
By default only the Owner and Admin roles hold this permission. The Support Agent role does not. Custom roles and API tokens can delete conversations when they are granted conversations:delete (or conversations:*).
Request
DELETE /api/v1/conversations/{conversation_id}
curl -X DELETE "https://api.sendseven.com/api/v1/conversations/conv_xyz789" \
-H "Authorization: Bearer $SENDSEVEN_API_KEY"
Response
200 OK
{
"success": true,
"id": "conv_xyz789",
"message": "Conversation deleted"
}
What is deleted
- The conversation itself, including its tags, internal notes and share links
- All messages in the conversation (inbound, outbound, email, reactions and replies)
- Attachments that were sent or received in the conversation, including the stored files. A file that is still used somewhere else, for example in another conversation, a template or a campaign, is kept.
- Drafts, AI suggestions and AI agent activity for the conversation
- AI conversation summaries of the conversation, including the summary shown on the contact's timeline
- Live chat sessions and automation flow runs that belong to the conversation
- In-app notifications that link to the conversation
What is kept
- The contact and all of their other conversations
- Campaign statistics. Campaign sends that were delivered into this conversation still count in your campaign reports.
- Usage for billing. Messages you were billed for still appear on your invoice for that period.
To delete a contact together with all of their conversations, use Delete a Contact instead.
Deletion log
Every delete is logged with who deleted the conversation (a workspace member, an API token or a connected integration) and when. The entry stays in the contact's history even though the conversation is gone, and is returned by GET /api/v1/contacts/{contact_id}/history as a conversation_deleted event:
{
"event_type": "conversation_deleted",
"id": "5b1f7c1e-...",
"occurred_at": "2026-10-22T09:41:00Z",
"conversation_id": "conv_xyz789",
"channel": "whatsapp",
"deleted_by_type": "user",
"deleted_by_user_id": "usr_123",
"deleted_by_name": "Jane Doe",
"deleted_by_email": "[email protected]"
}
deleted_by_type is user, api_token or integration. For an API token, deleted_by_name is the token's name; for an integration, it is the integration's name. Pass types=conversation_deleted to list only these events. The log keeps no message content.
When the contact itself is deleted later, these entries are removed with it.
Errors
| Status | Meaning |
|---|---|
403 Forbidden | Your token or role is missing the conversations:delete scope, or your workspace does not allow agents to act on conversations assigned to other agents. |
404 Not Found | The conversation does not exist, belongs to another workspace, or is not visible to you (for example because of a Custom Inbox restriction). |
503 Service Unavailable | The conversation could not be deleted right now. Nothing was deleted; retry later. |
Real-time updates
After a successful delete, connected clients receive a conversation_deleted event over the WebSocket connection, so open inboxes and the mobile app remove the conversation immediately:
{
"type": "conversation_deleted",
"data": {
"conversation_id": "conv_xyz789",
"contact_id": "contact_abc123"
}
}
The same event is sent for each conversation (up to 100) when a contact is deleted.
There is currently no conversation.deleted webhook.