Poll a bulk-delete job
curl --request GET \
--url https://api.topcalls.ai/v1/leads/bulk-delete/{job_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.topcalls.ai/v1/leads/bulk-delete/{job_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.topcalls.ai/v1/leads/bulk-delete/{job_id}', 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.topcalls.ai/v1/leads/bulk-delete/{job_id}",
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.topcalls.ai/v1/leads/bulk-delete/{job_id}"
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.topcalls.ai/v1/leads/bulk-delete/{job_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.topcalls.ai/v1/leads/bulk-delete/{job_id}")
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{
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"total_leads": 123,
"deleted": 123,
"skipped": 123,
"chunks_done": 123,
"chunks_total": 123,
"error": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z"
}{
"title": "<string>",
"status": 123,
"type": "<string>",
"detail": "<string>",
"code": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}{
"title": "<string>",
"status": 123,
"type": "<string>",
"detail": "<string>",
"code": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}{
"title": "<string>",
"status": 123,
"type": "<string>",
"detail": "<string>",
"code": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}{
"title": "<string>",
"status": 123,
"type": "<string>",
"detail": "<string>",
"code": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}Leads
Poll a bulk-delete job
Returns a background bulk-delete job. Poll until status is completed, completed_with_skipped, failed or canceled. Requires scope: leads:read.
GET
/
v1
/
leads
/
bulk-delete
/
{job_id}
Poll a bulk-delete job
curl --request GET \
--url https://api.topcalls.ai/v1/leads/bulk-delete/{job_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.topcalls.ai/v1/leads/bulk-delete/{job_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.topcalls.ai/v1/leads/bulk-delete/{job_id}', 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.topcalls.ai/v1/leads/bulk-delete/{job_id}",
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.topcalls.ai/v1/leads/bulk-delete/{job_id}"
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.topcalls.ai/v1/leads/bulk-delete/{job_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.topcalls.ai/v1/leads/bulk-delete/{job_id}")
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{
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"total_leads": 123,
"deleted": 123,
"skipped": 123,
"chunks_done": 123,
"chunks_total": 123,
"error": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z"
}{
"title": "<string>",
"status": 123,
"type": "<string>",
"detail": "<string>",
"code": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}{
"title": "<string>",
"status": 123,
"type": "<string>",
"detail": "<string>",
"code": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}{
"title": "<string>",
"status": 123,
"type": "<string>",
"detail": "<string>",
"code": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}{
"title": "<string>",
"status": 123,
"type": "<string>",
"detail": "<string>",
"code": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}Authorizations
Use Authorization: Bearer tc_live_xxxxx
Path Parameters
The job_id from the 202 response of POST /v1/leads/bulk-delete.
Response
Job status
A background bulk-delete job.
Available options:
pending, running, completed, completed_with_skipped, failed, canceled Leads the filter matched when the job started.
Leads deleted so far.
Leads already gone when their chunk ran.
Chunks of 1,000 leads done.
Why the job failed. Null unless status is failed.
⌘I