Feature reference

Everything needed to finish the email step.

Receive, match, extract, inspect, simulate, and operate without stitching together a mailbox, a polling loop, a parser, and a billing guess.

Connect to hosted InboxSpec with REST examples for JavaScript, Python, Java and more. SDK and CLI require access to our private release. Connect your agent with hosted MCP and a project key. Choose a connection method.

Receive

Real email enters through real protocols.

Exercise the same routing and transport behavior that production depends on.

Public MX receiving

Receive mail from any external provider through a production-shaped SMTP edge.

Capture SMTP

Authenticate from staging, accept any recipient, and guarantee that nothing is delivered externally.

Deterministic inboxes

Map run IDs to stable addresses for parallel CI without passing mailbox state between workers.

Shared domains

Start immediately with an InboxSpec-owned domain for smoke tests and evaluation.

Custom domains

Use a receiving domain your own product accepts through REST, SDK or CLI.

Attachments

Preserve exact bytes and return short-lived download URLs when the caller asks for them.

Find and extract

Ask for the artifact, not the inbox.

Matching and extraction collapse multiple network calls and local parsing into one typed result.

Blocking wait

Hold one server-side call until the right message arrives. Waiting is free and exempt from rate limits.

Structured match rules

Match subject, sender, recipients, body text, headers, presence of codes, and classified link types.

Code extraction

Normalize and confidence-rank verification codes across text and HTML content.

Link classification

Return verify, sign-in, reset-password, unsubscribe, and other links as distinct kinds.

Token-bounded bodies

Return compact body projections by default, with an explicit pointer to full content.

Timeout diagnostics

A timed-out result reports non-matching arrivals and a repair hint instead of throwing an ambiguous error.

Integrate

One behavior across every interface.

Pick the transport that fits the worker. Do not trade away semantics to get it.

First-class MCP

Every tool executes against the core domain model, with descriptions written for autonomous callers.

REST API

OpenAPI 3.1 generated from the schemas that validate live requests, including typed error variants.

TypeScript SDK

A typed client for inbox, message, domain, webhook, retention, audit, and usage workflows.

Command-line interface

Stable exit codes separate no match, bad input, authentication, quota, and service failure.

Signed webhooks

Locally verifiable HMAC signatures, retries, and an inspectable delivery log.

Live browser stream

Short-lived inbox-scoped tokens push arrivals directly to the console through Server-Sent Events.

Simulate

Make failure reproducible.

Fixed addresses produce known SMTP outcomes without configuring a special inbox first.

Hard bounce

Exercise a permanent 550 rejection and verify the application stops retrying.

Soft bounce

Return a temporary mailbox-full response and verify retry behavior.

Greylisting

Reject the first attempt temporarily, then accept a later delivery.

Delayed delivery

Hold acceptance for a documented interval so timeout logic can be measured.

Oversized message

Return the correct SMTP size failure before the application treats the send as complete.

Complaint path

Exercise downstream complaint handling with a stable, documented simulator address.

Operate

Understand the run while it is running.

Operational surfaces explain current state without becoming another source of hidden state.

Usage ledger

Postgres remains the billing system of record, with every accepted message represented once.

Audit trail

Read project audit events through REST or the SDK. The console does not list audit events.

Visible plan limits

See message quota, request rate, concurrent waits, and retention before a run depends on them.

Retention controls

Messages expire after their retention period. Set inbox retention and clean up test messages through the API.

Deliverability signals

Attach authentication verdicts, spam score, and scanning state to the message they describe.

Typed health boundary

The service status page reports recent email-delivery checks. Missing or stale checks are shown as unknown.

Protect

Credentials stay narrow and disposable.

Human identity, project access, and message access remain separate principals.

Hashed secrets

API keys and capture credentials are stored as SHA-256 hashes and displayed only once.

Per-key scopes

Give CI only the routes it needs, and revoke the exact credential that stopped being trustworthy.

Project isolation

Ownership checks sit at every parameterized boundary, with not found and not yours deliberately identical.

SSRF protection

Reject unsafe webhook destinations at registration, before a delivery attempt can touch the network.

Sanitized HTML

Read sanitized HTML through the API. The console shows delivery details and codes; it does not preview email HTML.

Bounded ingest

Per-project ceilings cap the damage from leaked relay credentials or abusive receiving domains.

Start with your first test email.