curl --request GET \
--url https://api.instantly.ai/api/v2/background-jobs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.instantly.ai/api/v2/background-jobs"
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', 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")
.header("Authorization", "Bearer <token>")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.instantly.ai/api/v2/background-jobs",
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"
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))
}{
"items": [
{
"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"
]
}
}
],
"next_starting_after": "01a082d0-8366-7efe-83c0-38b835f6d22c"
}{
"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"
}List 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 \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.instantly.ai/api/v2/background-jobs"
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', 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")
.header("Authorization", "Bearer <token>")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.instantly.ai/api/v2/background-jobs",
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"
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))
}{
"items": [
{
"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"
]
}
}
],
"next_starting_after": "01a082d0-8366-7efe-83c0-38b835f6d22c"
}{
"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.
Query Parameters
The number of items to return
1 <= x <= 10010
"507f1f77bcf86cd799439011"
The ID of the job. Multiple IDs can be provided as a comma-separated list
"676f3caadedbfe9abea3bab4"
The ID of the job to be included in the response. Multiple IDs can be provided as a comma-separated list
"676f3caadedbfe9abea3bab4"
The ID of the job to be excluded from the response. Multiple IDs can be provided as a comma-separated list
"676f3caadedbfe9abea3bab4"
The type of the 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"
The type of the entity
list, campaign, workspace, broadcast, subscriber-group-sync, subscriber-group "list"
The ID of the entity. Multiple IDs can be provided as a comma-separated list
"676f3caadedbfe9abea3bab4"
The status of the job. Multiple statuses can be provided as a comma-separated list. Valid statuses are: pending, in-progress, success, failed, draining, paused, cancelled
"pending,in-progress"
The column to sort the results by
created_at, updated_at "created_at"
The order to sort the results by
asc, desc "desc"
Response
The list of Background Job
The list of Background Job
Show child attributes
Show child attributes
The filter for getting the next items after this one, this could either be a UUID, a timestamp, on an email depending on the specific API
"01a082d0-8366-7efe-83c0-38b835f6d22c"
"2026-09-08T20:58:18.342Z"