Managed Domain API
Interfaces to manage domains
Managed domains allow you to purchase and manage custom domains for email sending. You can check availability, generate suggestions, and purchase domains.
V2 API Available
List Domains
Get all managed domains for your organization.
V2 API (Recommended)
curl -X GET 'https://api.supersend.io/v2/domains?team_id=xxx&status=active&managed=internal&search=example&sort_by=name&sort_order=asc&limit=20' \
-H "Authorization: Bearer YOUR_API_KEY"# Response (200 OK)
{
"success": true,
"data": [
{
"object": "domain",
"id": "domain-uuid",
"name": "example.com",
"status": "active",
"managed": "internal",
"provider": "namecheap",
"registrar": "namecheap",
"dns_provider": "cloudflare",
"expires_at": "2026-11-27T10:30:00Z",
"auto_renew": true,
"cancel_at_period_end": false,
"dmarc_email": "dmarc@example.com",
"active_sender_count": 3,
"health": {
"is_active": true,
"dns_valid": true,
"spf_valid": true,
"dkim_valid": true,
"dmarc_valid": true,
"mx_valid": true,
"is_blacklisted": false,
"last_check": "2025-11-27T10:00:00Z"
},
"team_id": "team-uuid",
"created_at": "2025-11-27T10:30:00Z",
"updated_at": "2025-11-27T10:30:00Z"
}
],
"pagination": {
"total": 5,
"limit": 20,
"offset": 0,
"has_more": false
},
"request_id": "req_a1b2c3d4e5f6789012345678"
}
V2 Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
team_id | string | No | Filter by team ID |
status | string | No | Filter by status: pending, purchasing, purchased, setting_up, active, purchase_failed, setup_failed, inactive, expired, cancelled |
managed | string | No | Filter by management: internal or external |
search | string | No | Search in domain name |
sort_by | string | No | Sort field: created_at, name, status, expires_at (default: name) |
sort_order | string | No | Sort direction: asc or desc (default: asc) |
limit | number | No | Results per page (default: 50, max: 100) |
offset | number | No | Pagination offset (default: 0) |
V1 API
curl -X GET 'https://api.supersend.io/v1/managed-domains?status=active&limit=50' \
-H "Authorization: Bearer YOUR_API_KEY"# Response
{
"domains": [...],
"count": 5,
"totalPrice": 65.0,
"processingCount": 0
}
V1 Query Parameters:
search - Search in domain namestatus - Filter: active, processing, cancelled, expiredsortBy - Sort field: name, status, expires_at, mailboxCountsortOrder - asc or desclimit / offset - PaginationGet Domain
Get details for a specific domain.
V2 API (Recommended)
curl -X GET 'https://api.supersend.io/v2/domains/domain-uuid' \
-H "Authorization: Bearer YOUR_API_KEY"# Response (200 OK)
{
"success": true,
"data": {
"object": "domain",
"id": "domain-uuid",
"name": "example.com",
"status": "active",
"managed": "internal",
"provider": "namecheap",
"registrar": "namecheap",
"dns_provider": "cloudflare",
"expires_at": "2026-11-27T10:30:00Z",
"auto_renew": true,
"cancel_at_period_end": false,
"dmarc_email": "dmarc@example.com",
"forwarding_address": "forward@example.com",
"active_sender_count": 3,
"health": {
"is_active": true,
"dns_valid": true,
"spf_valid": true,
"dkim_valid": true,
"dmarc_valid": true,
"mx_valid": true,
"is_blacklisted": false,
"blacklist_reason": null,
"blacklist_providers": [],
"errors": [],
"warnings": [],
"last_check": "2025-11-27T10:00:00Z",
"records": {
"spf": "v=spf1 include:_spf.example.com ~all",
"dkim": "v=DKIM1; k=rsa; p=...",
"dmarc": "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com",
"mx": ["mail.example.com"],
"nameservers": ["ns1.cloudflare.com", "ns2.cloudflare.com"]
}
},
"dns_records": {
"spf": {...},
"dkim": {...},
"dmarc": {...},
"mx": [...]
},
"team": {
"id": "team-uuid",
"name": "Sales Team"
},
"senders": [
{
"id": "sender-uuid",
"email": "sales@example.com",
"send_as": "Sales Team",
"disabled": false,
"warm": true,
"warming_stage": 3,
"health_score": 95,
"status": "active"
}
],
"created_at": "2025-11-27T10:30:00Z",
"updated_at": "2025-11-27T10:30:00Z"
},
"request_id": "req_a1b2c3d4e5f6789012345678"
}
Generate Domain Suggestions (V1)
Generate available domain name suggestions.
curl -X POST 'https://api.supersend.io/v1/managed-domains/generate-suggestions' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"rootDomain": "example",
"count": 10
}'# Response
{
"suggestions": [
{ "name": "getexample.com", "available": true },
{ "name": "tryexample.com", "available": true },
{ "name": "examplehq.com", "available": true }
]
}
Check Domain Availability (V1)
Check if a domain is available for purchase.
curl -X POST 'https://api.supersend.io/v1/managed-domains/check-availability' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"domain": "example.com"
}'# Response
{
"domain": "example.com",
"available": true,
"price": 13.0,
"currency": "USD"
}
Purchase Domain (V1)
Purchase an available domain.
curl -X POST 'https://api.supersend.io/v1/managed-domains/purchase' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"domain": "example.com"
}'# Response
{
"success": true,
"domain": {
"id": "domain-uuid",
"name": "example.com",
"status": "processing"
},
"message": "Domain purchase initiated"
}
Domain Status Values
| Status | Description |
|---|---|
processing | Domain purchase in progress |
active | Domain is active and ready |
cancelled | Cancellation requested |
cancelled_active | Cancelled but still active until expiry |
cancelled_expired | Cancelled and expired |
expired | Domain has expired |
V1 vs V2 Endpoint Mapping
| Action | V1 Endpoint | V2 Endpoint |
|---|---|---|
| List | GET /v1/managed-domains | GET /v2/domains |
| Get | GET /v1/managed-domains/:id | GET /v2/domains/:id |
| Suggestions | POST /v1/managed-domains/generate-suggestions | V1 only |
| Availability | POST /v1/managed-domains/check-availability | V1 only |
| Purchase | POST /v1/managed-domains/purchase | V1 only |