Update Number Registration
curl --request PATCH \
--url https://api.tracklysms.com/api/v2/agent/number-requests/{request_id} \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"revision": 123
}
'import requests
url = "https://api.tracklysms.com/api/v2/agent/number-requests/{request_id}"
payload = { "revision": 123 }
headers = {
"Idempotency-Key": "<idempotency-key>",
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'Idempotency-Key': '<idempotency-key>',
'X-Api-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({revision: 123})
};
fetch('https://api.tracklysms.com/api/v2/agent/number-requests/{request_id}', 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.tracklysms.com/api/v2/agent/number-requests/{request_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'revision' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>",
"X-Api-Key: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.tracklysms.com/api/v2/agent/number-requests/{request_id}"
payload := strings.NewReader("{\n \"revision\": 123\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("X-Api-Key", "<api-key>")
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.patch("https://api.tracklysms.com/api/v2/agent/number-requests/{request_id}")
.header("Idempotency-Key", "<idempotency-key>")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"revision\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tracklysms.com/api/v2/agent/number-requests/{request_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"revision\": 123\n}"
response = http.request(request)
puts response.read_bodyAgent Number Registration (v2)
Update Number Registration
Revise an unpublished delegated registration draft with concurrency protection.
PATCH
/
v2
/
agent
/
number-requests
/
{request_id}
Update Number Registration
curl --request PATCH \
--url https://api.tracklysms.com/api/v2/agent/number-requests/{request_id} \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"revision": 123
}
'import requests
url = "https://api.tracklysms.com/api/v2/agent/number-requests/{request_id}"
payload = { "revision": 123 }
headers = {
"Idempotency-Key": "<idempotency-key>",
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'Idempotency-Key': '<idempotency-key>',
'X-Api-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({revision: 123})
};
fetch('https://api.tracklysms.com/api/v2/agent/number-requests/{request_id}', 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.tracklysms.com/api/v2/agent/number-requests/{request_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'revision' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>",
"X-Api-Key: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.tracklysms.com/api/v2/agent/number-requests/{request_id}"
payload := strings.NewReader("{\n \"revision\": 123\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("X-Api-Key", "<api-key>")
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.patch("https://api.tracklysms.com/api/v2/agent/number-requests/{request_id}")
.header("Idempotency-Key", "<idempotency-key>")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"revision\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tracklysms.com/api/v2/agent/number-requests/{request_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"revision\": 123\n}"
response = http.request(request)
puts response.read_bodyUse the same API-audience registration authority and request binding as creation. Send a JSON object of at most 64 KiB containing
Returns
revision and at least one registration field to change. Unknown or duplicate fields and query overrides are rejected.
string
required
The request ID returned by creation.
string
required
1–255 printable ASCII characters; retain the key and exact body for this operation.
200 with {"request": ...}. Use the returned revision for subsequent work. A changed draft needs a preview and review of its new content; agents cannot edit published drafts.
After a 409 revision/idempotency conflict or uncertain response, read the same request and reconcile before another mutation. Errors also include 400 invalid input, 401 invalid bearer, 403 missing authority, 404 binding mismatch, 413 oversized body, 422 unsupported details, 429 rate limit, and 503 unavailable dependencies/indexes. No update authorizes publication, DNS changes, or paid submission.