Skip to content
simailDocsv0

API reference

Labels

System and custom labels on messages and threads, how to filter by them, and which ones an agent may change.

docs.simail.ai/api/labels

Labels are short strings on messages. A thread’s labels are the union of its messages’ labels.

LabelSet byAgents may change
receivedsimail, on inbound mailno
sentsimail, on outbound mailno
unreadsimail, on inbound mailyes
importantyouyes
draftsimailno
heldsimail; cleared when a human releases the messageno
spamsimailno
blockedsimail (sender on a block list)no
trashDELETE on a message or threadno (only by deleting)

Any other lowercase string up to 64 characters (a-z, 0-9, -, _, ., /) is a custom label, for example orders or needs-human. Agents may add and remove custom labels freely.

PATCH/v0/inboxes/{inbox_id}/messages/{message_id}
PATCH/v0/inboxes/{inbox_id}/threads/{thread_id}
POST/v0/inboxes/{inbox_id}/messages/batch-update

All need message_update and take:

{ "add_labels": ["orders"], "remove_labels": ["unread"] }

Trying to change a label agents may not change returns 400 validation_error. Changes publish label.added and label.removed. Sends can set labels on the sent copy with labels.

List and search endpoints take labels=a,b (all must match). spam, blocked and trash are left out of listings unless you pass include_spam, include_blocked or include_trash, each of which needs its label_*_read permission.

MCP: list_labels and update_labels.