curl --request POST \
--url https://api.leadping.ai/suppressions/check \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"recipientIdentifier": "<string>",
"phoneNumber": "<string>",
"email": "jsmith@example.com",
"channel": "<string>",
"reason": "<string>"
}
'import requests
url = "https://api.leadping.ai/suppressions/check"
payload = {
"recipientIdentifier": "<string>",
"phoneNumber": "<string>",
"email": "jsmith@example.com",
"channel": "<string>",
"reason": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://api.leadping.ai/suppressions/check");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"recipientIdentifier\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"channel\": \"<string>\",\n \"reason\": \"<string>\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
HttpResponse<String> response = Unirest.post("https://api.leadping.ai/suppressions/check")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"recipientIdentifier\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"channel\": \"<string>\",\n \"reason\": \"<string>\"\n}")
.asString();const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
recipientIdentifier: '<string>',
phoneNumber: '<string>',
email: 'jsmith@example.com',
channel: '<string>',
reason: '<string>'
})
};
fetch('https://api.leadping.ai/suppressions/check', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.leadping.ai/suppressions/check"
payload := strings.NewReader("{\n \"recipientIdentifier\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"channel\": \"<string>\",\n \"reason\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.leadping.ai/suppressions/check",
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([
'recipientIdentifier' => '<string>',
'phoneNumber' => '<string>',
'email' => 'jsmith@example.com',
'channel' => '<string>',
'reason' => '<string>'
]),
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;
}{
"allowed": true,
"organizationId": "<string>",
"recipientIdentifier": "<string>",
"normalizedPhoneNumber": "<string>",
"normalizedEmail": "jsmith@example.com",
"channel": "<string>",
"suppressionEntryId": "<string>",
"source": "<string>",
"suppressedAt": "2023-11-07T05:31:56Z",
"customerReason": "<string>"
}{
"type": "about:blank",
"title": "Bad Request",
"status": 400,
"detail": "The request could not be completed."
}{
"type": "about:blank",
"title": "Unauthorized",
"status": 401,
"detail": "The request could not be completed."
}{
"type": "about:blank",
"title": "Forbidden",
"status": 403,
"detail": "The request could not be completed."
}{
"type": "about:blank",
"title": "Too Many Requests",
"status": 429,
"detail": "The request could not be completed."
}Check whether a recipient is suppressed
The result reflects the effective compliance state after normalization, organization scoping, and suppression-history checks.
curl --request POST \
--url https://api.leadping.ai/suppressions/check \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"recipientIdentifier": "<string>",
"phoneNumber": "<string>",
"email": "jsmith@example.com",
"channel": "<string>",
"reason": "<string>"
}
'import requests
url = "https://api.leadping.ai/suppressions/check"
payload = {
"recipientIdentifier": "<string>",
"phoneNumber": "<string>",
"email": "jsmith@example.com",
"channel": "<string>",
"reason": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://api.leadping.ai/suppressions/check");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"recipientIdentifier\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"channel\": \"<string>\",\n \"reason\": \"<string>\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
HttpResponse<String> response = Unirest.post("https://api.leadping.ai/suppressions/check")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"recipientIdentifier\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"channel\": \"<string>\",\n \"reason\": \"<string>\"\n}")
.asString();const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
recipientIdentifier: '<string>',
phoneNumber: '<string>',
email: 'jsmith@example.com',
channel: '<string>',
reason: '<string>'
})
};
fetch('https://api.leadping.ai/suppressions/check', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.leadping.ai/suppressions/check"
payload := strings.NewReader("{\n \"recipientIdentifier\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"channel\": \"<string>\",\n \"reason\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.leadping.ai/suppressions/check",
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([
'recipientIdentifier' => '<string>',
'phoneNumber' => '<string>',
'email' => 'jsmith@example.com',
'channel' => '<string>',
'reason' => '<string>'
]),
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;
}{
"allowed": true,
"organizationId": "<string>",
"recipientIdentifier": "<string>",
"normalizedPhoneNumber": "<string>",
"normalizedEmail": "jsmith@example.com",
"channel": "<string>",
"suppressionEntryId": "<string>",
"source": "<string>",
"suppressedAt": "2023-11-07T05:31:56Z",
"customerReason": "<string>"
}{
"type": "about:blank",
"title": "Bad Request",
"status": 400,
"detail": "The request could not be completed."
}{
"type": "about:blank",
"title": "Unauthorized",
"status": 401,
"detail": "The request could not be completed."
}{
"type": "about:blank",
"title": "Forbidden",
"status": 403,
"detail": "The request could not be completed."
}{
"type": "about:blank",
"title": "Too Many Requests",
"status": 429,
"detail": "The request could not be completed."
}Authorizations
Authorization header using the Bearer scheme. Accepted values are Leadping user JWT access tokens and WorkOS organization API keys beginning with sk_.
Body
The suppression entry request payload for the operation.
Defines a recipient and communication channel to suppress, release, or check before Leadping sends outreach.
Optional provider or customer identifier that uniquely identifies the recipient.
Recipient phone number to suppress or check, preferably in E.164 format.
Recipient email address to suppress or check.
Communication channel affected by the suppression, such as SMS, voice, email, or all channels.
Human-readable reason for creating or releasing the suppression.
Response
Returns the suppression check result.
Reports whether Leadping may contact a recipient and identifies the active suppression when contact is blocked.
Whether outreach to the recipient is allowed for the requested channel.
Identifier of the organization whose suppression list was checked.
Provider or customer identifier used to match the recipient.
Phone number used for matching, normalized to a consistent format.
Email address used for matching, normalized for comparison.
Communication channel evaluated by the suppression check.
Identifier of the active suppression that blocked contact, when one matched.
The source value on the active suppression entry that blocked this check.
The date and time the blocking suppression became active.
Customer-safe explanation of why contact is blocked or allowed.

