curl --request POST \
--url https://api.leadping.ai/phone-call/initiate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"leadId": "lead-123"
}
'import requests
url = "https://api.leadping.ai/phone-call/initiate"
payload = { "leadId": "lead-123" }
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/phone-call/initiate");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"leadId\": \"lead-123\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
HttpResponse<String> response = Unirest.post("https://api.leadping.ai/phone-call/initiate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"leadId\": \"lead-123\"\n}")
.asString();const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({leadId: 'lead-123'})
};
fetch('https://api.leadping.ai/phone-call/initiate', 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/phone-call/initiate"
payload := strings.NewReader("{\n \"leadId\": \"lead-123\"\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/phone-call/initiate",
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([
'leadId' => 'lead-123'
]),
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;
}{
"status": "scheduled",
"statusReason": "<string>",
"direction": "<string>",
"conversationId": "<string>",
"leadId": "<string>",
"phoneNumber": "<string>",
"toPhoneNumber": "<string>",
"fromPhoneNumberId": "<string>",
"fromPhoneNumber": "<string>",
"callerId": "<string>",
"selectionReason": "StickyConversation",
"wasManuallyOverridden": true,
"campaignId": "<string>",
"sourceId": "<string>",
"endedAt": "2023-11-07T05:31:56Z",
"queuedAt": "2023-11-07T05:31:56Z",
"ringingAt": "2023-11-07T05:31:56Z",
"answeredAt": "2023-11-07T05:31:56Z",
"durationSeconds": 123,
"billingStatus": "<string>",
"billableAmount": 123,
"voicemailUrl": "<string>",
"consoleEntries": [
{
"id": "<string>",
"stage": "<string>",
"status": "<string>",
"message": "<string>",
"occurredAt": "2023-11-07T05:31:56Z"
}
],
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"modifiedAt": "2023-11-07T05:31:56Z"
}{
"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."
}Initiate a Leadping phone call
The call operation validates ownership and current provider state before returning the updated Leadping call representation.
curl --request POST \
--url https://api.leadping.ai/phone-call/initiate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"leadId": "lead-123"
}
'import requests
url = "https://api.leadping.ai/phone-call/initiate"
payload = { "leadId": "lead-123" }
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/phone-call/initiate");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"leadId\": \"lead-123\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
HttpResponse<String> response = Unirest.post("https://api.leadping.ai/phone-call/initiate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"leadId\": \"lead-123\"\n}")
.asString();const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({leadId: 'lead-123'})
};
fetch('https://api.leadping.ai/phone-call/initiate', 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/phone-call/initiate"
payload := strings.NewReader("{\n \"leadId\": \"lead-123\"\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/phone-call/initiate",
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([
'leadId' => 'lead-123'
]),
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;
}{
"status": "scheduled",
"statusReason": "<string>",
"direction": "<string>",
"conversationId": "<string>",
"leadId": "<string>",
"phoneNumber": "<string>",
"toPhoneNumber": "<string>",
"fromPhoneNumberId": "<string>",
"fromPhoneNumber": "<string>",
"callerId": "<string>",
"selectionReason": "StickyConversation",
"wasManuallyOverridden": true,
"campaignId": "<string>",
"sourceId": "<string>",
"endedAt": "2023-11-07T05:31:56Z",
"queuedAt": "2023-11-07T05:31:56Z",
"ringingAt": "2023-11-07T05:31:56Z",
"answeredAt": "2023-11-07T05:31:56Z",
"durationSeconds": 123,
"billingStatus": "<string>",
"billableAmount": 123,
"voicemailUrl": "<string>",
"consoleEntries": [
{
"id": "<string>",
"stage": "<string>",
"status": "<string>",
"message": "<string>",
"occurredAt": "2023-11-07T05:31:56Z"
}
],
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"modifiedAt": "2023-11-07T05:31:56Z"
}{
"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 call initiation request containing phone number and optional metadata.
Defines the fields clients can send when working with phone call initiation.
Lead ID associated with the outbound call request.
Sender phone number ID used for this outbound SMS or call.
Conversation ID that links this phone call initiation request to the Leadping inbox thread.
Indicates whether a user manually overrode Leadping's automatic number selection for this phone call initiation request.
Messaging campaign identifier associated with this phone call initiation request.
Lead source ID used for call attribution and sender selection.
Idempotency key used to prevent duplicate outbound delivery.
Response
Calls was successfully initiated.
Describes a Leadping phone call, including participants, direction, provider state, timing, voicemail, and billing details.
Current lifecycle status for this phone call in the Leadping API.
scheduled, queued, initiated, ringing, in_progress, active, completed, ended, busy, no_answer, failed, canceled, missed, transferred, voicemail, blocked_billing, blocked_phone_number_status, blocked_configuration, blocked_permission, configuration_required Human-readable reason explaining the current status of this phone call.
Communication direction for this phone call, such as inbound or outbound.
Conversation ID that links this phone call to the Leadping inbox thread.
Lead ID associated with the call conversation or outreach attempt.
Phone number used by this phone call for calls, SMS, lookup, or routing.
Recipient phone number used for this communication.
Sender phone number ID used for this outbound SMS or call.
Sender phone number used for this communication.
Caller ID phone number presented during the outbound call.
Explains why Leadping selected, rejected, or substituted an outgoing caller or messaging number.
StickyConversation, LeadAssigned, CampaignOrSource, Preferred, LocalArea, HealthyPool, FallbackDefault, ManualOverride Indicates whether a user manually overrode Leadping's automatic number selection for this phone call.
Messaging campaign identifier associated with this phone call.
Lead source ID used for attribution and routing on this call.
UTC timestamp when the call ended.
UTC timestamp when Leadping queued this phone call for processing.
UTC timestamp when the call started ringing.
UTC timestamp when the call was answered.
Call duration in seconds.
Billing state for this communication, charge, or transaction.
Monetary amount billed for this Leadping communication or transaction.
URL for voicemail audio, when the call resulted in a voicemail.
Ordered diagnostic entries recorded while Leadping processed this call.
Show child attributes
Show child attributes
Stable unique identifier of the resource.
UTC timestamp when the resource was created.
UTC timestamp when the resource was last modified, or null when it has not been updated.

