Get an ingest run
curl --request GET \
--url https://api.withsplendor.com/v1/ingest/runs/{ingest_run_id} \
--header 'Authorization: Bearer <token>' \
--header 'x-splendor-tenant-id: <x-splendor-tenant-id>'import requests
url = "https://api.withsplendor.com/v1/ingest/runs/{ingest_run_id}"
headers = {
"x-splendor-tenant-id": "<x-splendor-tenant-id>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'x-splendor-tenant-id': '<x-splendor-tenant-id>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.withsplendor.com/v1/ingest/runs/{ingest_run_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.withsplendor.com/v1/ingest/runs/{ingest_run_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>",
"x-splendor-tenant-id: <x-splendor-tenant-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.withsplendor.com/v1/ingest/runs/{ingest_run_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-splendor-tenant-id", "<x-splendor-tenant-id>")
req.Header.Add("Authorization", "Bearer <token>")
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.withsplendor.com/v1/ingest/runs/{ingest_run_id}")
.header("x-splendor-tenant-id", "<x-splendor-tenant-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.withsplendor.com/v1/ingest/runs/{ingest_run_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-splendor-tenant-id"] = '<x-splendor-tenant-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"bucket": "acme-logs",
"completed_at": "2026-01-15T09:30:00Z",
"connector_run_id": null,
"created_at": "2026-01-15T09:30:00Z",
"dataset_id": "app-logs",
"documents": {
"expected": 1240000,
"index_committed": 1240000,
"parsed": 1240000,
"schema_observed": 1240000,
"semantic_embedded": 1240000,
"semantic_failed": 0,
"semantic_total": 1240000
},
"error_code": null,
"error_message": null,
"etag": "\"9b2cf5e1\"",
"failed_at": null,
"ingest_failure_id": null,
"ingest_run_id": "ing_01H8Z3",
"input_kind": "hosted_upload",
"key": "2026/01/15/app-0001.jsonl.gz",
"lifecycle": {
"reasons": [],
"repairable": false,
"state": "ready"
},
"queued_at": "2026-01-15T09:30:00Z",
"ready_for": {
"semantic_search": true,
"sql_search": true,
"text_search": true
},
"reindex_job_id": null,
"semantic_ready_at": "2026-01-15T09:30:00Z",
"source_id": 12,
"started_at": "2026-01-15T09:30:00Z",
"status": "ready",
"tenant_id": "acme",
"text_indexed_at": "2026-01-15T09:30:00Z",
"updated_at": "2026-01-15T09:30:00Z",
"upload_session_id": "ups_01H8Z3"
}{
"detail": "Dataset not found"
}{
"detail": "Dataset not found"
}{
"detail": "Dataset not found"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Sources & ingest
Get an ingest run
Returns the progress and readiness detail for a single ingest run.
GET
/
v1
/
ingest
/
runs
/
{ingest_run_id}
Get an ingest run
curl --request GET \
--url https://api.withsplendor.com/v1/ingest/runs/{ingest_run_id} \
--header 'Authorization: Bearer <token>' \
--header 'x-splendor-tenant-id: <x-splendor-tenant-id>'import requests
url = "https://api.withsplendor.com/v1/ingest/runs/{ingest_run_id}"
headers = {
"x-splendor-tenant-id": "<x-splendor-tenant-id>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'x-splendor-tenant-id': '<x-splendor-tenant-id>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.withsplendor.com/v1/ingest/runs/{ingest_run_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.withsplendor.com/v1/ingest/runs/{ingest_run_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>",
"x-splendor-tenant-id: <x-splendor-tenant-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.withsplendor.com/v1/ingest/runs/{ingest_run_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-splendor-tenant-id", "<x-splendor-tenant-id>")
req.Header.Add("Authorization", "Bearer <token>")
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.withsplendor.com/v1/ingest/runs/{ingest_run_id}")
.header("x-splendor-tenant-id", "<x-splendor-tenant-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.withsplendor.com/v1/ingest/runs/{ingest_run_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-splendor-tenant-id"] = '<x-splendor-tenant-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"bucket": "acme-logs",
"completed_at": "2026-01-15T09:30:00Z",
"connector_run_id": null,
"created_at": "2026-01-15T09:30:00Z",
"dataset_id": "app-logs",
"documents": {
"expected": 1240000,
"index_committed": 1240000,
"parsed": 1240000,
"schema_observed": 1240000,
"semantic_embedded": 1240000,
"semantic_failed": 0,
"semantic_total": 1240000
},
"error_code": null,
"error_message": null,
"etag": "\"9b2cf5e1\"",
"failed_at": null,
"ingest_failure_id": null,
"ingest_run_id": "ing_01H8Z3",
"input_kind": "hosted_upload",
"key": "2026/01/15/app-0001.jsonl.gz",
"lifecycle": {
"reasons": [],
"repairable": false,
"state": "ready"
},
"queued_at": "2026-01-15T09:30:00Z",
"ready_for": {
"semantic_search": true,
"sql_search": true,
"text_search": true
},
"reindex_job_id": null,
"semantic_ready_at": "2026-01-15T09:30:00Z",
"source_id": 12,
"started_at": "2026-01-15T09:30:00Z",
"status": "ready",
"tenant_id": "acme",
"text_indexed_at": "2026-01-15T09:30:00Z",
"updated_at": "2026-01-15T09:30:00Z",
"upload_session_id": "ups_01H8Z3"
}{
"detail": "Dataset not found"
}{
"detail": "Dataset not found"
}{
"detail": "Dataset not found"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Authorizations
API token issued from the Splendor console.
Headers
Selects the tenant (workspace) the request acts within.
Path Parameters
Response
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes