---
title: "Delete a message"
description: "One message, its body and its attachments, at your request rather than the sweep’s."
url: "https://openemail.uk/docs/api/temp-mail/message-delete"
area: "API"
category: "Disposable inboxes"
---

# Delete a message

One message, its body and its attachments, at your request rather than the sweep’s.

`DELETE /temp-mail/inboxes/{id}/messages/{messageId}`

## DELETE /temp-mail/inboxes/{id}/messages/{messageId}

One message, its body and its attachments, at your request rather than the sweep’s.

## The inbox token

**shell**

```
export OE=https://api.openemail.uk
export INBOX="Authorization: Bearer oe_inbox_kQ8v…"
```

Every call below carries the token `POST /temp-mail/inboxes` returned, in the same `Authorization: Bearer` header an API key uses. The address itself authorises nothing, and that separation is the point of the feature rather than a formality: a disposable address is handed to the party you are keeping at arm’s length the moment it is issued.

> The id in the path has to name the same inbox the token does. The token alone identifies one, so this is belt and braces, but it means a caller that muddles two inboxes gets a 404 instead of quietly reading the wrong mail.

## Example

The row and every object under it go together. `messageCount` is unchanged: the 50-message ceiling counts what arrived, so deleting frees storage but not room.

**curl**

```
curl -X DELETE "$OE/temp-mail/inboxes/tinb_9c2f41ab7d3e4c118a0f5d72/messages/tmail_4b81c07d2fa9418e93c6a13f" \
  -H "$INBOX"
```

**Response**

```
{ "object": "temp_message", "id": "tmail_4b81c07d2fa9418e93c6a13f", "deleted": true }
```

> There is no bin and no undelete. On a disposable inbox that is the feature.

> A full inbox stays full. Mail reaching one is dropped at the door, with no bounce and nothing to retrieve later, so the way on is a new address rather than a clear-out.
