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
Quick-Send API

Quick-Send API

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

8 min read
Updated September 5, 2026
Quick ReferenceDeliverability Pre-Flight SafeguardsDispatch Outbound EmailRequest HeadersRequest Body SchemacURL ExampleResponse (200 OK)Error ResponsesPresign Attachment UploadRequest Body SchemaResponse (200 OK)Delete Staged AttachmentRequest Body SchemaResponse (200 OK)List Sent EmailsQuery ParametersResponse (200 OK)

Dispatch outbound emails through your aliases, compile Markdown into responsive email HTML, stage attachments via presigned URLs, and inspect delivery history.


Quick Reference#

EndpointMethodRequired ScopeDescription
/v1/quick-sendPOSTquick_send:writeDispatch an outbound email through a verified alias.
/v1/quick-send/attachments/presignPOSTquick_send:writeGenerate a presigned URL to stage an email attachment.
/v1/quick-send/attachmentsDELETEquick_send:writeDelete a staged attachment before dispatch.
/v1/quick-send/aliasesGETquick_send:readList eligible sending aliases with category metadata.
/v1/quick-send/sentGETquick_send:readRetrieve paginated outbound dispatch logs.
/v1/quick-send/sentDELETEquick_send:writeBulk delete records from your sent email history.
/v1/quick-send/signatureGETquick_send:readRetrieve configured outbound email signature.
/v1/quick-send/signaturePATCHquick_send:writeUpdate outbound email signature and active toggle.
Data comparison table

Deliverability Pre-Flight Safeguards#

Every outbound dispatch passes through an automated pre-flight security scanner before mail delivery is attempted:

  1. MX Record Resolution: The API queries recipient email domains in real time. Dispatches to domains without valid MX or fallback mail exchangers are rejected with INVALID_RECIPIENT_DOMAIN before consuming sending quotas.
  2. Permanent Bounce Suppression: Senders cannot dispatch to addresses that previously generated hard bounces (e.g. invalid recipient mailbox).
  3. Reputation Throttle: If 3 or more hard bounces occur within a 1-hour rolling window, outbound dispatching is temporarily throttled with BOUNCE_RATE_LIMIT_EXCEEDED to safeguard your domain's delivery reputation.
  4. Executable File Defense: Files matching restricted extensions (.exe, .bat, .cmd, .dll, .apk, .vbs, .js, etc.) are blocked immediately.
  5. Recipient Caps: Outbound dispatches are strictly capped at 5 recipients on Pro and 20 recipients on Business (combined To, Cc, and Bcc).

Dispatch Outbound Email#

POST /v1/quick-send

Delivers an email message to external recipients through an alias registered to your account. Supports rich HTML, GitHub-Flavored Markdown with automated CSS inlining, presigned attachments, and automated alias provisioning.

Scope: quick_send:writeRate Limit: 5 req/minIdempotent: Yes (with Idempotency-Key)

Request Headers#

HeaderTypeRequiredDescription
AuthorizationstringYesBearer afp_... developer API key.
Idempotency-KeystringOptionalUnique client-generated UUID to guarantee exactly-once dispatch.
Content-TypestringYesMust be application/json.
Data comparison table

Request Body Schema#

FieldTypeRequiredConstraintsDescription
tostring | string[]YesValid email(s)Primary recipient address or array of recipient addresses.
fromstringOptional*Valid alias emailSending address (e.g. billing@company.com). *Required if aliasId is omitted.
aliasIdstringOptional*UUIDSending alias UUID. *Required if from is omitted.
senderNamestringOptional1–100 charsDisplay name appearing in the recipient's inbox.
ccstring | string[]OptionalValid email(s)Carbon copy recipient address(es).
bccstring | string[]OptionalValid email(s)Blind carbon copy recipient address(es).
subjectstringOptionalMax 255 charsEmail subject line.
htmlstringOptional**Valid HTMLRich HTML message body.
markdownstringOptional**Valid MarkdownGitHub-Flavored Markdown body compiled to responsive email HTML.
markdown_themestringOptional"plain", "card", "dark"Visual styling preset for Markdown emails. Defaults to "plain".
textstringOptional**Plain textPlain text fallback message body.
auto_create_aliasbooleanOptionalBooleanWhen true, automatically registers the from alias if it does not yet exist.
alias_ttl_daysintegerOptional1–365Automatically set an expiration countdown on the sending alias (verified custom domains only).
replyTostringOptionalValid emailDirect reply-to destination email address.
attachmentsarrayOptionalMax 18 MB totalArray of attachment descriptor objects staged via the presign endpoint.
parentMessageIdstringOptionalRFC Message-IDPopulates In-Reply-To and References headers for conversation threading.
Data comparison table

cURL Example#

Terminal
curl -X POST "https://api.aliasfleet.com/v1/quick-send" \  -H "Authorization: Bearer afp_4a8f9c1b2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e" \  -H "Idempotency-Key: 7b848df8-7a5f-4a0b-9dfc-e0cb2cb39031" \  -H "Content-Type: application/json" \  -d '{    "from": "billing@company.com",    "to": "client@enterprise.com",    "subject": "Monthly Service Summary",    "markdown": "## Account Summary\n\nYour deployment completed successfully:\n\n* **Nodes**: 12 active\n* **Uptime**: 99.98%\n\n```json\n{\"status\": \"healthy\"}\n```",    "markdown_theme": "card"  }'

Response (200 OK)#

JSON
{  "success": true,  "messageId": "<4b9c1d2e-3f4a-5b6c-7d8e-9f0a1b2c3d4e@company.com>",  "sentAt": "2026-09-04T12:30:00.000Z",  "from": "billing@company.com"}

