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

V2 provides standardized responses for listing and retrieving domains.


List Domains

Get all managed domains for your organization.

bash
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:

ParameterTypeRequiredDescription
team_idstringNoFilter by team ID
statusstringNoFilter by status: pending, purchasing, purchased, setting_up, active, purchase_failed, setup_failed, inactive, expired, cancelled
managedstringNoFilter by management: internal or external
searchstringNoSearch in domain name
sort_bystringNoSort field: created_at, name, status, expires_at (default: name)
sort_orderstringNoSort direction: asc or desc (default: asc)
limitnumberNoResults per page (default: 50, max: 100)
offsetnumberNoPagination offset (default: 0)


V1 API

bash
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 name

  • status - Filter: active, processing, cancelled, expired

  • sortBy - Sort field: name, status, expires_at, mailboxCount

  • sortOrder - asc or desc

  • limit / offset - Pagination

  • Get Domain

    Get details for a specific domain.

    bash
    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.

    bash
    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.

    bash
    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.

    bash
    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

    StatusDescription
    processingDomain purchase in progress
    activeDomain is active and ready
    cancelledCancellation requested
    cancelled_activeCancelled but still active until expiry
    cancelled_expiredCancelled and expired
    expiredDomain has expired



    V1 vs V2 Endpoint Mapping

    ActionV1 EndpointV2 Endpoint
    ListGET /v1/managed-domainsGET /v2/domains
    GetGET /v1/managed-domains/:idGET /v2/domains/:id
    SuggestionsPOST /v1/managed-domains/generate-suggestionsV1 only
    AvailabilityPOST /v1/managed-domains/check-availabilityV1 only
    PurchasePOST /v1/managed-domains/purchaseV1 only