curl --request GET \
--url https://api.peachdeskai.com/api/v1/do-not-call/coverage \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.peachdeskai.com/api/v1/do-not-call/coverage"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.peachdeskai.com/api/v1/do-not-call/coverage', 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.peachdeskai.com/api/v1/do-not-call/coverage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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.peachdeskai.com/api/v1/do-not-call/coverage"
req, _ := http.NewRequest("GET", 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.get("https://api.peachdeskai.com/api/v1/do-not-call/coverage")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.peachdeskai.com/api/v1/do-not-call/coverage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"automatic_capture_enabled": true,
"country_hint_resolvable": true
}Do Not Call Coverage
The two ways this feature can be silently doing nothing here.
automatic_capture_enabled — whether any live agent captures
do_not_contact. The field is off by default per agent, so an
organization can believe opt-outs are being captured while nothing is
listening. Archived agents do not count: an agent that is no longer
dialling is not capturing either.
country_hint_resolvable — whether there is a caller-ID country to
canonicalize national-format numbers against. Without one the pre-dial
guard cannot canonicalize a target spelled 09876543210 and skips it,
while its +91…-spelled twin is checked, so the same subscriber is
protected or not depending on how the CRM wrote the number.
The hint is answered by the GUARD’s own predicate, not by querying
telephony_phone_numbers here and not by re-deriving the rule from its
resolver. A second implementation would be free to drift, and the first
thing it would do on drifting is tell an operator they are covered when
they are not — the exact failure this flag exists to prevent.
curl --request GET \
--url https://api.peachdeskai.com/api/v1/do-not-call/coverage \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.peachdeskai.com/api/v1/do-not-call/coverage"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.peachdeskai.com/api/v1/do-not-call/coverage', 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.peachdeskai.com/api/v1/do-not-call/coverage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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.peachdeskai.com/api/v1/do-not-call/coverage"
req, _ := http.NewRequest("GET", 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.get("https://api.peachdeskai.com/api/v1/do-not-call/coverage")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.peachdeskai.com/api/v1/do-not-call/coverage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"automatic_capture_enabled": true,
"country_hint_resolvable": true
}Authorizations
Interactive user session: the login JWT, sent as Authorization: Bearer <token>.
Response
Successful Response
The two ways this feature can be silently doing nothing.
Both holes are invisible from the inside — suppression that does not happen looks exactly like suppression that was not needed — so the page states each one plainly rather than letting the operator assume coverage they do not have. They are independent: an organization can have either, both, or neither.

