curl --request GET \
--url https://api.instantly.ai/api/v2/background-jobs/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.instantly.ai/api/v2/background-jobs/{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.instantly.ai/api/v2/background-jobs/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://api.instantly.ai/api/v2/background-jobs/{id}")
.header("Authorization", "Bearer <token>")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.instantly.ai/api/v2/background-jobs/{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.instantly.ai/api/v2/background-jobs/{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))
}{
"id": "675266e304a8e55b17f0228b",
"workspace_id": "01a082d0-332e-7296-bd3a-5ba6ca83786b",
"type": "move-leads",
"progress": 0,
"status": "pending",
"created_at": "2026-09-08T20:57:57.806Z",
"updated_at": "2026-09-08T20:57:57.806Z",
"user_id": "01a082d0-332e-7296-bd3a-5ba7f1fe4319",
"entity_id": "01a082d0-332e-7296-bd3a-5ba8d86daeb4",
"entity_type": "list",
"data": {
"moved_lead_emails": [
"jane@example.com",
"john@example.com"
]
}
}{
"statusCode": 401,
"error": "Unauthorized",
"message": "Missing Authorization header"
}{
"statusCode": 402,
"error": "Payment Required",
"message": "Workspace does not have an active paid plan"
}{
"statusCode": 404,
"error": "Not Found",
"message": "Resource not found"
}{
"statusCode": 429,
"error": "Too Many Requests",
"message": "Rate limit exceeded"
}Get background job
Requires one of the following scopes: background-jobs:read, background-jobs:all, all:read, all:all
curl --request GET \
--url https://api.instantly.ai/api/v2/background-jobs/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.instantly.ai/api/v2/background-jobs/{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.instantly.ai/api/v2/background-jobs/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://api.instantly.ai/api/v2/background-jobs/{id}")
.header("Authorization", "Bearer <token>")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.instantly.ai/api/v2/background-jobs/{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.instantly.ai/api/v2/background-jobs/{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))
}{
"id": "675266e304a8e55b17f0228b",
"workspace_id": "01a082d0-332e-7296-bd3a-5ba6ca83786b",
"type": "move-leads",
"progress": 0,
"status": "pending",
"created_at": "2026-09-08T20:57:57.806Z",
"updated_at": "2026-09-08T20:57:57.806Z",
"user_id": "01a082d0-332e-7296-bd3a-5ba7f1fe4319",
"entity_id": "01a082d0-332e-7296-bd3a-5ba8d86daeb4",
"entity_type": "list",
"data": {
"moved_lead_emails": [
"jane@example.com",
"john@example.com"
]
}
}{
"statusCode": 401,
"error": "Unauthorized",
"message": "Missing Authorization header"
}{
"statusCode": 402,
"error": "Payment Required",
"message": "Workspace does not have an active paid plan"
}{
"statusCode": 404,
"error": "Not Found",
"message": "Resource not found"
}{
"statusCode": 429,
"error": "Too Many Requests",
"message": "Rate limit exceeded"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the requested item
"6aa076eadd4d4fd7b66bb50d"
Query Parameters
Comma-separated list of fields to include from the data object (e.g., "success_count,failed_count" or "moved_lead_emails,moved_leads"). For move-leads jobs, moved_lead_emails is capped at 10,000 entries.
"success_count,failed_count,total_to_process"
Response
The requested Background Job
A background job that can be used to perform long-running tasks
Unique identifier for the background job
"675266e304a8e55b17f0228b"
Workspace ID
"01a082d0-332e-7296-bd3a-5ba6ca83786b"
Type of background job
move-leads, import-leads, export-leads, update-warmup-accounts, rename-variable, broadcast-ai-generate, broadcast-website-scrape, import-subscribers-from-crm, resync-subscriber-crm-tags "move-leads"
Progress of the job as a percentage (from 0 to 100)
0 <= x <= 1000
Job status
pending, in-progress, success, failed, draining, paused, cancelled "pending"
Timestamp when the job was created
"2026-09-08T20:57:57.806Z"
Timestamp when the job was last updated
"2026-09-08T20:57:57.806Z"
The id of the user that triggered the action that created the job
"01a082d0-332e-7296-bd3a-5ba7f1fe4319"
The id of the entity that the job is related to
"01a082d0-332e-7296-bd3a-5ba8d86daeb4"
Type of entity
list, campaign, workspace, broadcast, subscriber-group-sync, subscriber-group "list"
Data about the job, used to store any additional information we need to process the job
Show child attributes
Show child attributes