Skip to main content
This guide is for partners: integrators offering email to their own customers with RQE underneath (reseller pattern). The model is: one customer, one project. You create a project per customer with your partner key and get back their API key to operate it. Each customer is genuinely isolated — their data, their domains, their limits and their stats.

Start here

1

Create the customer's project

With your partner key (sk_partner_..., issued by RQE when your partner account is enabled), you create one project per customer and receive their api_key.
Store the api_key securely. The external_key makes the call idempotent: retrying returns the same project instead of duplicating it.
2

Register their domain

With the customer’s api_key, register their domain and get back the DNS records they need to publish.
To let them publish in one click, use Domain Connect: GET /domains/customer.com/domain-connect returns a signed URL that creates the records at their provider.
This is where most integrations stall: the end customer has to touch their DNS. The one-click link is what helps most.
3

Register their reply domain (optional)

So replies land at name@reply.customer.com instead of a token-encoded address:
4

Wait for verification

Once the customer publishes the DNS, you get the domain.verified webhook — no polling needed. See Webhooks.
5

Send and measure

With the same api_key, send transactional or batch email. To see how each customer is doing:
And GET /v1/partner/projects lists your whole portfolio.

Check your customers’ health

GET /domains/health returns, for every domain in a project: whether it can send, how its authentication looks, how much it sent, how it bounces, and what’s missing — in text you can forward straight to your customer.
Watch for can_send: true with status: critical. Email goes out with a 200 and nothing looks broken, but it ships without DKIM on your customer’s domain — their reputation blends with everyone else’s, and they can’t use their own reply domain or tracking domain.It’s the single most common gap in partner integrations, and it doesn’t surface as an error anywhere else.
See Domains for the full response.
Watch hard_bounce_rate, not the total bounce count. Providers calculate the suspension threshold (~5%) on permanent bounces; transient ones don’t count. A domain can show 12% total bounces while staying below 1% hard bounce.Also ask each customer to publish DKIM on their own domain: that’s what makes their sending reputation theirs, rather than blending with everyone else’s.

Alternative — several customers in one project

If you’d rather manage a single credential and your customers will never need their own limits or access, you can keep them all inside one project. In that model registering domains and reply domains works the same, just with your own key. A project can hold several reply domains: each send resolves the one matching the sender’s domain. To debug a specific customer:
And for their aggregated metrics, GET /v1/domain-stats — see Activity. GET /domains/health works here too, and returns one entry per customer domain.

With an AI agent (MCP)

See MCP · partner mode.

Reference