Get Events Import Status
curl --request GET \
--url https://api-ai.zixflow.com/api/data/events/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/events/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/events/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/events/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/events/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/events/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/events/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": "68f0c1a2b3c4d5e6f7a8b9c1",
"status": "in-progress",
"total": 1000,
"processed": 420,
"created": 300,
"updated": 100,
"skipped": 10,
"failed": 10,
"percentage": 42.0,
"file_url": "https://files.example.com/events.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"
}
Events
Get Events Import Status
Retrieve events import job status, counters, and error file URL
GET
/
api
/
data
/
events
/
v1
/
import
/
{import_id}
Get Events Import Status
curl --request GET \
--url https://api-ai.zixflow.com/api/data/events/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/events/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/events/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/events/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/events/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/events/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/events/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": "68f0c1a2b3c4d5e6f7a8b9c1",
"status": "in-progress",
"total": 1000,
"processed": 420,
"created": 300,
"updated": 100,
"skipped": 10,
"failed": 10,
"percentage": 42.0,
"file_url": "https://files.example.com/events.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 an events import job. Same counter payload as people import, withoutsegment_id.
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 records.
number
Rows that updated existing records.
number
Rows that were skipped.
number
Rows that failed.
number
Progress from 0–100.
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": "68f0c1a2b3c4d5e6f7a8b9c1",
"status": "in-progress",
"total": 1000,
"processed": 420,
"created": 300,
"updated": 100,
"skipped": 10,
"failed": 10,
"percentage": 42.0,
"file_url": "https://files.example.com/events.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"
}