Error Responses#

Status CodeCodeError MessageReason
400INVALID_RECIPIENT"At least one valid recipient is required in \"to\""No valid email address provided in to.
400INVALID_RECIPIENT_DOMAIN"Recipient domain has no valid MX records"Recipient domain has no valid MX records published in DNS.
400RECIPIENT_SUPPRESSED"Recipient is on suppression list"Recipient address previously failed with a permanent mailbox bounce.
400BLOCKED_FILE_TYPE"Executable file types are prohibited"Attachment has a blocked extension (.exe, .bat, etc.).
400ATTACHMENTS_TOO_LARGE"Total attachment size exceeds 18 MB"Combined attachment size exceeds the 18 MB limit.
403PRO_FEATURE"Quick Send is a Pro/Business feature. Please upgrade your plan to send emails."Accounts on Free tier cannot access outbound Quick-Send.
403BUSINESS_TIER_REQUIRED"Developer API access is an exclusive Business tier feature. Please upgrade your subscription to use programmatic API keys."Calling via developer API key requires an active Business tier subscription.
403RECIPIENT_LIMIT_EXCEEDED"Recipient limit exceeded. Your plan allows a maximum of 5 recipients (combined To, Cc, and Bcc)."Exceeded plan's recipient limit (5 on Pro, 20 on Business).
403LIMIT_REACHED"You have reached your daily sending limit. Please try again tomorrow or upgrade your plan."Daily outbound sending quota exhausted.
403INSUFFICIENT_BANDWIDTH"Bandwidth limit reached"Account monthly outbound bandwidth exhausted.
404ALIAS_NOT_FOUND"Sending alias not found"Specified sending alias does not exist.
429RATE_LIMIT_EXCEEDED"Too Many Requests"Exceeded 5 req/min rate limit on Quick-Send. Check Retry-After.
429BOUNCE_RATE_LIMIT_EXCEEDED"Delivery throttled due to high bounce rate"3+ hard bounces detected within 1 hour. Delivery paused temporarily.
Data comparison table

Presign Attachment Upload#

POST /v1/quick-send/attachments/presign

Generates an authenticated, short-lived presigned upload URL for staging email attachments prior to dispatch. Client applications upload binary payloads directly via an HTTP PUT request.

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

Request Body Schema#

FieldTypeRequiredConstraintsDescription
filenamestringYesNon-executableName of the file (e.g. invoice.pdf).
fileSizeintegerYesMax 18,874,368 bytesFile size in bytes (max 18 MB).
contentTypestringYesValid MIME typeMIME type of the file (e.g. application/pdf).
Data comparison table

Response (200 OK)#

JSON
{  "success": true,  "uploadUrl": "https://storage.aliasfleet.com/attachments/d3b07384-d113-4674-bc50-a88981298418/quarterly-report.pdf?X-Amz-Signature=...",  "key": "attachments/d3b07384-d113-4674-bc50-a88981298418/quarterly-report.pdf"}

Delete Staged Attachment#

DELETE /v1/quick-send/attachments

Removes an uploaded attachment key from staging storage before an email dispatch takes place.

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

Request Body Schema#

FieldTypeRequiredDescription
keystringYesAttachment storage key returned by the presign endpoint.
Data comparison table

Response (200 OK)#

JSON
{  "success": true,  "message": "Attachment deleted successfully"}

List Sent Emails#

GET /v1/quick-send/sent

Retrieves a paginated list of outbound messages dispatched via Quick-Send.

Scope: quick_send:readRate Limit: 60 req/min

Query Parameters#

ParameterTypeRequiredDefaultDescription
limitintegerOptional20Items per page (min 1, max 100).
offsetintegerOptional0Number of records to skip.
Data comparison table

Response (200 OK)#

JSON
{  "success": true,  "sentEmails": [    {      "id": "7b848df8-7a5f-4a0b-9dfc-e0cb2cb39031",      "from_email": "billing@company.com",      "to_email": "client@enterprise.com",      "subject": "Monthly Service Summary",      "status": "sent",      "created_at": "2026-09-04T12:30:00.000Z"    }  ],  "total": 1}

Frequently Asked Questions

Yes. Setting auto_create_alias: true on POST /v1/quick-send automatically registers and provisions the alias under your account before dispatching the message.

Quick-Send supports up to 18 MB of total attachments per message. Files can be uploaded directly via presigned URLs obtained from POST /v1/quick-send/attachments/presign.

No. Dangerous and executable extensions (such as .exe, .bat, .dll, .js, .apk, .sh) are permanently blocked by the security scanner to maintain sender reputation.

Yes. Supplying the parentMessageId field populates RFC In-Reply-To and References email headers so client email apps thread outbound responses seamlessly.

Include an Idempotency-Key HTTP header with a unique request token. If a network retry or duplicate request arrives within 24 hours, the original response is replayed with header X-Idempotent-Replay: true without sending a second email.

Was this article helpful?

PreviousDestinations APINextSender Rules 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.

Domains API

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

Destinations API

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

On this page

Quick ReferenceDeliverability Pre-Flight SafeguardsDispatch Outbound EmailRequest HeadersRequest Body SchemacURL ExampleResponse (200 OK)Error ResponsesPresign Attachment UploadRequest Body SchemaResponse (200 OK)Delete Staged AttachmentRequest Body SchemaResponse (200 OK)List Sent EmailsQuery ParametersResponse (200 OK)

Still need help?

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

Contact Support