Get People Import Status
curl --request GET \
--url https://api-ai.zixflow.com/api/data/people/v1/import/{import_id} \
--header 'x-api-key: <x-api-key>' \
--header 'x-workspace-id: <x-workspace-id>'import requests
url = "https://api-ai.zixflow.com/api/data/people/v1/import/{import_id}"
headers = {
"x-api-key": "<x-api-key>",
"x-workspace-id": "<x-workspace-id>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-key': '<x-api-key>', 'x-workspace-id': '<x-workspace-id>'}
};
fetch('https://api-ai.zixflow.com/api/data/people/v1/import/{import_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-ai.zixflow.com/api/data/people/v1/import/{import_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 => [
"x-api-key: <x-api-key>",
"x-workspace-id: <x-workspace-id>"
],
]);
$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-ai.zixflow.com/api/data/people/v1/import/{import_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("x-workspace-id", "<x-workspace-id>")
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-ai.zixflow.com/api/data/people/v1/import/{import_id}")
.header("x-api-key", "<x-api-key>")
.header("x-workspace-id", "<x-workspace-id>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-ai.zixflow.com/api/data/people/v1/import/{import_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
request["x-workspace-id"] = '<x-workspace-id>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Import status retrieved successfully",
"data": {
"import_id": "68f0c1a2b3c4d5e6f7a8b9c0",
"status": "in-progress",
"total": 1000,
"processed": 420,
"created": 300,
"updated": 100,
"skipped": 10,
"failed": 10,
"percentage": 42.0,
"segment_id": "65f1a2b3c4d5e6f7a8b9c0d1",
"file_url": "https://files.example.com/people.csv",
"error_file_url": "https://signed-url.example.com/errors.csv"
}
}
{
"success": false,
"message": "invalid import_id"
}
{
"error": true,
"message": "Unauthorized"
}
{
"success": false,
"message": "import not found"
}
People
Get People Import Status
Retrieve people import job status, counters, and error file URL
GET
/
api
/
data
/
people
/
v1
/
import
/
{import_id}
Get People Import Status
curl --request GET \
--url https://api-ai.zixflow.com/api/data/people/v1/import/{import_id} \
--header 'x-api-key: <x-api-key>' \
--header 'x-workspace-id: <x-workspace-id>'import requests
url = "https://api-ai.zixflow.com/api/data/people/v1/import/{import_id}"
headers = {
"x-api-key": "<x-api-key>",
"x-workspace-id": "<x-workspace-id>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-key': '<x-api-key>', 'x-workspace-id': '<x-workspace-id>'}
};
fetch('https://api-ai.zixflow.com/api/data/people/v1/import/{import_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-ai.zixflow.com/api/data/people/v1/import/{import_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 => [
"x-api-key: <x-api-key>",
"x-workspace-id: <x-workspace-id>"
],
]);
$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-ai.zixflow.com/api/data/people/v1/import/{import_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("x-workspace-id", "<x-workspace-id>")
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-ai.zixflow.com/api/data/people/v1/import/{import_id}")
.header("x-api-key", "<x-api-key>")
.header("x-workspace-id", "<x-workspace-id>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-ai.zixflow.com/api/data/people/v1/import/{import_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
request["x-workspace-id"] = '<x-workspace-id>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Import status retrieved successfully",
"data": {
"import_id": "68f0c1a2b3c4d5e6f7a8b9c0",
"status": "in-progress",
"total": 1000,
"processed": 420,
"created": 300,
"updated": 100,
"skipped": 10,
"failed": 10,
"percentage": 42.0,
"segment_id": "65f1a2b3c4d5e6f7a8b9c0d1",
"file_url": "https://files.example.com/people.csv",
"error_file_url": "https://signed-url.example.com/errors.csv"
}
}
{
"success": false,
"message": "invalid import_id"
}
{
"error": true,
"message": "Unauthorized"
}
{
"success": false,
"message": "import not found"
}
Description
Returns counters and, when present, a signed error CSV URL for a people import job. See CSV Import Introduction for statuses and polling guidance.Headers
string
required
Your API key for authentication. Must have dashboard permission.
string
required
Your workspace ID for authentication. Must own the API key.
Path Parameters
string
required
The import job ID returned when the import was queued.
Response
boolean
Indicates whether the API call was successful.
string
Success or error message from the API.
object
Import status payload.
string
Unique import job ID.
string
One of
in-queue, in-progress, completed, failed, or cancelled.number
Rows discovered.
number
Rows handled so far.
number
Rows that created new people.
number
Rows that updated existing people.
number
Rows that were skipped.
number
Rows that failed.
number
Progress from 0–100.
string
Present only if the job targeted a manual list.
string
Original URL you submitted (API imports only).
string
Signed URL of failed-row CSV; omitted until available. Refreshed on poll; ~7 day expiry.
{
"success": true,
"message": "Import status retrieved successfully",
"data": {
"import_id": "68f0c1a2b3c4d5e6f7a8b9c0",
"status": "in-progress",
"total": 1000,
"processed": 420,
"created": 300,
"updated": 100,
"skipped": 10,
"failed": 10,
"percentage": 42.0,
"segment_id": "65f1a2b3c4d5e6f7a8b9c0d1",
"file_url": "https://files.example.com/people.csv",
"error_file_url": "https://signed-url.example.com/errors.csv"
}
}
{
"success": false,
"message": "invalid import_id"
}
{
"error": true,
"message": "Unauthorized"
}
{
"success": false,
"message": "import not found"
}