HomeDocsSupport
OverviewWhat is AliasFleet?Creating an AliasEmails Not ArrivingContact Support

Getting Started

Getting Started
  • What is AliasFleet?
  • Your First Alias
  • Understanding Forwarding
  • Your Dashboard at a Glance

Account & Billing

Account & Billing
  • Your Plan and Usage Limits
  • Upgrading to Pro
  • Managing Your Subscription
  • Downloading Invoices
  • Support Ticket Limits
  • Membership Tier
  • Billing Cycle and Renewal
  • API Rate Limits by Plan

Billing Support

Account & Billing
  • Cancelling Your Subscription
  • Downgrading Your AliasFleet Plan
  • Understanding Proration and Plan Changes
  • Updating Your Payment Method
  • Handling Failed Payments and Account Suspension
  • AliasFleet Refund Policy

Email Aliases

Email Aliases
  • Creating and Managing Aliases
  • Activating and Deactivating an Alias
  • Deleting an Alias
  • Sorting, Filtering and Searching Aliases
  • Grid View vs List View
  • Grouping Aliases
  • Alias Categories
  • Copying an Alias Address
  • Per-Alias Email Banner Settings
  • Alias Permission Mode
  • Sending Outbound Emails (Quick Send)

Custom Domains

Custom Domains
  • Adding a Custom Domain
  • DNS Verification
  • Domain Status and Health Indicators
  • Subdomains
  • Removing a Domain
  • Using Your Domain on Aliases

Destinations

Destinations
  • What Is a Destination?
  • Adding a Destination
  • Verifying a Destination
  • Setting a Default Destination
  • Reply from Aliases
  • Send New Emails from Aliases
  • Understanding Email Threading & Replies
  • One-Click Enable from Bounce Email
  • Removing a Destination
  • PGP Encryption for Destinations
  • WKD Auto-Encryption for Replies & Sends

Security & Privacy

Security & Privacy
  • Security Best Practices
  • Two-Factor Authentication (2FA)
  • Active Sessions
  • Changing Your Password
  • What Data AliasFleet Stores
  • Reporting a Security Issue
  • Browser Extension Sessions
  • How to Use Vault Lock in the Extension

Rate Limiting

Security & Privacy
  • Rate Limiting & Account Protection

Settings

Settings
  • General Settings
  • Profile Settings
  • Alias Settings
  • Destinations in Settings
  • Notification Settings
  • Security Settings
  • Deleting Your Account

Analytics

Analytics
  • Analytics Overview
  • Alias Performance
  • Top Senders
  • Trends
  • Bounces
  • Bandwidth Usage
  • Category Breakdown
  • Exporting Analytics Data
  • Understanding Your Alias Statistics
  • How Monthly Trends Work

Sender Rules

Sender Rules
  • Using Sender Rules
  • Blacklist vs Deactivating an Alias
  • Using Sender Rules to Allow Senders (Whitelist)
  • Blocked Emails Explained

Troubleshooting

Troubleshooting
  • Emails Not Arriving
  • Can't Verify a Destination
  • DNS Not Verifying
  • Can't Log In
  • Replies Not Going Through Alias
  • Alias Not Forwarding
  • Payment Failed
  • Browser Extension Issues
  • Too Many Requests Error
  • Page Not Loading or Showing an Error

Developers

Developer API
  • Identity & Token Introspection API
  • Aliases API
  • Alias Destinations & Batch Operations API
  • Domains API
  • Destinations API
  • Quick-Send API
  • Sender Rules API
  • Activity & Audit Logs API
  • Fleet Analytics API
  • Rules Engine API
  • Security & Threat Intelligence API
  • Webhooks API
PrivacyTermsCookies
Article Navigation
OverviewWhat is AliasFleet?Creating an AliasEmails Not ArrivingContact Support

Getting Started

Getting Started
  • What is AliasFleet?
  • Your First Alias
  • Understanding Forwarding
  • Your Dashboard at a Glance

Account & Billing

Account & Billing
  • Your Plan and Usage Limits
  • Upgrading to Pro
  • Managing Your Subscription
  • Downloading Invoices
  • Support Ticket Limits
  • Membership Tier
  • Billing Cycle and Renewal
  • API Rate Limits by Plan

