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 name
  • status - string - Filter by status: active, processing, cancelled, cancelled_active, cancelled_expired, expired
  • sortBy - string - Sort field: name, status, expires_at, createdAt, mailboxCount (default: createdAt)
  • sortOrder - string - Sort direction: asc or desc (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 ID
  • forwardingAddress - string - Email address for domain forwarding
  • contactDetails - object - Contact details for domain registration

Optional:

  • dmarcEmail - string - Email address for DMARC reports
  • mailboxProvider - 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"
    }
  }
}
Previous
Conversations