Inboxy Developers

Quickstart

From zero to mailboxes in your sequencer with five requests. Base URL https://api.inboxy.io/v1; full reference in the API reference.

1. Get a key

In the app, open Settings → API and MCP and create a key. Choose one workspace for a client integration, or all workspaces (an owner key) for automation across clients. Send it as a Bearer token.

curl https://api.inboxy.io/v1/me -H "Authorization: Bearer $INBOXY_API_KEY"

2. Pick a workspace

Owner keys act in any workspace: send X-Workspace-Id with an id from the workspaces list in the answer above. Workspace keys skip this header.

curl https://api.inboxy.io/v1/domains -H "Authorization: Bearer $INBOXY_API_KEY" -H "X-Workspace-Id: $WS"

3. Connect a domain

curl -X POST https://api.inboxy.io/v1/domains/connect \
  -H "Authorization: Bearer $INBOXY_API_KEY" -H "X-Workspace-Id: $WS" \
  -H "Content-Type: application/json" -d '{"domain":"acme-outreach.com"}'

Point the domain's nameservers at the ones returned (or connect your registrar and we set them), then POST /v1/domains/{id}/check until status is active.

4. Connect your sequencer

curl -X POST https://api.inboxy.io/v1/sequencers/connections \
  -H "Authorization: Bearer $INBOXY_API_KEY" -H "X-Workspace-Id: $WS" \
  -H "Content-Type: application/json" \
  -d '{"platform":"instantly","credentials":{"email":"ops@acme.com","password":"...","apiKey":"..."}}'

GET /v1/sequencers/platforms lists what each platform needs. With an API key on Instantly or Smartlead, mailboxes are pushed automatically after setup.

5. Order mailboxes

# Quote first (nothing is created)
curl -X POST "https://api.inboxy.io/v1/orders?dry_run=true" ... -d @order.json

# Then buy, with an idempotency key so a retry never charges twice
curl -X POST https://api.inboxy.io/v1/orders -H "Idempotency-Key: order-2026-10-15-1" ... -d @order.json
{
  "items": [
    { "domainId": "<domain id>", "sequencerConnectionId": "<connection id>",
      "mailboxes": [ { "localPart": "anna", "fullName": "Anna Lee" }, { "localPart": "tom", "fullName": "Tom Reyes" } ] }
  ]
}

Mailboxes move through ordered → submitted → fulfilled → ready; watch them with GET /v1/mailboxes?status=ready, then reveal credentials with POST /v1/mailboxes/{id}/credentials or push them with POST /v1/exports.

Conventions

Lists{ data, next_cursor }; pass cursor for the next page, limit up to 500.
Errors{ error: { code, message, field? } } with a stable code. See the reference for the codes of each route.
Rate limits300 requests a minute per key; X-RateLimit-* headers on every response; 429 rate_limited when exceeded.
PurchasesAccept ?dry_run=true and Idempotency-Key; card payments return a Stripe Checkout URL to finish in a browser.
AgentsThe same capabilities as MCP tools: see the MCP server page.