HomeDocsBlogSupport
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
  • Using the Browser Extension

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
  • How to Set Up an Email Alias
  • Activating and Deactivating an Alias
  • How to Delete an Email 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: Strict vs Open
  • 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 and 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 Alias Statistics
  • How Monthly Trends Work

Sender Rules

Sender Rules
  • Using Sender Rules
  • Blacklist vs Deactivating an Alias
  • Using Allowlist Rules to Allow Senders
  • 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 API
  • Security & Threat Intelligence API
  • Webhooks API
  • Categories & Tags API
  • User Profile & Account 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
  • Using the Browser Extension

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
  • How to Set Up an Email Alias
  • Activating and Deactivating an Alias
  • How to Delete an Email 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: Strict vs Open
  • 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 and 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 Alias Statistics
  • How Monthly Trends Work

Sender Rules

Sender Rules
  • Using Sender Rules
  • Blacklist vs Deactivating an Alias
  • Using Allowlist Rules to Allow Senders
  • 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 API
  • Security & Threat Intelligence API
  • Webhooks API
  • Categories & Tags API
  • User Profile & Account API
PrivacyTermsCookies
Developer API
Docs
Developer API
Domains API

Domains API

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

7 min read
Updated September 5, 2026
Quick ReferenceDNS RequirementsList Available DomainsResponse (200 OK)Register Custom DomainRequest Body SchemacURL ExampleResponse (201 Created)Error ResponsesProvision SubdomainRequest Body SchemaResponse (201 Created)Configure Catch-All RoutingRequest Body SchemaResponse (200 OK)Verify DNS RecordsResponse (200 OK)Delete Custom DomainError Responses

Register and verify custom domains, provision subdomains, configure DKIM keys, manage catch-all routing, and query shared platform domains.


Quick Reference#

EndpointMethodRequired ScopeDescription
/v1/domainsGETdomains:readList all available shared and verified custom domains.
/v1/custom-domainsGETdomains:readList custom domains with DNS health, subdomains, and alias counts.
/v1/custom-domainsPOSTdomains:writeRegister a new custom domain and retrieve required DNS records.
/v1/custom-domains/:idGETdomains:readRetrieve detailed configuration and usage stats for a custom domain.
/v1/custom-domains/:idPATCHdomains:writeConfigure catch-all forwarding settings and daily limits.
/v1/custom-domains/subdomainPOSTdomains:writeProvision a dedicated subdomain under a verified parent custom domain.
/v1/custom-domains/:id/dns-recordsGETdomains:readRetrieve required DNS records and verification targets.
/v1/custom-domains/:id/verify-dnsPOSTdomains:writeTrigger live multi-resolver DNS verification and activation.
/v1/custom-domains/:id/dkimGETdomains:readRetrieve DKIM selector, public key, and TXT DNS values.
/v1/custom-domains/:id/dkimPOSTdomains:writeGenerate and rotate a new 2048-bit RSA DKIM key pair.
/v1/custom-domains/:id/catch-all-statsGETdomains:readRetrieve catch-all forwarding traffic, top senders, and rate limits.
/v1/custom-domains/:idDELETEdomains:writeDelete custom domain and release associated routing records.
Data comparison table

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
Data comparison table
Note

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


List Available Domains#

GET /v1/domains

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

Scope: domains:readRate Limit: 60 req/minIdempotent: Yes

Response (200 OK)#

JSON
{  "domains": [    {      "id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",      "domain": "company.com",      "type": "custom",      "is_active": true,      "is_verified": true    },    {      "id": "2b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e",      "domain": "af-mail.com",      "type": "shared",      "is_active": true,      "is_verified": true    }  ]}

Register Custom Domain#

POST /v1/custom-domains

Registers a new custom domain. Initiates domain provisioning and returns DNS verification records.

Scope: domains:writeRate Limit: 60 req/minIdempotent: No

Request Body Schema#

FieldTypeRequiredDescription
domainstringYesFully qualified apex domain name (e.g. company.com).
Data comparison table

cURL Example#

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

Response (201 Created)#

JSON
{  "domain": {    "id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",    "domain": "company.com",    "type": "custom",    "status": "pending",    "is_active": false,    "is_verified": false,    "created_at": "2026-09-04T12:00:00.000Z"  }}

Error Responses#

