Verify a custom domain
curl --request POST \
--url https://api.orbit.devotel.io/api/v1/organization/domains/{domainId}/verify \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.orbit.devotel.io/api/v1/organization/domains/{domainId}/verify"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.orbit.devotel.io/api/v1/organization/domains/{domainId}/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.orbit.devotel.io/api/v1/organization/domains/{domainId}/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: 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.orbit.devotel.io/api/v1/organization/domains/{domainId}/verify"
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.orbit.devotel.io/api/v1/organization/domains/{domainId}/verify")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbit.devotel.io/api/v1/organization/domains/{domainId}/verify")
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{
"data": {
"id": "domain_01J9Z8ABCDEF",
"organization_id": "org_01J9Z8ABCDEF",
"domain": "app.acme.example",
"status": "verifying",
"cname_target": "cname.orbit.devotel.io",
"cname_verified_at": "2026-08-13T12:05:00.000Z",
"ssl_cert_provisioned_at": null,
"ssl_cert_secret_name": null,
"error": null,
"created_at": "2026-08-13T12:00:00.000Z",
"updated_at": "2026-08-13T12:00:00.000Z"
},
"meta": {
"request_id": "req_01J9Z8ABCDEF",
"timestamp": "2026-08-13T12:00:00.000Z"
}
}Organization
Verify a custom domain
Check the CNAME record for a registered custom domain and, once it resolves to the expected target, advance the domain toward the verified state and trigger TLS certificate provisioning. Returns the refreshed domain record. Requires the owner or admin role.
POST
/
api
/
v1
/
organization
/
domains
/
{domainId}
/
verify
Verify a custom domain
curl --request POST \
--url https://api.orbit.devotel.io/api/v1/organization/domains/{domainId}/verify \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.orbit.devotel.io/api/v1/organization/domains/{domainId}/verify"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.orbit.devotel.io/api/v1/organization/domains/{domainId}/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.orbit.devotel.io/api/v1/organization/domains/{domainId}/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: 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.orbit.devotel.io/api/v1/organization/domains/{domainId}/verify"
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.orbit.devotel.io/api/v1/organization/domains/{domainId}/verify")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbit.devotel.io/api/v1/organization/domains/{domainId}/verify")
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{
"data": {
"id": "domain_01J9Z8ABCDEF",
"organization_id": "org_01J9Z8ABCDEF",
"domain": "app.acme.example",
"status": "verifying",
"cname_target": "cname.orbit.devotel.io",
"cname_verified_at": "2026-08-13T12:05:00.000Z",
"ssl_cert_provisioned_at": null,
"ssl_cert_secret_name": null,
"error": null,
"created_at": "2026-08-13T12:00:00.000Z",
"updated_at": "2026-08-13T12:00:00.000Z"
},
"meta": {
"request_id": "req_01J9Z8ABCDEF",
"timestamp": "2026-08-13T12:00:00.000Z"
}
}Authorizations
BearerApiKey
Dashboard JWT token from Clerk
Path Parameters
Custom-domain record identifier.
Minimum string length:
1⌘I