Sending Domain CallBack
Overview
Bulk API version of domain registration with streamlined workflow for high-volume senders.
Endpoint Details
| HTTP Method | POST |
|---|---|
| Endpoint Path | /v2/settings/addSendingDomain |
| API Version | Bulk API (v2.0) |
| Content-Type | application/json |
Request Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| owner_id | String | Yes | Your unique SendClean account identifier | user_12345 |
| domain | String | Yes | Domain name to add/verify/check. Must be a domain you own and can modify DNS for | yourdomain.com |
Request Example
Below is a complete example of the request body. Replace placeholder values with your actual credentials and data.
{
"owner_id": "{USER_ID}",
"domain": "routemobile.com"
}Response Format
Successful Response:
{
"status": "success",
"code": 200,
"message": "Resource created successfully",
"data": {
"id": "resource_abc123",
"created_at": "2026-04-17T10:30:00Z"
}
}Common Errors & Troubleshooting
401 - Unauthorized: Authentication credentials are missing or invalid
Solution: Verify owner_id and token are correct. Ensure they match your account credentials exactly with no extra whitespace.
500 - Internal server error: Unexpected server error occurred
Solution: Retry the request after a brief delay. If error persists, contact SendClean support with the request details and timestamp.
Implementation Examples
curl -X POST \
https://api.sendclean.com/v2/settings/addSendingDomain \
-H 'Content-Type: application/json' \
-d '{
"owner_id": "{USER_ID}",
"domain": "routemobile.com"
}'const axios = require('axios');
const url = 'https://api.sendclean.com/v2/settings/addSendingDomain';
const payload = {
"owner_id":"{USER_ID}",
"domain":"routemobile.com"
};
axios.post(url, payload, {
headers: {
'Content-Type': 'application/json'
}
})
.then(response => {
console.log('Success:', response.data);
})
.catch(error => {
console.error('Error:', error.response ? error.response.data : error.message);
});<?php
$url = 'https://api.sendclean.com/v2/settings/addSendingDomain';
$payload = json_decode('{
"owner_id":"{USER_ID}",
"domain":"routemobile.com"
}', true);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode == 200) {
$result = json_decode($response, true);
print_r($result);
} else {
echo "Error: $httpCode - $response";
}
?>Verify Sending Domain
Overview
Bulk API domain verification with support for batch domain verification operations.
Endpoint Details
| HTTP Method | POST |
|---|---|
| Endpoint Path | /v2/settings/verifySendingDomain |
| API Version | Bulk API (v2.0) |
| Content-Type | application/json |
Request Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| owner_id | String | Yes | Your unique SendClean account identifier | user_12345 |
| domain | String | Yes | Domain name to add/verify/check. Must be a domain you own and can modify DNS for | yourdomain.com |
| mailbox | String | Yes | Mailbox name for domain verification. Used to send verification email | admin |
Request Example
Below is a complete example of the request body. Replace placeholder values with your actual credentials and data.
{
"owner_id": "{USER_ID}",
"domain": "sendclean.com",
"mailbox": "Test"
}Response Format
Successful Response:
{
"status": "success",
"code": 200,
"message": "Email queued successfully",
"data": {
"message_id": "msg_abc123xyz",
"queued_at": "2026-04-17T10:30:00Z",
"recipients": 1
}
}Common Errors & Troubleshooting
401 - Unauthorized: Authentication credentials are missing or invalid
Solution: Verify owner_id and token are correct. Ensure they match your account credentials exactly with no extra whitespace.
500 - Internal server error: Unexpected server error occurred
Solution: Retry the request after a brief delay. If error persists, contact SendClean support with the request details and timestamp.
Implementation Examples
Python (requests):
import requests
import jsonurl = "https://api.sendclean.com/v2/settings/verifySendingDomain"
payload =:
{
"owner_id": "{USER_ID}",
"domain": "sendclean.com",
"mailbox": "Test"
}headers =:
{
"Content-Type": "application/json"
}response = requests.post(url, json=payload, headers=headers)
if response.status_code == 200:
result = response.json()
print("Success:", result)
else:
print("Error:", response.status_code, response.text)
curl -X POST \
https://api.sendclean.com/v2/settings/verifySendingDomain \
-H 'Content-Type: application/json' \
-d '{
"owner_id": "{USER_ID}",
"domain": "sendclean.com",
"mailbox": "Test"
}'const axios = require('axios');
const url = 'https://api.sendclean.com/v2/settings/verifySendingDomain';
const payload = {
"owner_id":"{USER_ID}",
"domain":"sendclean.com",
"mailbox":"Test"
} ;
axios.post(url, payload, {
headers: {
'Content-Type': 'application/json'
}
})
.then(response => {
console.log('Success:', response.data);
})
.catch(error => {
console.error('Error:', error.response ? error.response.data : error.message);
});<?php
$url = 'https://api.sendclean.com/v2/settings/verifySendingDomain';
$payload = json_decode('{
"owner_id":"{USER_ID}",
"domain":"sendclean.com",
"mailbox":"Test"
} ', true);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode == 200) {
$result = json_decode($response, true);
print_r($result);
} else {
echo "Error: $httpCode - $response";
}
?>Verify DKIM SPF
Overview
Bulk API version of DKIM/SPF validation with batch checking capabilities.
Endpoint Details
| HTTP Method | POST |
|---|---|
| Endpoint Path | /v2/settings/checkSendingDomain |
| API Version | Bulk API (v2.0) |
| Content-Type | application/json |
Request Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| owner_id | String | Yes | Your unique SendClean account identifier | user_12345 |
| domain | String | Yes | Domain name to add/verify/check. Must be a domain you own and can modify DNS for | yourdomain.com |
Request Example
Below is a complete example of the request body. Replace placeholder values with your actual credentials and data.
{
"owner_id": "{USER_ID}",
"domain": "sendclean.com"
}Response Format
Successful Response:
{
"status": "success",
"code": 200,
"message": "Operation completed successfully"
}Common Errors & Troubleshooting
401 - Unauthorized: Authentication credentials are missing or invalid
Solution: Verify owner_id and token are correct. Ensure they match your account credentials exactly with no extra whitespace.
500 - Internal server error: Unexpected server error occurred
Solution: Retry the request after a brief delay. If error persists, contact SendClean support with the request details and timestamp.
Implementation Examples
curl -X POST \
https://api.sendclean.com/v2/settings/checkSendingDomain \
-H 'Content-Type: application/json' \
-d '{
"owner_id": "{USER_ID}",
"domain": "sendclean.com"
}'const axios = require('axios');
const url = 'https://api.sendclean.com/v2/settings/checkSendingDomain';
const payload = {
"owner_id":"{USER_ID}",
"domain":"sendclean.com"
}
;
axios.post(url, payload, {
headers: {
'Content-Type': 'application/json'
}
})
.then(response => {
console.log('Success:', response.data);
})
.catch(error => {
console.error('Error:', error.response ? error.response.data : error.message);
});<?php
$url = 'https://api.sendclean.com/v2/settings/checkSendingDomain';
$payload = json_decode('{
"owner_id":"{USER_ID}",
"domain":"sendclean.com"
}
', true);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode == 200) {
$result = json_decode($response, true);
print_r($result);
} else {
echo "Error: $httpCode - $response";
}
?>Overview
Bulk API endpoint for listing sending domains with additional campaign-level metrics.
Endpoint Details
| HTTP Method | GET |
|---|---|
| Endpoint Path | /v2/settings/listSendingDomain |
| API Version | Bulk API (v2.0) |
| Content-Type | application/json |
Request Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| owner_id | String | Yes | Your unique SendClean account identifier | user_12345 |
Response Format
Successful Response:
{
"status": "success",
"code": 200,
"data": {
"items": [
{
"id": "item_001",
"created_at": "2026-04-01T09:00:00Z",
"status": "active"
}
],
"total": 1,
"page": 0
}
}Common Errors & Troubleshooting
401 - Unauthorized: Authentication credentials are missing or invalid
Solution: Verify owner_id and token are correct. Ensure they match your account credentials exactly with no extra whitespace.
500 - Internal server error: Unexpected server error occurred
Solution: Retry the request after a brief delay. If error persists, contact SendClean support with the request details and timestamp.
Overview
Bulk API domain deletion with validation to prevent accidental removal of active domains.
Endpoint Details
| HTTP Method | DELETE |
|---|---|
| Endpoint Path | /v2/settings/deleteSendingDomain |
| API Version | Bulk API (v2.0) |
| Content-Type | application/json |
Request Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| owner_id | String | Yes | Your unique SendClean account identifier | user_12345 |
| domain | String | Yes | Domain name to add/verify/check. Must be a domain you own and can modify DNS for | yourdomain.com |
Response Format
Successful Response:
{
"status": "success",
"code": 200,
"message": "Resource deleted successfully"
}Common Errors & Troubleshooting
401 - Unauthorized: Authentication credentials are missing or invalid
Solution: Verify owner_id and token are correct. Ensure they match your account credentials exactly with no extra whitespace.
500 - Internal server error: Unexpected server error occurred
Solution: Retry the request after a brief delay. If error persists, contact SendClean support with the request details and timestamp.
Updated 2 months ago