Receive
Spam, updates, and importance
How SendHQ sorts received mail into primary, updates, and spam, flags important messages, and learns from corrections.
Categories
- primary
- Mail from people, and replies to messages you sent.
- updates
- Newsletters, bulk mail, notifications, receipts, and auto-replies.
- spam
- Mail that failed spam or authentication checks, or that you reported. Hidden from every list unless requested.
Message signals
SendHQ reads the verdict headers the receiving service adds before delivery: spam and virus scans and SPF, DKIM, and DMARC results. Only the first occurrence is trusted, because a sender can append look-alike headers but cannot place them ahead of the receiver's. A virus, a failed spam scan, a DMARC failure, failing both SPF and DKIM, unauthenticated mail claiming your own domain, or mail from a sender you have never written to that passes neither DKIM nor SPF is spam. List-Unsubscribe, List-Id, bulk precedence, bulk email service fingerprints, auto-submitted markers, and no-reply style senders make a message an update. Headers are read as real header lines, never by searching the message text.
Sender history
A company domain counts as one sender, and a consumer mailbox such as Gmail counts per address. When a sender keeps writing and you have never written to that address or replied in its thread, their second message onward is an update: cold outreach and follow-up sequences leave Primary. Having emailed someone else at the same company raises the threshold to three messages.
Importance
A message is important when it replies to a conversation you started, such as a winback campaign, or when you have marked its sender important. People you have emailed stay in Primary without being flagged. Newsletters and spam are never important unless you mark the sender important. Classification uses headers, the sender, and your own mail history. Message bodies are not sent to any model.
Corrections
PATCH /emails/:id with {"category": "spam"}, {"category": "primary"}, or {"important": true} fixes one message and remembers the verdict for its sender, overriding the automatic checks for that sender's future mail. A spam report also covers the sender's company domain, because bulk senders rotate addresses. Pass "learn": false to change only that message. When the rules improve, automatically sorted mail is re-sorted; messages you moved yourself are never changed.
Reading by category
GET /emails?direction=in&archived=false&category=primary is the primary inbox. Use category=updates or category=spam for the other views, important=true for triage, and include_spam=true to search every folder. GET /labels returns mailbox counts for unread primary, unread updates, important, and spam.