Verify Domain
curl --request POST \
--url https://platform.sendr.app/api/v2/domain/{id}/verify \
--header 'Authorization: <api-key>'import requests
url = "https://platform.sendr.app/api/v2/domain/{id}/verify"
headers = {"Authorization": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: '<api-key>'}};
fetch('https://platform.sendr.app/api/v2/domain/{id}/verify', 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://platform.sendr.app/api/v2/domain/{id}/verify",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <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"
"net/http"
"io"
)
func main() {
url := "https://platform.sendr.app/api/v2/domain/{id}/verify"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://platform.sendr.app/api/v2/domain/{id}/verify")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.sendr.app/api/v2/domain/{id}/verify")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"isVerified": true,
"verificationErrors": [
{
"type": "<string>",
"error": "<string>",
"required": [
"<string>"
],
"actual": [
"<string>"
]
}
]
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}Domain API
Domain verification
Verify a domain’s DNS settings
POST
/
v2
/
domain
/
{id}
/
verify
Verify Domain
curl --request POST \
--url https://platform.sendr.app/api/v2/domain/{id}/verify \
--header 'Authorization: <api-key>'import requests
url = "https://platform.sendr.app/api/v2/domain/{id}/verify"
headers = {"Authorization": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: '<api-key>'}};
fetch('https://platform.sendr.app/api/v2/domain/{id}/verify', 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://platform.sendr.app/api/v2/domain/{id}/verify",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <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"
"net/http"
"io"
)
func main() {
url := "https://platform.sendr.app/api/v2/domain/{id}/verify"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://platform.sendr.app/api/v2/domain/{id}/verify")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.sendr.app/api/v2/domain/{id}/verify")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"isVerified": true,
"verificationErrors": [
{
"type": "<string>",
"error": "<string>",
"required": [
"<string>"
],
"actual": [
"<string>"
]
}
]
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}Verify a domain’s DNS settings. This endpoint checks that the required DNS records (DKIM and SPF) are correctly configured and updates the domain’s status (
isActive, isApproved, lastVerificationErrors, lastVerificationCheckedAt) based on the result.
Features
- DNS records verification (DKIM and SPF)
- Updates domain status as a side effect
- Detailed per-record error messages on failure
Response
Returns{ isVerified }. When verification fails, the response also includes a verificationErrors array, where each entry has:
| Field | Description |
|---|---|
type | Error category, e.g. TXT, CONFIG, SYSTEM |
error | Human-readable error message |
required | Expected DNS record value(s) |
actual | DNS record value(s) actually found |
200 OK: Verification check completed. InspectisVerifiedandverificationErrors— a200is returned even when verification fails.400 Bad Request: Invalid domain ID or domain not found401 Unauthorized: Invalid API key
The domain must be in ‘Active’ status to be verified. If it isn’t active yet, wait and try again.
No request body is required. The domain ID goes in the URL path.
Authorizations
Path Parameters
Domain ID
Response
Verification check completed. Inspect isVerified and verificationErrors — a 200 is returned even when verification fails.