Billing Support

Account & Billing
  • Cancelling Your Subscription
  • Downgrading Your AliasFleet Plan
  • Understanding Proration and Plan Changes
  • Updating Your Payment Method
  • Handling Failed Payments and Account Suspension
  • AliasFleet Refund Policy

Email Aliases

Email Aliases
  • Creating and Managing Aliases
  • Activating and Deactivating an Alias
  • Deleting an Alias
  • Sorting, Filtering and Searching Aliases
  • Grid View vs List View
  • Grouping Aliases
  • Alias Categories
  • Copying an Alias Address
  • Per-Alias Email Banner Settings
  • Alias Permission Mode
  • Sending Outbound Emails (Quick Send)

Custom Domains

Custom Domains
  • Adding a Custom Domain
  • DNS Verification
  • Domain Status and Health Indicators
  • Subdomains
  • Removing a Domain
  • Using Your Domain on Aliases

Destinations

Destinations
  • What Is a Destination?
  • Adding a Destination
  • Verifying a Destination
  • Setting a Default Destination
  • Reply from Aliases
  • Send New Emails from Aliases
  • Understanding Email Threading & Replies
  • One-Click Enable from Bounce Email
  • Removing a Destination
  • PGP Encryption for Destinations
  • WKD Auto-Encryption for Replies & Sends

Security & Privacy

Security & Privacy
  • Security Best Practices
  • Two-Factor Authentication (2FA)
  • Active Sessions
  • Changing Your Password
  • What Data AliasFleet Stores
  • Reporting a Security Issue
  • Browser Extension Sessions
  • How to Use Vault Lock in the Extension

Rate Limiting

Security & Privacy
  • Rate Limiting & Account Protection

Settings

Settings
  • General Settings
  • Profile Settings
  • Alias Settings
  • Destinations in Settings
  • Notification Settings
  • Security Settings
  • Deleting Your Account

Analytics

Analytics
  • Analytics Overview
  • Alias Performance
  • Top Senders
  • Trends
  • Bounces
  • Bandwidth Usage
  • Category Breakdown
  • Exporting Analytics Data
  • Understanding Your Alias Statistics
  • How Monthly Trends Work

Sender Rules

Sender Rules
  • Using Sender Rules
  • Blacklist vs Deactivating an Alias
  • Using Sender Rules to Allow Senders (Whitelist)
  • Blocked Emails Explained

Troubleshooting

Troubleshooting
  • Emails Not Arriving
  • Can't Verify a Destination
  • DNS Not Verifying
  • Can't Log In
  • Replies Not Going Through Alias
  • Alias Not Forwarding
  • Payment Failed
  • Browser Extension Issues
  • Too Many Requests Error
  • Page Not Loading or Showing an Error

Developers

Developer API
  • Identity & Token Introspection API
  • Aliases API
  • Alias Destinations & Batch Operations API
  • Domains API
  • Destinations API
  • Quick-Send API
  • Sender Rules API
  • Activity & Audit Logs API
  • Fleet Analytics API
  • Rules Engine API
  • Security & Threat Intelligence API
  • Webhooks API
PrivacyTermsCookies
Developer API
Docs
Developer API
Domains API

Domains API

Query shared platform domains, register custom brand domains, verify DNS records, and inspect catch-all forwarding rules.

8 min read
Updated September 4, 2026

Register and verify custom domains, configure CNAME-managed DKIM routing, inspect DNS propagation health, and query shared platform domains.


Quick Reference

EndpointMethodScopePurpose
/v1/domainsGETdomains:readList all available shared and verified custom domains
/v1/custom-domainsGETdomains:readList custom domains with DNS health, catch-all, and alias counts
/v1/custom-domainsPOSTdomains:writeRegister a new custom domain and retrieve DNS records
/v1/custom-domains/:idGETdomains:readRetrieve detailed configuration and status for a custom domain
/v1/custom-domains/:id/dns-recordsGETdomains:readRetrieve required DNS records and target values
/v1/custom-domains/:id/verify-dnsPOSTdomains:writeTrigger live multi-resolver DNS verification and activation
/v1/custom-domains/:idDELETEdomains:writeDelete custom domain and release associated routing records

