curl --request PUT \
--url https://api.leadping.ai/leads/{leadId}/status \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "<string>",
"outcome": "<string>"
}
'import requests
url = "https://api.leadping.ai/leads/{leadId}/status"
payload = {
"type": "<string>",
"outcome": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://api.leadping.ai/leads/{leadId}/status");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"type\": \"<string>\",\n \"outcome\": \"<string>\"\n}", false);
var response = await client.PutAsync(request);
Console.WriteLine("{0}", response.Content);
HttpResponse<String> response = Unirest.put("https://api.leadping.ai/leads/{leadId}/status")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"<string>\",\n \"outcome\": \"<string>\"\n}")
.asString();const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({type: '<string>', outcome: '<string>'})
};
fetch('https://api.leadping.ai/leads/{leadId}/status', 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/leads/{leadId}/status"
payload := strings.NewReader("{\n \"type\": \"<string>\",\n \"outcome\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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/leads/{leadId}/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'type' => '<string>',
'outcome' => '<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;
}{
"id": "<string>",
"leadId": "<string>",
"leadName": "<string>",
"type": "<string>",
"outcome": "<string>",
"category": "Open",
"oldLeadStatusChangeId": "<string>",
"oldLeadStatusChangeType": "<string>",
"oldLeadStatusChangeOutcome": "<string>",
"newLeadStatusChangeId": "<string>",
"notes": "<string>",
"reason": "<string>",
"changedByUserId": "<string>",
"changedByAutomationId": "<string>",
"changedAt": "2023-11-07T05:31:56Z",
"changeSource": "User",
"timestamp": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"followUpStatus": "<string>",
"callbackAt": "2023-11-07T05:31:56Z",
"taskDueAt": "2023-11-07T05:31:56Z",
"appointmentStartAt": "2023-11-07T05:31:56Z",
"appointmentEndAt": "2023-11-07T05:31:56Z",
"appointmentNotes": "<string>",
"assignedToUserId": "<string>",
"relatedCallEventId": "<string>",
"isMissedCallFollowUp": true,
"sourceId": "<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": "Not Found",
"status": 404,
"detail": "The request could not be completed."
}{
"type": "about:blank",
"title": "Too Many Requests",
"status": 429,
"detail": "The request could not be completed."
}Set a lead's current status
Sets the lead’s current structured status and records the change for audit, automation, and reporting.
curl --request PUT \
--url https://api.leadping.ai/leads/{leadId}/status \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "<string>",
"outcome": "<string>"
}
'import requests
url = "https://api.leadping.ai/leads/{leadId}/status"
payload = {
"type": "<string>",
"outcome": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://api.leadping.ai/leads/{leadId}/status");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"type\": \"<string>\",\n \"outcome\": \"<string>\"\n}", false);
var response = await client.PutAsync(request);
Console.WriteLine("{0}", response.Content);
HttpResponse<String> response = Unirest.put("https://api.leadping.ai/leads/{leadId}/status")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"<string>\",\n \"outcome\": \"<string>\"\n}")
.asString();const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({type: '<string>', outcome: '<string>'})
};
fetch('https://api.leadping.ai/leads/{leadId}/status', 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/leads/{leadId}/status"
payload := strings.NewReader("{\n \"type\": \"<string>\",\n \"outcome\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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/leads/{leadId}/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'type' => '<string>',
'outcome' => '<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;
}{
"id": "<string>",
"leadId": "<string>",
"leadName": "<string>",
"type": "<string>",
"outcome": "<string>",
"category": "Open",
"oldLeadStatusChangeId": "<string>",
"oldLeadStatusChangeType": "<string>",
"oldLeadStatusChangeOutcome": "<string>",
"newLeadStatusChangeId": "<string>",
"notes": "<string>",
"reason": "<string>",
"changedByUserId": "<string>",
"changedByAutomationId": "<string>",
"changedAt": "2023-11-07T05:31:56Z",
"changeSource": "User",
"timestamp": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"followUpStatus": "<string>",
"callbackAt": "2023-11-07T05:31:56Z",
"taskDueAt": "2023-11-07T05:31:56Z",
"appointmentStartAt": "2023-11-07T05:31:56Z",
"appointmentEndAt": "2023-11-07T05:31:56Z",
"appointmentNotes": "<string>",
"assignedToUserId": "<string>",
"relatedCallEventId": "<string>",
"isMissedCallFollowUp": true,
"sourceId": "<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": "Not Found",
"status": 404,
"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 lead identifier.
Body
The new status and related workflow data.
Defines a lead status transition or correction, including its target status, effective time, source, and explanatory context.
Category of status change being recorded for the lead.
Result of the interaction or workflow step that caused the status change.
Controlled lead status change categories used for reporting, automation, and analytics.
Open, Qualified, Converted, Lost, Invalid, Duplicate The operator or customer notes recorded for this lead status change.
The reason this lead status change was changed.
The current follow up status for this lead status change.
UTC timestamp for callback at on this lead status change.
UTC timestamp for task due at on this lead status change.
UTC timestamp for appointment start at on this lead status change.
UTC timestamp for appointment end at on this lead status change.
Additional scheduling or preparation notes for the related appointment.
Response
The lead status was successfully updated and recorded.
Describes an auditable lead status transition, including the previous and new status, source, actor, and effective time.
Unique Leadping identifier for this lead status change.
The lead ID associated with this lead status change.
The display name of the lead associated with this lead status change.
Category of status change recorded for the lead.
Result of the interaction or workflow step that caused the status change.
Controlled lead status change categories used for reporting, automation, and analytics.
Open, Qualified, Converted, Lost, Invalid, Duplicate Unique identifier of the old lead status change associated with this Leadping lead status change.
Old lead status change type classification for this Leadping lead status change.
Old lead status change outcome associated with this Leadping lead status change.
Unique identifier of the new lead status change associated with this Leadping lead status change.
The operator or customer notes recorded for this lead status change.
The reason this lead status change was changed.
Unique identifier of the Leadping user who made the change.
Unique identifier of the automation that changed the lead status change, when applicable.
Date and time when the lead status change change occurred.
Known sources that can change a lead's current lead status change.
User, AI, Automation, System, API UTC timestamp for timestamp on this lead status change.
UTC timestamp for created at on this lead status change.
UTC timestamp for updated at on this lead status change.
The current follow up status for this lead status change.
UTC timestamp for callback at on this lead status change.
UTC timestamp for task due at on this lead status change.
UTC timestamp for appointment start at on this lead status change.
UTC timestamp for appointment end at on this lead status change.
Additional scheduling or preparation notes for the related appointment.
The assigned to user ID associated with this lead status change.
The related call event ID associated with this lead status change.
Whether this lead status change is missed call follow up.
The source ID associated with this lead status change.

