Confirm Domain Claim
curl --request POST \
--url https://api.migma.ai/v1/domains/claims/{domain}/verify \
--header 'Authorization: <api-key>'import requests
url = "https://api.migma.ai/v1/domains/claims/{domain}/verify"
headers = {"Authorization": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: '<api-key>'}};
fetch('https://api.migma.ai/v1/domains/claims/{domain}/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://api.migma.ai/v1/domains/claims/{domain}/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://api.migma.ai/v1/domains/claims/{domain}/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://api.migma.ai/v1/domains/claims/{domain}/verify")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.migma.ai/v1/domains/claims/{domain}/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{
"success": true,
"data": {
"message": "<string>",
"marketing": {
"_id": "<string>",
"domain": "<string>",
"regionName": "<string>",
"mailFromDomain": "<string>",
"dnsRecords": [
{
"name": "<string>",
"value": "<string>",
"priority": 123
}
],
"ownershipVerified": true,
"openTracking": true,
"clickTracking": true,
"brandedTracking": true,
"createdAt": "2023-11-07T05:31:56Z",
"verifiedAt": "2023-11-07T05:31:56Z",
"isManagedDomain": true
},
"transactional": {
"_id": "<string>",
"domain": "<string>",
"regionName": "<string>",
"mailFromDomain": "<string>",
"dnsRecords": [
{
"name": "<string>",
"value": "<string>",
"priority": 123
}
],
"ownershipVerified": true,
"openTracking": true,
"clickTracking": true,
"brandedTracking": true,
"createdAt": "2023-11-07T05:31:56Z",
"verifiedAt": "2023-11-07T05:31:56Z",
"isManagedDomain": true
}
},
"error": "<string>"
}{
"success": false,
"error": "<string>",
"code": "<string>",
"data": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"data": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"data": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"data": {}
}Confirm Domain Claim
Complete a domain claim after the proof TXT record is live. Migma verifies DNS ownership, releases the domain from its current owner, and provisions fresh sending identities under your account. Domains that are actively sending require manual review. Requires API key with domain:write.
POST
/
v1
/
domains
/
claims
/
{domain}
/
verify
Confirm Domain Claim
curl --request POST \
--url https://api.migma.ai/v1/domains/claims/{domain}/verify \
--header 'Authorization: <api-key>'import requests
url = "https://api.migma.ai/v1/domains/claims/{domain}/verify"
headers = {"Authorization": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: '<api-key>'}};
fetch('https://api.migma.ai/v1/domains/claims/{domain}/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://api.migma.ai/v1/domains/claims/{domain}/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://api.migma.ai/v1/domains/claims/{domain}/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://api.migma.ai/v1/domains/claims/{domain}/verify")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.migma.ai/v1/domains/claims/{domain}/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{
"success": true,
"data": {
"message": "<string>",
"marketing": {
"_id": "<string>",
"domain": "<string>",
"regionName": "<string>",
"mailFromDomain": "<string>",
"dnsRecords": [
{
"name": "<string>",
"value": "<string>",
"priority": 123
}
],
"ownershipVerified": true,
"openTracking": true,
"clickTracking": true,
"brandedTracking": true,
"createdAt": "2023-11-07T05:31:56Z",
"verifiedAt": "2023-11-07T05:31:56Z",
"isManagedDomain": true
},
"transactional": {
"_id": "<string>",
"domain": "<string>",
"regionName": "<string>",
"mailFromDomain": "<string>",
"dnsRecords": [
{
"name": "<string>",
"value": "<string>",
"priority": 123
}
],
"ownershipVerified": true,
"openTracking": true,
"clickTracking": true,
"brandedTracking": true,
"createdAt": "2023-11-07T05:31:56Z",
"verifiedAt": "2023-11-07T05:31:56Z",
"isManagedDomain": true
}
},
"error": "<string>"
}{
"success": false,
"error": "<string>",
"code": "<string>",
"data": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"data": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"data": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"data": {}
}Authorizations
API key authentication. Use 'Authorization: Bearer YOUR_API_KEY' where YOUR_API_KEY is obtained from the Migma dashboard under Settings → Developers → API Keys.
Headers
Optional key (max 100 chars) for safe retries. Same key + same body within 24h replays the original response (same status and body); same key + a different body returns 409 IDEMPOTENCY_CONFLICT. Scoped per API key.
Maximum string length:
100Path Parameters
Domain name from the initiate claim call (e.g., acme.com).
Was this page helpful?
⌘I