APIs
Managed Domain API
Managed domains allow you to purchase and manage custom domains for your organization. You can check availability, generate suggestions, and purchase domains.
Get All Domains
Get a list of all managed domains for your organization with filtering, sorting, and pagination.
Query Parameters:
Optional:
search- string - Search in domain namestatus- string - Filter by status:active,processing,cancelled,cancelled_active,cancelled_expired,expiredsortBy- string - Sort field:name,status,expires_at,createdAt,mailboxCount(default:createdAt)sortOrder- string - Sort direction:ascordesc(default:desc)limit- number - Number of records to return (default: 50, max: 100)offset- number - Number of records to skip (default: 0)
curl -X GET 'https://api.supersend.io/v1/managed-domains?status=active&limit=50&offset=0&sortBy=name&sortOrder=asc' \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"
# Response
{
"domains": [
{
"id": "domain-uuid",
"name": "example.com",
"status": "active",
"computed_status": "active",
"price": 13.0,
"expires_at": "2026-11-27T10:30:00Z",
"createdAt": "2025-11-27T10:30:00Z",
"mailboxCount": 3,
"is_cancellation_pending": false,
"current_period_end": "2026-11-27T10:30:00Z"
}
],
"count": 1,
"totalCount": 5,
"limit": 50,
"offset": 0,
"hasMore": false,
"totalPrice": 65.0,
"processingCount": 0,
"nextBillingDate": "2026-11-27T10:30:00Z"
}
Generate Domain Suggestions
Generate available domain name suggestions based on a root domain or name. Returns available .com domain suggestions.
Request Body:
Required:
rootDomain- string - Root domain or name to generate suggestions from (min: 2, max: 255 characters). Can be a domain (e.g., "example.com") or just a name (e.g., "example")
Optional:
count- number - Number of suggestions to generate (default: 10, min: 1, max: 50)
curl -X POST 'https://api.supersend.io/v1/managed-domains/generate-suggestions' \
-H "Authorization: Bearer <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
Check if a domain is available for purchase. Only supports .com, .org, and .xyz TLDs.
Request Body:
Required:
domain- string - Domain name to check (e.g., "example.com")
curl -X POST 'https://api.supersend.io/v1/managed-domains/check-availability' \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"domain": "example.com"
}'
# Response
{
"domain": "example.com",
"available": true,
"price": 13.0
}
Purchase Domains
Purchase one or more domains. Creates a Stripe subscription and queues domains for processing.
Request Body:
Required:
domains- array - Array of domain names to purchase (min: 1)paymentMethodId- string - Stripe payment method IDforwardingAddress- string - Email address for domain forwardingcontactDetails- object - Contact details for domain registration
Optional:
dmarcEmail- string - Email address for DMARC reportsmailboxProvider- string - Mailbox provider:generic(default),google,outlook,smtp
curl -X POST 'https://api.supersend.io/v1/managed-domains/purchase' \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"domains": ["example.com", "example.org"],
"paymentMethodId": "pm_xxxxx",
"forwardingAddress": "admin@example.com",
"contactDetails": {
"firstName": "John",
"lastName": "Doe",
"email": "admin@example.com",
"phone": "+1-555-1234",
"address": "123 Main St",
"city": "San Francisco",
"state": "CA",
"zip": "94102",
"country": "US"
},
"dmarcEmail": "dmarc@example.com",
"mailboxProvider": "generic"
}'
# Response
{
"message": "Checkout completed successfully. Domains are being processed and will be available shortly.",
"domains": [
{
"id": "domain-uuid",
"name": "example.com",
"status": "pending",
"price": 13.0,
"expires_at": "2026-11-27T10:30:00Z",
"createdAt": "2025-11-27T10:30:00Z"
}
],
"status": "processing",
"subscription": {
"id": "sub_xxxxx",
"invoice": {
"id": "in_xxxxx",
"invoice_pdf": "https://pay.stripe.com/invoice/...",
"hosted_invoice_url": "https://invoice.stripe.com/...",
"receipt_number": "1234-5678"
}
}
}