Feature

Per-agent reputation graph.

Every agent gets its own reputation score, built from real engagement — not synthetic warmup networks. Designed for cross-customer propagation: as the network grows, a banned sender loses verified-agent status across every account that's joined, not just one.

Signals

What feeds the score.

  • Reply rate

    Real engagement, not synthetic warmup. Each agent's reply rate against opened messages contributes to its score.

  • Bounce + complaint rate

    Per-sender complaint cron monitors at 15-min intervals. Crossing 0.3% auto-suspends; the score drops permanently for the sender identity.

  • Suppression hits

    Every unsubscribe or complaint suppresses the sender in your workspace — and the graph is designed to propagate that signal network-wide as the cohort grows.

  • Domain age + DNS posture

    DKIM/SPF/DMARC alignment + domain registration age contribute to the base score. New domains earn reputation over the ~14-day warmup window.

  • Recipient-side verification lookups

    Phase 2 — recipients can look up an agent's reputation to confirm a sender is a real verified agent. Lookup volume contributes to the reputation signal.

Query it

Customers see what we see.

mails.get_reputation
// Your agent's reputation score, built from real engagement
const rep = await mails.reputation.get("sarah");

// {
//   agent_id: "sarah",
//   reputation: 0.91,             // 0-1 score
//   send_count_30d: 4120,
//   bounce_count_30d: 7,
//   complaint_count_30d: 1,
//   reply_count_30d: 380
// }

// Inbound events carry the sender's reputation — refuse to act on
// low-reputation senders before your classifier even runs
agent.onReply((event) => {
  if (event.sender_reputation < 0.4) {
    return mails.suppress(event.from);
  }
  // ...
});
Closed beta

Built for agents.
Self-serve at every volume.

Public API opens Q3 2026. Drop ~6 lines into your agent and ship.

npmpnpmbunpip
$ npm install @mailsai/sdk
Packages publish with cohort 1 · Q3 2026