AuruMail Partners

Sell business email under your own price

Add AuruMail business email to what you already sell, such as domains or hosting. You choose the price, your platform provisions the customer through our API, and we settle your share every week.

Partner sign-in

Reseller accounts are by invitation.

How it works

You control the price

Each plan has a wholesale price set for your account. You choose the retail price at or above it, under Your prices or through the API. Your customer pays that price, and your share is the difference. For example, with a wholesale price of 8.00 and a retail price of 12.00, you earn 4.00 every month the customer pays.

A new price applies to new subscriptions. Existing customers keep the price they signed up at.

How customers buy

Today the API is the only channel: your site shows your prices and calls our API. A ready-made shop page you can link to is planned.

  1. Create the customer with the domain they bought or already own.
  2. Publish the DNS records we return. If you run their DNS, as a registrar does, you can do this automatically so the customer never edits a record.
  3. Ask us to verify the domain.
  4. Create a subscription and send the customer the payment link. We collect the payment at your price.
  5. The customer sets their own password from an email we send. You never handle their password.

Weekly settlement

Your share is recorded when a payment is actually received, and again on every monthly renewal for as long as the customer stays. Weeks run Monday to Sunday, UTC. Each week your registered email receives your total share. Refunds reduce your share, and if a week ends negative the balance carries into the next one.

Connect with OAuth 2.0

Generate a client ID and secret under API keys, then exchange them for a one-hour access token:

curl https://reseller.aurumail.com/oauth/token \
  -u "$CLIENT_ID:$CLIENT_SECRET" \
  -d grant_type=client_credentials

Create a customer:

curl https://reseller.aurumail.com/api/reseller/v1/customers \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"external_id":"order-1001","company_name":"Example Ltd",
       "domain":"example.com","admin_name":"Sam Lee",
       "admin_username":"sam","contact_email":"sam@gmail.com"}'

Then sell it a plan, which returns the payment_url:

curl https://reseller.aurumail.com/api/reseller/v1/customers/$ID/subscription \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"plan":"standard"}'

All endpoints, under /api/reseller/v1

CallPurposeScope
GET /plansList, wholesale and retail pricesbilling:read
PUT /prices/{plan}Set retail_priceprices:write
GET /availabilityCheck ?domain= and ?slug=customers:read
POST /customersCreate; safe to repeat with the same external_idcustomers:write
GET /customers, GET /customers/{id}State and DNS recordscustomers:read
POST /customers/{id}/dns/verifyCheck the domain nowcustomers:write
POST /customers/{id}/activation/resendResend the password emailcustomers:write
POST, DELETE /customers/{id}/subscriptionStart a subscription; stop renewingcustomers:write
GET /statements, GET /statements/{id}Weekly statementsbilling:read
PUT /webhook, POST /webhook/testSet and test your webhookwebhooks:write

Webhooks

Events: customer.created, domain.verified, subscription.activated, subscription.cancelled, payment.received, payment.refunded, statement.issued, webhook.test. Failed deliveries are retried with growing delays.

Verify each one: compute HMAC-SHA256 of <X-AuruMail-Timestamp>.<raw body> with your webhook secret, compare it with X-AuruMail-Signature (v1=<hex>), and reject old timestamps. Deliveries can repeat or arrive out of order, so de-duplicate on X-AuruMail-Delivery, and read the current state from the API when in doubt.