DNS Requirements

To activate inbound routing and outbound email signing, publish the following DNS records with your DNS provider:

TypeName / HostTarget / ValuePriorityRequired For
MX@ or sub-hostrelay.aliasfleet.com.10All domains & subdomains
TXT (SPF)@ or sub-hostv=spf1 include:_spf.aliasfleet.com ~all—All domains & subdomains
CNAME (DKIM 1)af1._domainkeyaf1._domainkey._dkim.aliasfleet.com.—Apex / root domains only
CNAME (DKIM 2)af2._domainkeyaf2._domainkey._dkim.aliasfleet.com.—Apex / root domains only
TXT (DMARC)_dmarcv=DMARC1; p=none;—Apex / root domains only
Note

Managed DKIM Delegation: AliasFleet manages DKIM keys centrally via Dual-CNAME records. You do not need to manually configure raw RSA public key strings. CNAME delegation allows AliasFleet to perform automated, zero-downtime DKIM key rotations without requiring DNS changes on your end.

Warning

Cloudflare DNS Proxying: If your DNS is managed on Cloudflare, ensure MX and verification records are set to DNS Only (gray cloud). Setting them to Proxied (orange cloud) routes email through Cloudflare's HTTP CDN proxy and will fail verification.

Note

Subdomain Scope: Subdomains (e.g. mail.company.com) only require MX and SPF. DKIM and DMARC policies are handled by the apex domain.


GET /v1/domains — List Available Domains

Scope: domains:read · Rate Limit: 60/min · Idempotent: Yes

Returns all active domains available for alias creation on your workspace, including verified custom domains and shared platform domains.

Example Request

curl -X GET "https://api.aliasfleet.com/v1/domains" \
  -H "Authorization: Bearer afp_4a8f9c1b2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e" \
  -H "Accept: application/json"

Response (200 OK)

{
  "domains": [
    {
      "id": "dom_bXm9kLpQr2nVwYz3",
      "domain": "mail.acme-corp.com",
      "type": "custom",
      "is_premium": false,
      "is_default": true
    },
    {
      "id": "dom_1a2b3c4d5e6f7g8h",
      "domain": "af-mail.com",
      "type": "shared",
      "is_premium": false,
      "is_default": false
    }
  ],
  "default_domain": {
    "id": "dom_bXm9kLpQr2nVwYz3",
    "domain": "mail.acme-corp.com",
    "type": "custom",
    "is_premium": false,
    "is_default": true
  }
}

GET /v1/custom-domains — List Custom Domains

Scope: domains:read · Rate Limit: 60/min · Idempotent: Yes

Returns the full hierarchy of custom domains and subdomains registered to your workspace, including per-record DNS health flags, catch-all rules, and active alias counts.

Example Request

curl -X GET "https://api.aliasfleet.com/v1/custom-domains" \
  -H "Authorization: Bearer afp_4a8f9c1b2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e" \
  -H "Accept: application/json"

Response (200 OK)

{
  "domains": [
    {
      "id": "dom_bXm9kLpQr2nVwYz3",
      "domain": "acme-corp.com",
      "type": "custom",
      "status": "active",
      "is_active": true,
      "mx_verified": true,
      "spf_verified": true,
      "dkim_verified": true,
      "dmarc_verified": true,
      "dns_health": "healthy",
      "dns_verified_at": "2026-08-10T14:22:00.000Z",
      "catch_all_enabled": true,
      "catch_all_destination_id": "dest_adn6UTmkzn6OWpGq",
      "alias_count": 42,
      "subdomains": [
        {
          "id": "dom_7f8g9h0i1j2k3l4m",
          "domain": "mail.acme-corp.com",
          "type": "custom",
          "status": "active",
          "is_active": true,
          "mx_verified": true,
          "spf_verified": true,
          "dns_health": "healthy",
          "parent_domain_id": "dom_bXm9kLpQr2nVwYz3",
          "alias_count": 18
        }
      ],
      "created_at": "2026-08-01T10:00:00.000Z"
    }
  ]
}

POST /v1/custom-domains — Register Custom Domain

Scope: domains:write · Rate Limit: 60/min · Idempotent: Yes

