API reference / Messages

Update message labels

Add or remove message labels. Quarantine requires human review in the dashboard.

PATCH/v1/inboxes/{inboxId}/messages/{messageId}/labels

Requires an API key with the messages:write scope. MCP tool: update_message_labels. CLI: goshenemail messages labels.

Request

Path parameters

NameTypeRequiredNotes
inboxIdstring (email)Yesup to 254 characters
messageIdstringYes1–998 characters

Body

FieldTypeRequiredNotes
addLabelsstring[]up to 50 items, default []
removeLabelsstring[]up to 50 items, default []

Response

None.

Errors return { "error": { "code", "message", "transient" } } with a 4xx or 5xx status. See Errors.

Examples

curl

curl "https://api.goshenemail.com/v1/inboxes/research%40agents.goshenemail.com/messages/%3C20260920.12345%40agents.goshenemail.com%3E/labels" \
  -H "Authorization: Bearer $GOSHENEMAIL_API_KEY" \
  -X PATCH \
  -H "Content-Type: application/json" \
  -d '{
    "addLabels": [
      "reviewed"
    ],
    "removeLabels": [
      "unread"
    ]
  }'

CLI

goshenemail messages labels --json '{"inboxId":"research@agents.goshenemail.com","messageId":"<20260920.12345@agents.goshenemail.com>","addLabels":["reviewed"],"removeLabels":["unread"]}'