Registrations
Approve registration
Approve a Sender ID registration for your network.
POST
/
v1
/
operator-registrations
/
{registration_id}
/
approve
Approve registration
curl --request POST \
--url https://api.example.com/v1/operator-registrations/{registration_id}/approve \
--header 'Content-Type: application/json' \
--data '
{
"notes": "<string>"
}
'import requests
url = "https://api.example.com/v1/operator-registrations/{registration_id}/approve"
payload = { "notes": "<string>" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({notes: '<string>'})
};
fetch('https://api.example.com/v1/operator-registrations/{registration_id}/approve', 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.example.com/v1/operator-registrations/{registration_id}/approve",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'notes' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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.example.com/v1/operator-registrations/{registration_id}/approve"
payload := strings.NewReader("{\n \"notes\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.example.com/v1/operator-registrations/{registration_id}/approve")
.header("Content-Type", "application/json")
.body("{\n \"notes\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/operator-registrations/{registration_id}/approve")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"notes\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"ok": true,
"data": {
"id": "opreg_a1b2c3d4",
"sender_id": "TrackFast",
"status": "approved",
"approved_at": "2026-07-17T15:10:00+10:00",
"approved_by": "operator_api_key"
},
"meta": {
"request_id": "req_op003",
"timestamp": "2026-07-17T15:10:00+10:00"
}
}
Required permission:
operator:write
Approves a registration that is currently in pending_operator_review or resubmitted status. Once approved, the registration proceeds to submission on the relevant market register (e.g. ACMA SMS Sender ID Register for AU).
Returns 409 Conflict if the registration is not in an actionable status.
Path parameters
string
required
The operator registration ID (e.g.
opreg_a1b2c3d4).Request body
string
Optional internal notes recorded against the approval. Not visible to the submitting brand or aggregator.
Example
curl -X POST https://api.senderz.ai/v1/operator-registrations/opreg_a1b2c3d4/approve \
-H "Authorization: Bearer sz_live_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"notes": "ABR verified, use case consistent with brand profile."
}'
Response
{
"ok": true,
"data": {
"id": "opreg_a1b2c3d4",
"sender_id": "TrackFast",
"status": "approved",
"approved_at": "2026-07-17T15:10:00+10:00",
"approved_by": "operator_api_key"
},
"meta": {
"request_id": "req_op003",
"timestamp": "2026-07-17T15:10:00+10:00"
}
}
⌘I
Approve registration
curl --request POST \
--url https://api.example.com/v1/operator-registrations/{registration_id}/approve \
--header 'Content-Type: application/json' \
--data '
{
"notes": "<string>"
}
'import requests
url = "https://api.example.com/v1/operator-registrations/{registration_id}/approve"
payload = { "notes": "<string>" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({notes: '<string>'})
};
fetch('https://api.example.com/v1/operator-registrations/{registration_id}/approve', 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.example.com/v1/operator-registrations/{registration_id}/approve",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'notes' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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.example.com/v1/operator-registrations/{registration_id}/approve"
payload := strings.NewReader("{\n \"notes\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.example.com/v1/operator-registrations/{registration_id}/approve")
.header("Content-Type", "application/json")
.body("{\n \"notes\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/operator-registrations/{registration_id}/approve")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"notes\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"ok": true,
"data": {
"id": "opreg_a1b2c3d4",
"sender_id": "TrackFast",
"status": "approved",
"approved_at": "2026-07-17T15:10:00+10:00",
"approved_by": "operator_api_key"
},
"meta": {
"request_id": "req_op003",
"timestamp": "2026-07-17T15:10:00+10:00"
}
}
.jpg?fit=max&auto=format&n=IhWYk8R5R6sdJ_7C&q=85&s=7e3194d82fa9653ad2a2449b4f1a3073)