Test every mailbox or pick a subset.
Pass {"mailboxes": [3, 7, 23]} to limit a test to specific providers. Leave the body empty to seed across every enabled mailbox. Mailbox IDs come from GET /inbox-placement/mailboxes.
List the mailboxes you want to test, create a placement test, send your email to each returned address, then read back per-mailbox folder placement (inbox / promotions / spam) with sender forensics and blocklist exposure as JSON.
Pass {"mailboxes": [3, 7, 23]} to limit a test to specific providers. Leave the body empty to seed across every enabled mailbox. Mailbox IDs come from GET /inbox-placement/mailboxes.
The results[] array carries one entry per mailbox with delivery status, the destination tab, sender + sender_ip the receiver saw, and a public-blocklist exposure count.
Wire scheduled placement tests into your monitoring stack. Hook the JSON response into Datadog, PagerDuty, Slack, or whatever already pages your team.
Past tests stay on file. GET /inbox-placement?page=N&per_page=15 returns the paginated list with id, status, timestamps, and the hosted report_url. Track per-mailbox drift week-over-week without rebuilding storage on your side.
A per-mailbox folder verdict, sender forensics, and blocklist exposure: the data your monitoring stack needs to act.
Each results[].tab field reports where the email landed for that specific provider: "inbox", "promotions", "spam", or "missing". Aggregate scores hide where reputation damage is actually happening. This answers the question directly.
The status field reports delivery: "delivered", "pending", or "missing" if the seed mailbox never received the message at all.
Every result entry carries sender, sender_ip, and blacklists (the count of public blocklists the engine detected on the sending IP at delivery time). You see what the receiver saw, not just what your own logs show.
Pipe these straight into your reputation dashboard or use them to throttle a problematic IP before it impacts the next campaign.
GET /ext/v2/inbox-placement/mailboxes returns every enabled mailbox with id, name, and the live address. Pick the IDs that match your audience and pass them to the create endpoint.
No need to seed every provider for a B2B SaaS sending mostly to corporate Outlook. Scope tightly and save your quota.
Inbox placement is asynchronous: list mailboxes, create a test, send your email to each returned address, then read the per-provider verdicts.
GET /ext/v2/inbox-placement/mailboxes returns the full set of enabled mailboxes with stable IDs. Useful once at setup, then on a refresh schedule as providers come online.
POST /ext/v2/inbox-placement with an optional mailboxes filter. The 201 response returns the test id and the list of mailbox addresses you need to deliver to.
Deliver from your platform to every returned address. Include the test id somewhere in the email body so our engine can match the message to the test.
GET /ext/v2/inbox-placement/{id} returns the results[] array with per-mailbox tab, status, sender_ip, and blacklists count once status === "completed".
Mailbox mechanics, polling, rate limits, and what each provider verdict means.
POST /ext/v2/inbox-placement returns a test id and a list of mailbox addresses. Your platform delivers the real email to each one (with the test id in the body so we can match it). Then GET /ext/v2/inbox-placement/{id} returns per-mailbox verdicts once status === "completed".GET /ext/v2/inbox-placement/mailboxes.blacklists field on each result is the number of public blocklists our engine detected the sending IP on at delivery time. Zero is the expected state; anything higher is a reputation problem to chase down through your sender / ESP.GET /ext/v2/inbox-placement?page=1&per_page=15 returns a paginated list of tests created via the API, with id, status, timestamps, and the report_url for each.GET /inbox-placement/{id} with exponential back-off until status is "completed".API access is included with the White Label plan. Pricing on the public page, custom limits over chat.
See pricing →