Registers a new apex domain or subdomain under your account. Prepares managed Dual-CNAME DKIM record targets and generates a 32-byte DNS verification token.

Request Body Parameters

ParameterTypeRequiredConstraintsDescription
domainstringYes1–255 chars; valid FQDNFully Qualified Domain Name (e.g. mail.acme-corp.com or acme-corp.com).

Example Request

curl -X POST "https://api.aliasfleet.com/v1/custom-domains" \
  -H "Authorization: Bearer afp_4a8f9c1b2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e" \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "acme-corp.com"
  }'

Response (201 Created)

{
  "success": true,
  "domain": {
    "id": "dom_bXm9kLpQr2nVwYz3",
    "domain": "acme-corp.com",
    "type": "custom",
    "verification_token": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890",
    "status": "pending",
    "is_active": false,
    "category": "custom",
    "parent_domain_id": null,
    "catch_all_enabled": false,
    "created_at": "2026-09-04T12:00:00.000Z"
  },
  "verificationToken": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
}

Errors

StatusCodeCause & Resolution
400 Bad RequestINVALID_DOMAIN_FORMATDomain string failed RFC hostname validation.
403 ForbiddenQUOTA_EXCEEDEDMaximum custom domains reached for your plan tier. Upgrade plan to expand limit.
409 ConflictDOMAIN_ALREADY_REGISTEREDDomain is already registered to another account.
409 ConflictSYSTEM_DOMAIN_RESERVEDReserved system domains cannot be registered as custom domains.

GET /v1/custom-domains/:id/dns-records — Inspect Required DNS Records

Scope: domains:read · Rate Limit: 60/min · Idempotent: Yes

Retrieves the exact DNS records and target values required to activate a specific registered domain.

Path Parameters

ParameterTypeRequiredDescription
idstringYesUnique domain identifier (dom_...).

Example Request

curl -X GET "https://api.aliasfleet.com/v1/custom-domains/dom_bXm9kLpQr2nVwYz3/dns-records" \
  -H "Authorization: Bearer afp_4a8f9c1b2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e" \
  -H "Accept: application/json"

Response (200 OK)

{
  "domain": "acme-corp.com",
  "is_cloudflare": false,
  "records": [
    {
      "type": "MX",
      "name": "@",
      "value": "relay.aliasfleet.com.",
      "priority": 10,
      "status": "pending",
      "required": true
    },
    {
      "type": "TXT",
      "name": "@",
      "value": "v=spf1 include:_spf.aliasfleet.com ~all",
      "status": "pending",
      "required": true
    },
    {
      "type": "CNAME",
      "name": "af1._domainkey",
      "value": "af1._domainkey._dkim.aliasfleet.com.",
      "status": "pending",
      "required": true
    },
    {
      "type": "CNAME",
      "name": "af2._domainkey",
      "value": "af2._domainkey._dkim.aliasfleet.com.",
      "status": "pending",
      "required": true
    },
    {
      "type": "TXT",
      "name": "_dmarc",
      "value": "v=DMARC1; p=none;",
      "status": "pending",
      "required": false
    }
  ]
}

POST /v1/custom-domains/:id/verify-dns — Verify DNS & Activate

Scope: domains:write · Rate Limit: 60/min · Idempotent: Yes

Queries authoritative global DNS resolvers in real time to validate published records. Once MX and SPF records resolve correctly, the domain activates immediately for incoming email routing.

Path Parameters

ParameterTypeRequiredDescription
idstringYesUnique domain identifier (dom_...).

Example Request

curl -X POST "https://api.aliasfleet.com/v1/custom-domains/dom_bXm9kLpQr2nVwYz3/verify-dns" \
  -H "Authorization: Bearer afp_4a8f9c1b2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e"

Response: Fully Verified (200 OK)

{
  "success": true,
  "domain": "mail.acme-corp.com",
  "allVerified": true,
  "health": "healthy",
  "records": {
    "mx": {
      "valid": true,
      "verified": true,
      "value": "10 relay.aliasfleet.com",
      "details": "MX record verified"
    },
    "spf": {
      "valid": true,
      "verified": true,
      "value": "v=spf1 include:_spf.aliasfleet.com ~all",
      "details": "SPF record verified"
    },
    "dkim": {
      "valid": true,
      "verified": true,
      "details": "DKIM CNAME verified"
    },
    "dmarc": {
      "valid": true,
      "verified": true,
      "details": "DMARC policy detected"
    }
  }
}

