---
title: "Label a message"
method: PATCH
path: "/v1/inboxes/{inboxId}/messages/{emailId}"
tags: ["Inboxes"]
---

# Label a message

`PATCH /v1/inboxes/{inboxId}/messages/{emailId}`

## Request

- Base URL: `https://api.volanea.com`
- URL: `https://api.volanea.com/v1/inboxes/{inboxId}/messages/{emailId}`
- Auth: HTTP bearer

Add and/or remove your own labels (a-z, 0-9, `_ : . -`). System labels can't be set or removed.

## Path parameters

- `inboxId` string, required
- `emailId` string, required

## Request body

- object
  - `addLabels` string[]
  - `removeLabels` string[]

## Response `200`

Updated.

- InboxMessage
  - `emailId` string, required
  - `inboxId` string, required
  - `threadId` string, required
  - `direction` 'inbound' | 'outbound', required
  - `from` string, required
  - `fromName` string, nullable
  - `to` string, required
  - `cc` string[]
  - `subject` string, required
  - `text` string, nullable: Plain-text part of received mail. Null on sent mail.
  - `extractedText` string, nullable: `text` without quoted history and signature — the new part of a reply.
  - `bcc` string[]: Sent mail only.
  - `security` object, nullable
    - `status` 'pending' | 'scanning' | 'clear' | 'review' | 'unavailable'
    - `reasons` string[]
  - `inReplyToEmailId` string, nullable: The campaign/workflow/transactional email this answers, when it answers one.
  - `campaignId` string, nullable
  - `html` string, nullable: Only on single-message and thread reads. Received HTML is sanitized: no scripts, iframes, or event handlers.
  - `labels` string[], required: System: `spam`, `virus` (attachments not downloadable), `unauthenticated` (neither SPF nor DKIM passed), `held`, `security-review`. Plus any you set.
  - `plusTag` string, nullable: `order42` for mail sent to `name+order42@…`.
  - `status` string
  - `attachments` object[]
    - `attachmentId` string
    - `filename` string
    - `contentType` string
    - `size` integer
    - `inline` boolean
  - `createdAt` string, date-time, required
  - `sentAt` string, date-time, nullable

## Other responses

- `401`: Missing or invalid API key.
- `404`: Not found.
- `422`: Request validation failed (code `validation_error`, 422).

---

[API](https://skmtc.dev/volanea/apis/volanea-api.md) · [All operations](https://skmtc.dev/volanea/apis/volanea-api/llms.txt) · [OpenAPI document](https://skmtc.dev/volanea/apis/volanea-api/revisions/9e187ae84fda?raw)
