curl --request GET \
--url https://api.leadping.ai/phone-numbers/{phoneNumberId}/warmup \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.leadping.ai/phone-numbers/{phoneNumberId}/warmup"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://api.leadping.ai/phone-numbers/{phoneNumberId}/warmup");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
HttpResponse<String> response = Unirest.get("https://api.leadping.ai/phone-numbers/{phoneNumberId}/warmup")
.header("Authorization", "Bearer <token>")
.asString();const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.leadping.ai/phone-numbers/{phoneNumberId}/warmup', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.leadping.ai/phone-numbers/{phoneNumberId}/warmup"
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))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.leadping.ai/phone-numbers/{phoneNumberId}/warmup",
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;
}{
"number": "<string>",
"messagesPossible": 123,
"callsPossible": 123,
"smsWarmup": {
"phoneNumberId": "<string>",
"phoneNumber": "<string>",
"status": "Not Started",
"healthStatus": "Not Evaluated",
"healthScore": 123,
"progressPercent": 123,
"warmupEnabled": true,
"uiState": {
"label": "Not Started",
"tone": "<string>",
"description": "<string>"
}
},
"outboundCapacity": {
"capacityAvailable": true,
"phoneNumberId": "<string>",
"phoneNumber": "<string>",
"healthStatus": "unknown",
"healthReason": "<string>",
"smsApproved": true,
"smsRamping": true,
"smsRemainingThisMinute": 123,
"smsUsedThisMinute": 123,
"smsLimitThisMinute": 123,
"smsMinutelyResetsAt": "2023-11-07T05:31:56Z",
"smsRemainingToday": 123,
"smsUsedToday": 123,
"smsLimitToday": 123,
"smsDailyResetsAt": "2023-11-07T05:31:56Z",
"smsRemainingThisHour": 123,
"smsUsedThisHour": 123,
"smsLimitThisHour": 123,
"smsHourlyResetsAt": "2023-11-07T05:31:56Z",
"voiceRamping": true,
"voiceRemainingThisMinute": 123,
"voiceUsedThisMinute": 123,
"voiceLimitThisMinute": 123,
"voiceMinutelyResetsAt": "2023-11-07T05:31:56Z",
"voiceRemainingToday": 123,
"voiceUsedToday": 123,
"voiceLimitToday": 123,
"voiceDailyResetsAt": "2023-11-07T05:31:56Z",
"voiceRemainingThisHour": 123,
"voiceUsedThisHour": 123,
"voiceLimitThisHour": 123,
"voiceHourlyResetsAt": "2023-11-07T05:31:56Z"
},
"optOutMetrics": {
"windowDays": 123,
"windowStartedAt": "2023-11-07T05:31:56Z",
"distinctContactedCount": 123,
"optOutCount": 123,
"optOutRatePercent": 123
},
"trafficMetrics": {
"windowDays": 123,
"windowStartedAt": "2023-11-07T05:31:56Z",
"smsSentCount": 123,
"smsFailedCount": 123,
"mmsSentCount": 123,
"mmsFailedCount": 123,
"callPlacedCount": 123,
"callFailedCount": 123,
"callConnectedCount": 123,
"callShortCount": 123,
"callInvalidNumberCount": 123,
"trend": [
{
"startAt": "2023-11-07T05:31:56Z",
"endAt": "2023-11-07T05:31:56Z",
"label": "<string>",
"smsSentCount": 123,
"smsFailedCount": 123,
"mmsSentCount": 123,
"mmsFailedCount": 123,
"callPlacedCount": 123,
"callFailedCount": 123
}
]
},
"recentEvents": [
{
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"label": "<string>",
"eventType": "<string>",
"direction": "<string>",
"fromPhoneNumber": "<string>",
"toPhoneNumber": "<string>",
"textPreview": "<string>",
"isOptOut": true
}
]
}{
"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."
}Get organization phone number warmup status
Returns warmup status for a phone number, including limits and recent events used for delivery pacing.
curl --request GET \
--url https://api.leadping.ai/phone-numbers/{phoneNumberId}/warmup \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.leadping.ai/phone-numbers/{phoneNumberId}/warmup"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://api.leadping.ai/phone-numbers/{phoneNumberId}/warmup");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
HttpResponse<String> response = Unirest.get("https://api.leadping.ai/phone-numbers/{phoneNumberId}/warmup")
.header("Authorization", "Bearer <token>")
.asString();const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.leadping.ai/phone-numbers/{phoneNumberId}/warmup', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.leadping.ai/phone-numbers/{phoneNumberId}/warmup"
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))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.leadping.ai/phone-numbers/{phoneNumberId}/warmup",
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;
}{
"number": "<string>",
"messagesPossible": 123,
"callsPossible": 123,
"smsWarmup": {
"phoneNumberId": "<string>",
"phoneNumber": "<string>",
"status": "Not Started",
"healthStatus": "Not Evaluated",
"healthScore": 123,
"progressPercent": 123,
"warmupEnabled": true,
"uiState": {
"label": "Not Started",
"tone": "<string>",
"description": "<string>"
}
},
"outboundCapacity": {
"capacityAvailable": true,
"phoneNumberId": "<string>",
"phoneNumber": "<string>",
"healthStatus": "unknown",
"healthReason": "<string>",
"smsApproved": true,
"smsRamping": true,
"smsRemainingThisMinute": 123,
"smsUsedThisMinute": 123,
"smsLimitThisMinute": 123,
"smsMinutelyResetsAt": "2023-11-07T05:31:56Z",
"smsRemainingToday": 123,
"smsUsedToday": 123,
"smsLimitToday": 123,
"smsDailyResetsAt": "2023-11-07T05:31:56Z",
"smsRemainingThisHour": 123,
"smsUsedThisHour": 123,
"smsLimitThisHour": 123,
"smsHourlyResetsAt": "2023-11-07T05:31:56Z",
"voiceRamping": true,
"voiceRemainingThisMinute": 123,
"voiceUsedThisMinute": 123,
"voiceLimitThisMinute": 123,
"voiceMinutelyResetsAt": "2023-11-07T05:31:56Z",
"voiceRemainingToday": 123,
"voiceUsedToday": 123,
"voiceLimitToday": 123,
"voiceDailyResetsAt": "2023-11-07T05:31:56Z",
"voiceRemainingThisHour": 123,
"voiceUsedThisHour": 123,
"voiceLimitThisHour": 123,
"voiceHourlyResetsAt": "2023-11-07T05:31:56Z"
},
"optOutMetrics": {
"windowDays": 123,
"windowStartedAt": "2023-11-07T05:31:56Z",
"distinctContactedCount": 123,
"optOutCount": 123,
"optOutRatePercent": 123
},
"trafficMetrics": {
"windowDays": 123,
"windowStartedAt": "2023-11-07T05:31:56Z",
"smsSentCount": 123,
"smsFailedCount": 123,
"mmsSentCount": 123,
"mmsFailedCount": 123,
"callPlacedCount": 123,
"callFailedCount": 123,
"callConnectedCount": 123,
"callShortCount": 123,
"callInvalidNumberCount": 123,
"trend": [
{
"startAt": "2023-11-07T05:31:56Z",
"endAt": "2023-11-07T05:31:56Z",
"label": "<string>",
"smsSentCount": 123,
"smsFailedCount": 123,
"mmsSentCount": 123,
"mmsFailedCount": 123,
"callPlacedCount": 123,
"callFailedCount": 123
}
]
},
"recentEvents": [
{
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"label": "<string>",
"eventType": "<string>",
"direction": "<string>",
"fromPhoneNumber": "<string>",
"toPhoneNumber": "<string>",
"textPreview": "<string>",
"isOptOut": true
}
]
}{
"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_.
Path Parameters
The phone number identifier.
Query Parameters
The window days.
The start date.
The end date.
Response
Returns the phone number status response.
Describes a phone number's current warmup stage, limits, progress, and readiness for production traffic.
E.164 phone number exposed by this phone number warmup status.
Indicates whether this phone number can currently send SMS messages.
Indicates whether this phone number can currently place outbound calls.
SMS warmup status for this phone number.
Show child attributes
Show child attributes
Current outbound SMS and voice capacity for this phone number.
Show child attributes
Show child attributes
Recent SMS opt-out metrics used to evaluate sender health and compliance risk.
Show child attributes
Show child attributes
Phone number traffic metrics for recent SMS and call activity.
Show child attributes
Show child attributes
Recent workflow events returned for timeline and troubleshooting.
Show child attributes
Show child attributes

