curl --request POST \
--url https://api.sendx.io/api/v1/rest/domain \
--header 'Content-Type: application/json' \
--header 'X-Team-ApiKey: <api-key>' \
--data '
{
"name": "Example.com"
}
'import requests
url = "https://api.sendx.io/api/v1/rest/domain"
payload = { "name": "Example.com" }
headers = {
"X-Team-ApiKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Team-ApiKey': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Example.com'})
};
fetch('https://api.sendx.io/api/v1/rest/domain', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sendx.io/api/v1/rest/domain",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Team-ApiKey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sendx.io/api/v1/rest/domain"
payload := strings.NewReader("{\n \"name\": \"Example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Team-ApiKey", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sendx.io/api/v1/rest/domain")
.header("X-Team-ApiKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sendx.io/api/v1/rest/domain")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Team-ApiKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Example.com\"\n}"
response = http.request(request)
puts response.read_body{
"id": "domain_504",
"name": "sx13.email",
"verified": false,
"returnPathVerified": false,
"dkimVerified": false,
"trackVerified": false,
"dmarcVerified": false,
"gptVerified": false,
"dkim": {
"host": "sp-dkim._domainkey.sx13.email",
"type": "TXT",
"textValue": "v=DKIM1;k=rsa;s=email;h=sha256;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC94euUPiD9e9jO4rgnjWYSa6YOcYz24SkrNPJ6u9AaeDG8Zvwu3om4sxkGrQ3vO1hoX9RQnccBCM9y+9Z6fCFmwI6eGjtskxLPLThMSsjDACL3iI1UYTZyuSHEk67QoLsgSmcTTtVjBGdtPi2w6SsXOauXav07wB7VPuDL/Q1zOQIDAQAB"
},
"returnPath": {
"host": "sp-bounce.sx13.email",
"type": "CNAME",
"textValue": "sp.sendpost.info"
},
"track": {
"host": "sp-track.sx13.email",
"type": "CNAME",
"textValue": "track.sptrackh.com"
},
"dmarc": {
"host": "_dmarc.sx13.email",
"type": "TXT",
"textValue": "v=DMARC1; p=none;"
},
"gpt": {
"host": "sx13.email",
"type": "TXT",
"textValue": ""
},
"dkimConfig": "{\"Domain\":\"sx13.email\",\"PubKey\":\"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC94euUPiD9e9jO4rgnjWYSa6YOcYz24SkrNPJ6u9AaeDG8Zvwu3om4sxkGrQ3vO1hoX9RQnccBCM9y+9Z6fCFmwI6eGjtskxLPLThMSsjDACL3iI1UYTZyuSHEk67QoLsgSmcTTtVjBGdtPi2w6SsXOauXav07wB7VPuDL/Q1zOQIDAQAB\",\"PrivKey\":\"-----BEGIN RSA PRIVATE KEY-----\\nMIICXAIBAAKBgQC94euUPiD9e9jO4rgnjWYSa6YOcYz24SkrNPJ6u9AaeDG8Zvwu\\n3om4sxkGrQ3vO1hoX9RQnccBCM9y+9Z6fCFmwI6eGjtskxLPLThMSsjDACL3iI1U\\nYTZyuSHEk67QoLsgSmcTTtVjBGdtPi2w6SsXOauXav07wB7VPuDL/Q1zOQIDAQAB\\nAoGAH2MFvtZaO6xKFUCSsi8ETU0wALkyVOi5FmRFJJaA+q8dgYgAbXrphvdLzrey\\nUvYbUf1tKfo6l+gt6lLIjCySlJFUkFbHeQlch+ZfhvyCP+2zo6JrFSRosZGYsZhb\\ncBnnfzi+r6FDCiobLn8Y78eEli0RX7lvUC4VSJ6J2vTiybUCQQDJQqWqvPe8vdr+\\neHioA7YeWiCInhHD6ylKMqCwFTkdjbhUoK5rZmnQJ2xmAljEz7pdpgxeg8oNFLfO\\namXLKGSfAkEA8YcOmAC3sdTXYMptwnQ4Y4IOOaY/0HXM6YEnmRbN526CBRciUdj/\\ndoc24g+Ibx5IVPRkQBWuWiB6OIP5wY6BJwJAA93G5vfIXpTbHyZbUwb3ObALjfRT\\nbQsYePduBNPzi/DMCLwpfaCzCa+oMnF7GRTQhLoK5MntWMD8IvgCSpvVCwJAHhZY\\n9w5/06NUATa2XZbkv2CgLQZMxMcn856nNCbnF4FoqQGswM1rZXSKnbaZpF39XLfl\\nFSaeRZPuJcQrBLWf2QJBAKAakfXcnF3N5v37r3TMl31vrMyBBSihKTxs3y5b+JqQ\\nINkXkhATSdxwZzwLHbkGmzNVgrCTX5+ZrpxS9jTAUBE=\\n-----END RSA PRIVATE KEY-----\\n\",\"Selector\":\"sp-dkim\",\"Headers\":\"\"}",
"dmarcFailureReason": "",
"created": 1764924919882212400,
"updated": 0
}{
"status": 401,
"message": "The Team ID or API Key specified is not valid"
}{
"status": "error",
"message": "Resource with this name already exists"
}{
"status": "error",
"message": "Request body is not in proper format"
}{
"status": "error",
"message": "Internal server error occurred"
}Create domain
Creates a new domain for email sending. After creation, you’ll need to configure DNS records (DKIM, SPF, DMARC) to verify the domain.
curl --request POST \
--url https://api.sendx.io/api/v1/rest/domain \
--header 'Content-Type: application/json' \
--header 'X-Team-ApiKey: <api-key>' \
--data '
{
"name": "Example.com"
}
'import requests
url = "https://api.sendx.io/api/v1/rest/domain"
payload = { "name": "Example.com" }
headers = {
"X-Team-ApiKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Team-ApiKey': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Example.com'})
};
fetch('https://api.sendx.io/api/v1/rest/domain', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sendx.io/api/v1/rest/domain",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Team-ApiKey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sendx.io/api/v1/rest/domain"
payload := strings.NewReader("{\n \"name\": \"Example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Team-ApiKey", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sendx.io/api/v1/rest/domain")
.header("X-Team-ApiKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sendx.io/api/v1/rest/domain")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Team-ApiKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Example.com\"\n}"
response = http.request(request)
puts response.read_body{
"id": "domain_504",
"name": "sx13.email",
"verified": false,
"returnPathVerified": false,
"dkimVerified": false,
"trackVerified": false,
"dmarcVerified": false,
"gptVerified": false,
"dkim": {
"host": "sp-dkim._domainkey.sx13.email",
"type": "TXT",
"textValue": "v=DKIM1;k=rsa;s=email;h=sha256;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC94euUPiD9e9jO4rgnjWYSa6YOcYz24SkrNPJ6u9AaeDG8Zvwu3om4sxkGrQ3vO1hoX9RQnccBCM9y+9Z6fCFmwI6eGjtskxLPLThMSsjDACL3iI1UYTZyuSHEk67QoLsgSmcTTtVjBGdtPi2w6SsXOauXav07wB7VPuDL/Q1zOQIDAQAB"
},
"returnPath": {
"host": "sp-bounce.sx13.email",
"type": "CNAME",
"textValue": "sp.sendpost.info"
},
"track": {
"host": "sp-track.sx13.email",
"type": "CNAME",
"textValue": "track.sptrackh.com"
},
"dmarc": {
"host": "_dmarc.sx13.email",
"type": "TXT",
"textValue": "v=DMARC1; p=none;"
},
"gpt": {
"host": "sx13.email",
"type": "TXT",
"textValue": ""
},
"dkimConfig": "{\"Domain\":\"sx13.email\",\"PubKey\":\"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC94euUPiD9e9jO4rgnjWYSa6YOcYz24SkrNPJ6u9AaeDG8Zvwu3om4sxkGrQ3vO1hoX9RQnccBCM9y+9Z6fCFmwI6eGjtskxLPLThMSsjDACL3iI1UYTZyuSHEk67QoLsgSmcTTtVjBGdtPi2w6SsXOauXav07wB7VPuDL/Q1zOQIDAQAB\",\"PrivKey\":\"-----BEGIN RSA PRIVATE KEY-----\\nMIICXAIBAAKBgQC94euUPiD9e9jO4rgnjWYSa6YOcYz24SkrNPJ6u9AaeDG8Zvwu\\n3om4sxkGrQ3vO1hoX9RQnccBCM9y+9Z6fCFmwI6eGjtskxLPLThMSsjDACL3iI1U\\nYTZyuSHEk67QoLsgSmcTTtVjBGdtPi2w6SsXOauXav07wB7VPuDL/Q1zOQIDAQAB\\nAoGAH2MFvtZaO6xKFUCSsi8ETU0wALkyVOi5FmRFJJaA+q8dgYgAbXrphvdLzrey\\nUvYbUf1tKfo6l+gt6lLIjCySlJFUkFbHeQlch+ZfhvyCP+2zo6JrFSRosZGYsZhb\\ncBnnfzi+r6FDCiobLn8Y78eEli0RX7lvUC4VSJ6J2vTiybUCQQDJQqWqvPe8vdr+\\neHioA7YeWiCInhHD6ylKMqCwFTkdjbhUoK5rZmnQJ2xmAljEz7pdpgxeg8oNFLfO\\namXLKGSfAkEA8YcOmAC3sdTXYMptwnQ4Y4IOOaY/0HXM6YEnmRbN526CBRciUdj/\\ndoc24g+Ibx5IVPRkQBWuWiB6OIP5wY6BJwJAA93G5vfIXpTbHyZbUwb3ObALjfRT\\nbQsYePduBNPzi/DMCLwpfaCzCa+oMnF7GRTQhLoK5MntWMD8IvgCSpvVCwJAHhZY\\n9w5/06NUATa2XZbkv2CgLQZMxMcn856nNCbnF4FoqQGswM1rZXSKnbaZpF39XLfl\\nFSaeRZPuJcQrBLWf2QJBAKAakfXcnF3N5v37r3TMl31vrMyBBSihKTxs3y5b+JqQ\\nINkXkhATSdxwZzwLHbkGmzNVgrCTX5+ZrpxS9jTAUBE=\\n-----END RSA PRIVATE KEY-----\\n\",\"Selector\":\"sp-dkim\",\"Headers\":\"\"}",
"dmarcFailureReason": "",
"created": 1764924919882212400,
"updated": 0
}{
"status": 401,
"message": "The Team ID or API Key specified is not valid"
}{
"status": "error",
"message": "Resource with this name already exists"
}{
"status": "error",
"message": "Request body is not in proper format"
}{
"status": "error",
"message": "Internal server error occurred"
}- Authenticate your email sending domain
- Configure DNS records for email security
- Improve sender reputation and deliverability
- Set up custom tracking domains
- Branded email sending (newsletter@yourdomain.com)
- Custom tracking domains for analytics
- Multiple domain management for different brands
- Subdomain management (mail.yourdomain.com)
- DKIM - DomainKeys Identified Mail for email signing
- SPF - Sender Policy Framework for sender authorization
- DMARC - Domain-based Message Authentication for policy enforcement
- Return Path - Bounce handling configuration
- Tracking Domain - Custom tracking for email analytics
- Use your primary business domain for better reputation
- Complete all DNS verifications before sending
- Monitor verification status regularly
- Keep DNS records updated and valid
- Use subdomains for different email purposes (marketing, transactional)
- Verify all DNS records are correctly configured
- Regularly check DMARC reports
- Monitor domain reputation
- Keep domain registration active
Authorizations
Team API key for authentication. Find your API key in SendX Settings → Team API Key.
Example:
X-Team-ApiKey: your_team_api_key_here
Body
Domain name (e.g., example.com)
"Example.com"
Response
✅ Domain created successfully
Unique domain identifier with domain_ prefix
^domain_[a-zA-Z0-9]{22}$"domain_504"
Domain name
"sx13.email"
Overall domain verification status
false
Return path (bounce) verification status
false
DKIM verification status
false
Tracking domain verification status
false
DMARC verification status
false
GPT (Google Postmaster Tools) verification status
false
DKIM DNS record configuration
Show child attributes
Show child attributes
Return path (bounce) DNS record configuration
Show child attributes
Show child attributes
Tracking domain DNS record configuration
Show child attributes
Show child attributes
DMARC DNS record configuration
Show child attributes
Show child attributes
GPT (Google Postmaster Tools) DNS record configuration
Show child attributes
Show child attributes
DKIM configuration in JSON format
"{\"Domain\":\"sx13.email\",\"PubKey\":\"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC94euUPiD9e9jO4rgnjWYSa6YOcYz24SkrNPJ6u9AaeDG8Zvwu3om4sxkGrQ3vO1hoX9RQnccBCM9y+9Z6fCFmwI6eGjtskxLPLThMSsjDACL3iI1UYTZyuSHEk67QoLsgSmcTTtVjBGdtPi2w6SsXOauXav07wB7VPuDL/Q1zOQIDAQAB\",\"PrivKey\":\"-----BEGIN RSA PRIVATE KEY-----\\nMIICXAIBAAKBgQC94euUPiD9e9jO4rgnjWYSa6YOcYz24SkrNPJ6u9AaeDG8Zvwu\\n3om4sxkGrQ3vO1hoX9RQnccBCM9y+9Z6fCFmwI6eGjtskxLPLThMSsjDACL3iI1U\\nYTZyuSHEk67QoLsgSmcTTtVjBGdtPi2w6SsXOauXav07wB7VPuDL/Q1zOQIDAQAB\\nAoGAH2MFvtZaO6xKFUCSsi8ETU0wALkyVOi5FmRFJJaA+q8dgYgAbXrphvdLzrey\\nUvYbUf1tKfo6l+gt6lLIjCySlJFUkFbHeQlch+ZfhvyCP+2zo6JrFSRosZGYsZhb\\ncBnnfzi+r6FDCiobLn8Y78eEli0RX7lvUC4VSJ6J2vTiybUCQQDJQqWqvPe8vdr+\\neHioA7YeWiCInhHD6ylKMqCwFTkdjbhUoK5rZmnQJ2xmAljEz7pdpgxeg8oNFLfO\\namXLKGSfAkEA8YcOmAC3sdTXYMptwnQ4Y4IOOaY/0HXM6YEnmRbN526CBRciUdj/\\ndoc24g+Ibx5IVPRkQBWuWiB6OIP5wY6BJwJAA93G5vfIXpTbHyZbUwb3ObALjfRT\\nbQsYePduBNPzi/DMCLwpfaCzCa+oMnF7GRTQhLoK5MntWMD8IvgCSpvVCwJAHhZY\\n9w5/06NUATa2XZbkv2CgLQZMxMcn856nNCbnF4FoqQGswM1rZXSKnbaZpF39XLfl\\nFSaeRZPuJcQrBLWf2QJBAKAakfXcnF3N5v37r3TMl31vrMyBBSihKTxs3y5b+JqQ\\nINkXkhATSdxwZzwLHbkGmzNVgrCTX5+ZrpxS9jTAUBE=\\n-----END RSA PRIVATE KEY-----\\n\",\"Selector\":\"sp-dkim\",\"Headers\":\"\"}"
Reason for DMARC verification failure (if any)
""
Domain creation timestamp (nanoseconds since epoch)
1764924919882212400
Domain last update timestamp (nanoseconds since epoch)
0
Was this page helpful?