Response: Records Incomplete (200 OK)

{
  "success": false,
  "domain": "mail.acme-corp.com",
  "allVerified": false,
  "health": "critical",
  "records": {
    "mx": {
      "valid": false,
      "verified": false,
      "details": "No MX records found pointing to relay.aliasfleet.com"
    },
    "spf": {
      "valid": false,
      "verified": false,
      "details": "Missing SPF mechanism: include:_spf.aliasfleet.com"
    }
  }
}

Errors

StatusCodeCause & Resolution
404 Not FoundNOT_FOUNDDomain ID does not exist or belongs to another workspace.

DELETE /v1/custom-domains/:id — Delete Custom Domain

Scope: domains:write · Rate Limit: 60/min · Idempotent: Yes

Permanently removes a custom domain from your workspace and releases associated routing records.

Path Parameters

ParameterTypeRequiredDescription
idstringYesUnique domain identifier (dom_...).

Example Request

curl -X DELETE "https://api.aliasfleet.com/v1/custom-domains/dom_bXm9kLpQr2nVwYz3" \
  -H "Authorization: Bearer afp_4a8f9c1b2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e"

Response (200 OK)

{
  "success": true
}

Errors

StatusCodeCause & Resolution
400 Bad RequestDEFAULT_DOMAINCannot delete active default domain. Set another domain as default first.
400 Bad RequestALIASES_EXISTDomain still has aliases assigned to it. Reassign or delete them first.
404 Not FoundNOT_FOUNDDomain ID does not exist.

Frequently Asked Questions

Can I create email aliases on shared domains without custom DNS setup?

Yes. All AliasFleet accounts have instant access to active shared platform domains (such as af-mail.com) without configuring DNS records.

What DNS records are required to activate a custom domain?

Custom apex domains require an MX record pointing to relay.aliasfleet.com, an SPF TXT record including _spf.aliasfleet.com, DKIM CNAME records, and a DMARC TXT record. Subdomains only require MX and SPF.

How long does DNS verification take?

When you call POST /v1/custom-domains/:id/verify-dns, the API queries authoritative global resolvers in real time. If your DNS provider has propagated the records, activation occurs within seconds.

Can I delete a domain that has active aliases attached?

No. The API blocks domain deletion with HTTP 400 ALIASES_EXIST if any active or archived aliases are still bound to that domain.

Was this article helpful?

Related articles

Identity & Token Introspection API

Verify token validity, inspect active permission scopes, and retrieve account metadata using the Identity API.

Aliases API

Create, list, inspect, update, and soft-delete email aliases programmatically using the AliasFleet REST API.

Alias Destinations & Batch Operations API

Configure multi-destination forwarding fanout, execute atomic batch updates across up to 100 aliases, and fine-tune per-alias privacy settings.

Destinations API

Register destination inboxes, execute 6-digit OTP verification challenges, configure per-channel sender identities, and manage routing fallbacks.

Quick-Send API

Dispatch outbound emails through your aliases, stage attachments via presigned URLs, inspect delivery logs, and manage sender signatures.

Content

Quick ReferenceDNS RequirementsGET /v1/domains — List Available DomainsExample RequestResponse (`200 OK`)GET /v1/custom-domains — List Custom DomainsExample RequestResponse (`200 OK`)POST /v1/custom-domains — Register Custom DomainRequest Body ParametersExample RequestResponse (`201 Created`)ErrorsGET /v1/custom-domains/:id/dns-records — Inspect Required DNS RecordsPath ParametersExample RequestResponse (`200 OK`)POST /v1/custom-domains/:id/verify-dns — Verify DNS & ActivatePath ParametersExample RequestResponse: Fully Verified (`200 OK`)Response: Records Incomplete (`200 OK`)ErrorsDELETE /v1/custom-domains/:id — Delete Custom DomainPath ParametersExample RequestResponse (`200 OK`)Errors

Still need help?

Can't find the answer you're looking for? Our support team is here to help.

Create Support Ticket