Communications
Deactivate verified email sending
Clears managed sending for an active domain and returns it to verified state, restoring the saved delivery path. Repeated deactivation of an inactive setup returns its current state. Requires verified_sending_domains enabled for the organization and the current user/group to have manage_email, email_manager or group_all. Requires permission: one of manage_email.
POST
/
admin
/
email
/
settings
/
sending-domains
/
{domainId}
/
deactivate
Deactivate verified email sending
curl --request POST \
--url https://api.gratona.com/v1/admin/email/settings/sending-domains/{domainId}/deactivate \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.gratona.com/v1/admin/email/settings/sending-domains/{domainId}/deactivate"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gratona.com/v1/admin/email/settings/sending-domains/{domainId}/deactivate', 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.gratona.com/v1/admin/email/settings/sending-domains/{domainId}/deactivate",
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: Bearer <token>"
],
]);
$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.gratona.com/v1/admin/email/settings/sending-domains/{domainId}/deactivate"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.gratona.com/v1/admin/email/settings/sending-domains/{domainId}/deactivate")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/email/settings/sending-domains/{domainId}/deactivate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"message": "<string>",
"data": {
"id": 42,
"domain": "mg.example.org",
"from_domain": "example.org",
"region": "us",
"status": "pending_dns",
"provisioning_status": "ready",
"suggested_prefix": "send",
"provider_state": "unverified",
"active": true,
"dns_records": [
{
"type": "TXT",
"name": "mg.example.org",
"value": "v=spf1 include:mailgun.org ~all",
"priority": "<string>",
"valid": true,
"validity": "valid"
}
],
"last_error": "<string>",
"last_error_code": "<string>",
"next_reconcile_at": "2026-10-20T12:00:00Z",
"last_checked_at": "2026-10-20T12:00:00Z",
"verified_at": "2026-10-20T12:00:00Z",
"tested_at": "2026-10-20T12:00:00Z",
"activated_at": "2026-10-20T12:00:00Z",
"transport_ready": true,
"other_domain_senders": {
"items": [
{
"id": 42,
"name": "Education updates",
"from": "updates@other.example.org"
}
],
"total": 1
}
}
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Not Found",
"status": "error"
}Authorizations
bearerAuthapiKeyAuth
Passport bearer token authentication for legacy admin sessions.
Path Parameters
Domain id in the current organization.
⌘I
Deactivate verified email sending
curl --request POST \
--url https://api.gratona.com/v1/admin/email/settings/sending-domains/{domainId}/deactivate \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.gratona.com/v1/admin/email/settings/sending-domains/{domainId}/deactivate"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gratona.com/v1/admin/email/settings/sending-domains/{domainId}/deactivate', 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.gratona.com/v1/admin/email/settings/sending-domains/{domainId}/deactivate",
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: Bearer <token>"
],
]);
$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.gratona.com/v1/admin/email/settings/sending-domains/{domainId}/deactivate"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.gratona.com/v1/admin/email/settings/sending-domains/{domainId}/deactivate")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/email/settings/sending-domains/{domainId}/deactivate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"message": "<string>",
"data": {
"id": 42,
"domain": "mg.example.org",
"from_domain": "example.org",
"region": "us",
"status": "pending_dns",
"provisioning_status": "ready",
"suggested_prefix": "send",
"provider_state": "unverified",
"active": true,
"dns_records": [
{
"type": "TXT",
"name": "mg.example.org",
"value": "v=spf1 include:mailgun.org ~all",
"priority": "<string>",
"valid": true,
"validity": "valid"
}
],
"last_error": "<string>",
"last_error_code": "<string>",
"next_reconcile_at": "2026-10-20T12:00:00Z",
"last_checked_at": "2026-10-20T12:00:00Z",
"verified_at": "2026-10-20T12:00:00Z",
"tested_at": "2026-10-20T12:00:00Z",
"activated_at": "2026-10-20T12:00:00Z",
"transport_ready": true,
"other_domain_senders": {
"items": [
{
"id": 42,
"name": "Education updates",
"from": "updates@other.example.org"
}
],
"total": 1
}
}
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Not Found",
"status": "error"
}