Status CodeCodeError MessageReason
400INVALID_DOMAIN"Please enter a valid domain name (e.g., example.com)"Malformed domain name or invalid TLD.
400RESERVED_DOMAIN"This domain cannot be registered as a custom domain."System domains (e.g. aliasfleet.com, localhost) are reserved.
403PLAN_UPGRADE_REQUIRED"Custom domains are not available on your current plan. Please upgrade to continue."Free plan includes 0 custom domains. Upgrade to Pro or Business.
403QUOTA_EXCEEDED"You have reached your custom domain limit. Please upgrade your plan to add more domains."Maximum domain quota reached (3 on Pro, 10 on Business).
403SUBSCRIPTION_PAUSED"Your subscription is currently paused. Please resume your subscription to add domains."Subscription is paused.
403PAYMENT_REQUIRED"Your subscription is past due. Please update your payment method to add domains."Subscription is past due.
409CONFLICT"This domain is already registered. If you own it, please verify ownership."Domain is already registered by another account.
Data comparison table

Provision Subdomain#

POST /v1/custom-domains/subdomain

Creates a dedicated subdomain under an existing verified parent custom domain (e.g. mail.company.com).

Scope: domains:writeRate Limit: 60 req/min

Request Body Schema#

FieldTypeRequiredDescription
parent_domain_idstringYesUUID of the verified parent root domain.
subdomain_prefixstringYesSubdomain prefix (e.g. mail, relay, ops).
Data comparison table

Response (201 Created)#

JSON
{  "domain": {    "id": "2b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e",    "domain": "mail.company.com",    "parent_domain_id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",    "type": "custom",    "is_active": false,    "is_verified": false  }}

Configure Catch-All Routing#

PATCH /v1/custom-domains/:id

Enables or disables catch-all routing for a custom domain and configures fallback destination inbox and daily volume limits.

Scope: domains:writeRate Limit: 60 req/min

Request Body Schema#

FieldTypeRequiredDescription
catch_all_enabledbooleanOptionalSet true to route unassigned inbound emails.
catch_all_destination_idstring | nullOptionalUUID of verified destination inbox for catch-all emails.
catch_all_daily_limitintegerOptionalDaily catch-all message limit (min 0, max 1000).
Data comparison table

Response (200 OK)#

JSON
{  "success": true,  "domain": {    "id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",    "domain": "company.com",    "catch_all_enabled": true,    "catch_all_destination_id": "8b7c6d5e-4f3a-2b1c-0d9e-8f7a6b5c4d3e"  }}

Verify DNS Records#

POST /v1/custom-domains/:id/verify-dns

Triggers live DNS verification across global resolvers, evaluating MX, SPF, DKIM, and DMARC records.

Scope: domains:writeRate Limit: 60 req/min

Response (200 OK)#

JSON
{  "allVerified": true,  "mx": { "valid": true, "details": "MX record verified" },  "spf": { "valid": true, "details": "SPF record verified" },  "dkim": { "valid": true, "details": "DKIM record verified" },  "dmarc": { "valid": true, "details": "DMARC record verified" }}

Delete Custom Domain#

DELETE /v1/custom-domains/:id

Deletes a custom domain and releases all associated DNS routing tables. Deletion is blocked if any active aliases are linked to the domain.

Scope: domains:writeRate Limit: 60 req/minIdempotent: Yes

Error Responses#

Status CodeCodeError MessageReason
400ALIASES_EXIST"Cannot delete domain with active aliases. Please reassign or delete them first."The domain has active aliases. Response includes count and aliases array.
404NOT_FOUND"Domain not found"Domain ID does not exist on your account.
Data comparison table

Frequently Asked Questions

Yes. All AliasFleet accounts have instant access to active shared platform domains without configuring DNS records.

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

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.

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?

PreviousAlias Destinations & Batch Operations APINextDestinations API

Related in Developer API

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 manage the full lifecycle of 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.

On this page

Quick ReferenceDNS RequirementsList Available DomainsResponse (200 OK)Register Custom DomainRequest Body SchemacURL ExampleResponse (201 Created)Error ResponsesProvision SubdomainRequest Body SchemaResponse (201 Created)Configure Catch-All RoutingRequest Body SchemaResponse (200 OK)Verify DNS RecordsResponse (200 OK)Delete Custom DomainError Responses

Still need help?

Cannot find the answer you are looking for? Our support team is ready to assist.

Contact Support