Create Domain
curl -X POST https://inbound.new/api/e2/domains \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"domain": "example.com"
}'
POST /api/e2/domains
Add a new domain for email receiving. Automatically initiates verification and returns required DNS records. Subdomains inherit verification from their verified parent domain.
Request Parameters
Domain name to add (e.g., example.com or mail.example.com). Must be between 1-253 characters and match valid domain format.
Response
Unique identifier for the domain.
Verification status: pending, verified, or failed.
Whether the domain can currently receive emails.
Whether MX records have been detected.
Detected DNS provider (e.g., Cloudflare, GoDaddy).
Confidence level of provider detection.
Custom MAIL FROM domain (e.g., mail.example.com).
Status of MAIL FROM domain verification.
Array of DNS records to add. Record type: MX, TXT, or CNAME.
DNS record value/content.
Human-readable description of the record’s purpose.
Whether this record is required for verification.
DNS conflict information if existing records were detected. Whether a DNS conflict exists.
Type of conflict: mx, cname, or both.
Description of the conflict.
Array of existing DNS records causing the conflict.
ISO 8601 timestamp when the domain was added.
ISO 8601 timestamp when the domain was last updated.
Parent domain name (only for subdomains).
Additional information about the domain creation.
{
"id" : "dom_abc123" ,
"domain" : "example.com" ,
"status" : "pending" ,
"canReceiveEmails" : false ,
"hasMxRecords" : false ,
"domainProvider" : "Cloudflare" ,
"providerConfidence" : "high" ,
"mailFromDomain" : "mail.example.com" ,
"mailFromDomainStatus" : "Pending" ,
"dnsRecords" : [
{
"type" : "MX" ,
"name" : "example.com" ,
"value" : "10 inbound-smtp.us-east-2.amazonaws.com" ,
"description" : "Required for receiving emails" ,
"isRequired" : true
},
{
"type" : "TXT" ,
"name" : "_amazonses.example.com" ,
"value" : "abc123def456" ,
"description" : "Domain verification token" ,
"isRequired" : true
},
{
"type" : "TXT" ,
"name" : "example.com" ,
"value" : "v=spf1 include:amazonses.com ~all" ,
"description" : "SPF record for sending authentication" ,
"isRequired" : true
},
{
"type" : "MX" ,
"name" : "mail.example.com" ,
"value" : "10 feedback-smtp.us-east-2.amazonses.com" ,
"description" : "MAIL FROM domain MX record" ,
"isRequired" : true
},
{
"type" : "TXT" ,
"name" : "mail.example.com" ,
"value" : "v=spf1 include:amazonses.com ~all" ,
"description" : "MAIL FROM domain SPF record" ,
"isRequired" : true
}
],
"createdAt" : "2024-01-15T10:30:00Z" ,
"updatedAt" : "2024-01-15T10:30:00Z"
}
List Domains
curl -X GET "https://inbound.new/api/e2/domains?limit=50" \
-H "Authorization: Bearer YOUR_API_KEY"
GET /api/e2/domains
Get paginated list of domains for authenticated user with optional filtering.
Query Parameters
Maximum number of domains to return (1-100).
Number of domains to skip for pagination.
Filter by verification status: pending, verified, or failed.
Filter by email receiving capability: true or false.
Perform live DNS and SES verification check. Set to true to enable.
Response
Array of domain objects. Unique identifier for the domain.
Verification status: pending, verified, or failed.
Whether the domain can receive emails.
Whether MX records are configured.
Provider detection confidence level.
ISO 8601 timestamp of last DNS verification check.
ISO 8601 timestamp of last SES verification check.
Whether catch-all is enabled for this domain.
ID of the endpoint receiving catch-all emails.
MAIL FROM domain verification status.
ISO 8601 timestamp when MAIL FROM was verified.
Whether DMARC reports are received for this domain.
ISO 8601 timestamp when the domain was created.
ISO 8601 timestamp when the domain was last updated.
ID of the user who owns this domain.
Domain statistics. Total number of email addresses configured.
Number of active email addresses.
Whether catch-all is configured.
Catch-all endpoint details (if configured).
Live verification check results (only if check=true). Show Verification Check Object
Array of DNS record verification results.
Whether all verification checks passed.
ISO 8601 timestamp of the check.
Pagination metadata. Number of results per page.
Number of results skipped.
Total number of matching domains.
Whether there are more results available.
{
"data" : [
{
"id" : "dom_abc123" ,
"domain" : "example.com" ,
"status" : "verified" ,
"canReceiveEmails" : true ,
"hasMxRecords" : true ,
"domainProvider" : "Cloudflare" ,
"providerConfidence" : "high" ,
"lastDnsCheck" : "2024-01-15T10:30:00Z" ,
"lastSesCheck" : "2024-01-15T10:30:00Z" ,
"isCatchAllEnabled" : true ,
"catchAllEndpointId" : "ep_xyz789" ,
"mailFromDomain" : "mail.example.com" ,
"mailFromDomainStatus" : "Success" ,
"mailFromDomainVerifiedAt" : "2024-01-15T10:30:00Z" ,
"receiveDmarcEmails" : false ,
"createdAt" : "2024-01-15T10:00:00Z" ,
"updatedAt" : "2024-01-15T10:30:00Z" ,
"userId" : "usr_abc123" ,
"stats" : {
"totalEmailAddresses" : 5 ,
"activeEmailAddresses" : 4 ,
"hasCatchAll" : true
},
"catchAllEndpoint" : {
"id" : "ep_xyz789" ,
"name" : "Webhook Endpoint" ,
"type" : "webhook" ,
"isActive" : true
}
}
],
"pagination" : {
"limit" : 50 ,
"offset" : 0 ,
"total" : 1 ,
"hasMore" : false
}
}
Get Domain
curl -X GET "https://inbound.new/api/e2/domains/dom_abc123?check=true" \
-H "Authorization: Bearer YOUR_API_KEY"
GET /api/e2/domains/:id
Get detailed information about a specific domain including DNS records. Use ?check=true for a live verification check.
Query Parameters
Perform live DNS and SES verification check. Set to true to enable.
Response
Same structure as individual domain object in List Domains response, plus:
Array of all DNS records for this domain. Record type: MX, TXT, or CNAME.
Whether this record is required.
Whether this record has been verified.
ISO 8601 timestamp of last verification check.
ISO 8601 timestamp when the record was created.
Recommended authentication records (SPF, DMARC) if not configured.
Whether this subdomain inherits verification from parent.
Parent domain name (for subdomains).
Update Domain
curl -X PATCH https://inbound.new/api/e2/domains/dom_abc123 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"isCatchAllEnabled": true,
"catchAllEndpointId": "ep_xyz789"
}'
PATCH /api/e2/domains/:id
Update catch-all email settings for a domain. Catch-all receives emails sent to any address on your domain. Domain must be verified first.
Request Parameters
Enable or disable catch-all for this domain.
ID of the endpoint to route catch-all emails to. Required when enabling catch-all.
Response
Whether catch-all is now enabled.
ID of the catch-all endpoint.
Catch-all endpoint details.
ISO 8601 timestamp of the update.
{
"id" : "dom_abc123" ,
"domain" : "example.com" ,
"status" : "verified" ,
"isCatchAllEnabled" : true ,
"catchAllEndpointId" : "ep_xyz789" ,
"catchAllEndpoint" : {
"id" : "ep_xyz789" ,
"name" : "Webhook Endpoint" ,
"type" : "webhook" ,
"isActive" : true
},
"updatedAt" : "2024-01-15T10:35:00Z"
}
Delete Domain
curl -X DELETE https://inbound.new/api/e2/domains/dom_abc123 \
-H "Authorization: Bearer YOUR_API_KEY"
DELETE /api/e2/domains/:id
Delete a domain and all associated resources including email addresses, DNS records, and SES configurations. Root domains with subdomains must have subdomains deleted first.
Response
Whether the deletion was successful.
Human-readable message about the deletion result.
Summary of deleted resources. Show Deleted Resources Object
Domain name that was deleted.
Number of email addresses deleted.
Number of DNS records deleted.
Number of blocked email entries deleted.
Whether SES identity was deleted.
Whether SES receipt rules were removed.
{
"success" : true ,
"message" : "Successfully deleted domain example.com and all associated resources" ,
"deletedResources" : {
"domain" : "example.com" ,
"emailAddresses" : 5 ,
"dnsRecords" : 8 ,
"blockedEmails" : 2 ,
"sesIdentity" : true ,
"sesReceiptRules" : true
}
}