curl --request PUT \
--url https://api.getcargo.io/v1/domainManagement/domains/{uuid}/dns-records \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"records": [
{
"name": "<string>",
"value": "<string>",
"ttl": 123,
"priority": 123
}
]
}
'import requests
url = "https://api.getcargo.io/v1/domainManagement/domains/{uuid}/dns-records"
payload = { "records": [
{
"name": "<string>",
"value": "<string>",
"ttl": 123,
"priority": 123
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({records: [{name: '<string>', value: '<string>', ttl: 123, priority: 123}]})
};
fetch('https://api.getcargo.io/v1/domainManagement/domains/{uuid}/dns-records', 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.getcargo.io/v1/domainManagement/domains/{uuid}/dns-records",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'records' => [
[
'name' => '<string>',
'value' => '<string>',
'ttl' => 123,
'priority' => 123
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getcargo.io/v1/domainManagement/domains/{uuid}/dns-records"
payload := strings.NewReader("{\n \"records\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\",\n \"ttl\": 123,\n \"priority\": 123\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.getcargo.io/v1/domainManagement/domains/{uuid}/dns-records")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"records\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\",\n \"ttl\": 123,\n \"priority\": 123\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getcargo.io/v1/domainManagement/domains/{uuid}/dns-records")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"records\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\",\n \"ttl\": 123,\n \"priority\": 123\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"domain": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workspaceUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "pending",
"registrar": "mailpool",
"meta": {},
"dnsRecords": [
{
"type": "A",
"name": "<string>",
"value": "<string>",
"ttl": 123,
"priority": 123
}
],
"verification": [
{
"type": "A",
"name": "<string>",
"value": "<string>",
"ttl": 123,
"priority": 123
}
],
"verifiedAt": "<string>",
"priceCredits": 123,
"billingUsageUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expiresAt": "<string>",
"renewalChargedUntil": "<string>",
"autoRenew": true,
"userUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "<string>",
"updatedAt": "<string>",
"deletedAt": "<string>"
}
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}Set DNS records
Replace a managed domain’s DNS records (PUT /domainManagement/domains//dns-records).
curl --request PUT \
--url https://api.getcargo.io/v1/domainManagement/domains/{uuid}/dns-records \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"records": [
{
"name": "<string>",
"value": "<string>",
"ttl": 123,
"priority": 123
}
]
}
'import requests
url = "https://api.getcargo.io/v1/domainManagement/domains/{uuid}/dns-records"
payload = { "records": [
{
"name": "<string>",
"value": "<string>",
"ttl": 123,
"priority": 123
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({records: [{name: '<string>', value: '<string>', ttl: 123, priority: 123}]})
};
fetch('https://api.getcargo.io/v1/domainManagement/domains/{uuid}/dns-records', 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.getcargo.io/v1/domainManagement/domains/{uuid}/dns-records",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'records' => [
[
'name' => '<string>',
'value' => '<string>',
'ttl' => 123,
'priority' => 123
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getcargo.io/v1/domainManagement/domains/{uuid}/dns-records"
payload := strings.NewReader("{\n \"records\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\",\n \"ttl\": 123,\n \"priority\": 123\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.getcargo.io/v1/domainManagement/domains/{uuid}/dns-records")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"records\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\",\n \"ttl\": 123,\n \"priority\": 123\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getcargo.io/v1/domainManagement/domains/{uuid}/dns-records")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"records\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\",\n \"ttl\": 123,\n \"priority\": 123\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"domain": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workspaceUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "pending",
"registrar": "mailpool",
"meta": {},
"dnsRecords": [
{
"type": "A",
"name": "<string>",
"value": "<string>",
"ttl": 123,
"priority": 123
}
],
"verification": [
{
"type": "A",
"name": "<string>",
"value": "<string>",
"ttl": 123,
"priority": 123
}
],
"verifiedAt": "<string>",
"priceCredits": 123,
"billingUsageUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expiresAt": "<string>",
"renewalChargedUntil": "<string>",
"autoRenew": true,
"userUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "<string>",
"updatedAt": "<string>",
"deletedAt": "<string>"
}
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}Authorizations
API token from cargo-ai login. Send as Authorization: Bearer <token>.
Headers
Client-generated key that makes this write safe to retry. Reusing the same key with the same request returns the original response instead of creating a second record. Reusing it with a different request returns 422. A concurrent retry while the first request is still running returns 409. Keys expire after 24 hours. Not accepted on multipart file uploads. Optional: a request without one is processed as it always was.
255"8e03978e-40d5-43e8-bc93-6894a57f9324"
Path Parameters
Domain identifier.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$Body
Request body schema.
Full desired DNS record set for the domain's zone.
Show child attributes
Show child attributes
Response
Set DNS records
Domain after the DNS update.
Show child attributes
Show child attributes
Was this page helpful?

