Learn how Ark’s Platform, Tenant, Domain, and Email hierarchy lets SaaS platforms send white-label email with per-customer domains and authentication.
Ark is built around a four-level hierarchy: Platform → Tenant → Domain → Email. This architecture lets your SaaS platform give each customer their own sending domains and independent configuration — without building email infrastructure from scratch.
Use tenants whenever your platform sends email on behalf of distinct customers or organizational units:
SaaS platforms — each customer sends from their own domain (@customer.com)
Agencies — each client has separate sending domains and deliverability
Marketplaces — sellers send order confirmations from their brand
Internal teams — departments with separate sending requirements
If you’re building a single product that sends email from one domain, you can use the default tenant that comes with your account. Tenants become essential when you need per-customer isolation.
Track sending volume, deliverability, and engagement per tenant:
Python
Node.js
cURL
Copy
# Get usage for a specific tenantusage = client.tenants.usage.retrieve("tenant_abc123")print(f"Emails sent: {usage.data.emails_sent}")print(f"Bounces: {usage.data.bounces}")print(f"Complaints: {usage.data.complaints}")# Get usage timeseriestimeseries = client.tenants.usage.timeseries("tenant_abc123")for point in timeseries.data: print(f"{point.date}: {point.emails_sent} sent")
Copy
// Get usage for a specific tenantconst usage = await client.tenants.usage.retrieve('tenant_abc123');console.log(`Emails sent: ${usage.data.emailsSent}`);console.log(`Bounces: ${usage.data.bounces}`);// Get usage timeseriesconst timeseries = await client.tenants.usage.timeseries('tenant_abc123');for (const point of timeseries.data) { console.log(`${point.date}: ${point.emailsSent} sent`);}
Copy
# Get usage for a specific tenantcurl https://api.arkhq.io/v1/tenants/tenant_abc123/usage \ -H "Authorization: Bearer $ARK_API_KEY"# Get usage timeseriescurl https://api.arkhq.io/v1/tenants/tenant_abc123/usage/timeseries \ -H "Authorization: Bearer $ARK_API_KEY"