List vector database ingestion jobs
curl --request GET \
--url https://flow.seekr.com/v1/flow/vectordb/{database_id}/ingestion \
--header 'Authorization: <api-key>'import requests
url = "https://flow.seekr.com/v1/flow/vectordb/{database_id}/ingestion"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://flow.seekr.com/v1/flow/vectordb/{database_id}/ingestion', 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://flow.seekr.com/v1/flow/vectordb/{database_id}/ingestion",
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: <api-key>"
],
]);
$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://flow.seekr.com/v1/flow/vectordb/{database_id}/ingestion"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://flow.seekr.com/v1/flow/vectordb/{database_id}/ingestion")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://flow.seekr.com/v1/flow/vectordb/{database_id}/ingestion")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"object": "<string>",
"data": [
{
"id": "<string>",
"vector_database_id": "<string>",
"status": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"error_message": "<string>",
"file_ids": [
"<string>"
],
"metaflow_run_id": "<string>",
"file_records": [
{
"id": "<string>",
"record_id": "<string>",
"vector_database_id": "<string>",
"filename": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"status": "<string>",
"method": "<string>",
"chunk_method": "<string>",
"token_count": 123,
"overlap_tokens": 123,
"ingestion_job_id": "<string>",
"error_message": "<string>",
"suggested_fix": "<string>",
"processing_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"failed_at": "2023-11-07T05:31:56Z",
"file_size_in_bytes": 123,
"queue_position": 123,
"metadata": {}
}
]
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Vector database
List vector database ingestion jobs
Retrieve a list of all ingestion jobs for a vector database.
GET
/
v1
/
flow
/
vectordb
/
{database_id}
/
ingestion
List vector database ingestion jobs
curl --request GET \
--url https://flow.seekr.com/v1/flow/vectordb/{database_id}/ingestion \
--header 'Authorization: <api-key>'import requests
url = "https://flow.seekr.com/v1/flow/vectordb/{database_id}/ingestion"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://flow.seekr.com/v1/flow/vectordb/{database_id}/ingestion', 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://flow.seekr.com/v1/flow/vectordb/{database_id}/ingestion",
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: <api-key>"
],
]);
$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://flow.seekr.com/v1/flow/vectordb/{database_id}/ingestion"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://flow.seekr.com/v1/flow/vectordb/{database_id}/ingestion")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://flow.seekr.com/v1/flow/vectordb/{database_id}/ingestion")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"object": "<string>",
"data": [
{
"id": "<string>",
"vector_database_id": "<string>",
"status": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"error_message": "<string>",
"file_ids": [
"<string>"
],
"metaflow_run_id": "<string>",
"file_records": [
{
"id": "<string>",
"record_id": "<string>",
"vector_database_id": "<string>",
"filename": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"status": "<string>",
"method": "<string>",
"chunk_method": "<string>",
"token_count": 123,
"overlap_tokens": 123,
"ingestion_job_id": "<string>",
"error_message": "<string>",
"suggested_fix": "<string>",
"processing_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"failed_at": "2023-11-07T05:31:56Z",
"file_size_in_bytes": 123,
"queue_position": 123,
"metadata": {}
}
]
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Each job in the response includes a
file_records array that provides per-file tracking. Every file gets its own record with independent status, timestamps, and error information.
See Monitor ingestion for a full guide to job states, file record fields, and error handling.Authorizations
Your Seekr API key, sent in the Authorization header with no 'Bearer' prefix.
Path Parameters
Last modified on June 18, 2026
⌘I