Get Data Job
curl --request GET \
--url https://flow.seekr.com/v1/flow/data-jobs/{data_job_id} \
--header 'Authorization: <api-key>'import requests
url = "https://flow.seekr.com/v1/flow/data-jobs/{data_job_id}"
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/data-jobs/{data_job_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://flow.seekr.com/v1/flow/data-jobs/{data_job_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: <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/data-jobs/{data_job_id}"
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/data-jobs/{data_job_id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://flow.seekr.com/v1/flow/data-jobs/{data_job_id}")
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{
"id": "<string>",
"user_id": "<string>",
"name": "<string>",
"job_type": "<string>",
"alignment_job_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"status": "file_processing",
"origin_data_job_id": "<string>",
"deleted": false,
"status_message": "<string>",
"system_prompt": "<string>",
"system_prompt_updated_at": "2023-11-07T05:31:56Z",
"instructions": "<string>",
"instructions_updated_at": "2023-11-07T05:31:56Z",
"resolved_instructions": "<string>",
"vector_database_id": "<string>",
"additional_alignment_file_ids": [
"<string>"
],
"ingestion_jobs": [
{
"id": "<string>",
"status": "queued",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"file_ids": [
"<string>"
],
"records": [
{
"record_id": "<string>",
"ingestion_job_id": "<string>",
"alignment_file_id": "<string>",
"user_id": "<string>",
"filename": "<string>",
"status": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"metaflow_job_id": "<string>",
"method": "<string>",
"queue_position": 123,
"error_message": "<string>",
"suggested_fix": "<string>",
"worker_id": "<string>",
"deleted": false,
"processing_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"failed_at": "2023-11-07T05:31:56Z",
"progress": 123,
"progress_at": "2023-11-07T05:31:56Z",
"projected_progress": 123,
"projected_progress_at": "2023-11-07T05:31:56Z"
}
]
}
],
"alignment_job": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"status": "pending",
"updated_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"stopped_at": "2023-11-07T05:31:56Z",
"current_step": "<string>",
"step_progress": 123,
"progress": 123,
"estimated_completion_at": "2023-11-07T05:31:56Z",
"eta_minutes": 123,
"status_message": "<string>",
"output_files": [
{
"id": "<string>",
"filename": "<string>",
"bytes": 123,
"created_at": "2023-11-07T05:31:56Z",
"file_type": "jsonl",
"purpose": "reinforcement-fine-tune"
}
]
},
"files": [
{
"file_id": "<string>",
"record_id": "<string>",
"name": "<string>",
"type": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"status": "<string>",
"suggested_fix": "<string>",
"bytes": 123
}
],
"fine_tuning_job_ids": [
"<string>"
],
"timeline": [
{
"timestamp": "2023-11-07T05:31:56Z",
"event_type": "<string>",
"message": "<string>",
"metadata": {}
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Get data job
Retrieve details for a specific data job.
GET
/
v1
/
flow
/
data-jobs
/
{data_job_id}
Get Data Job
curl --request GET \
--url https://flow.seekr.com/v1/flow/data-jobs/{data_job_id} \
--header 'Authorization: <api-key>'import requests
url = "https://flow.seekr.com/v1/flow/data-jobs/{data_job_id}"
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/data-jobs/{data_job_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://flow.seekr.com/v1/flow/data-jobs/{data_job_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: <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/data-jobs/{data_job_id}"
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/data-jobs/{data_job_id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://flow.seekr.com/v1/flow/data-jobs/{data_job_id}")
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{
"id": "<string>",
"user_id": "<string>",
"name": "<string>",
"job_type": "<string>",
"alignment_job_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"status": "file_processing",
"origin_data_job_id": "<string>",
"deleted": false,
"status_message": "<string>",
"system_prompt": "<string>",
"system_prompt_updated_at": "2023-11-07T05:31:56Z",
"instructions": "<string>",
"instructions_updated_at": "2023-11-07T05:31:56Z",
"resolved_instructions": "<string>",
"vector_database_id": "<string>",
"additional_alignment_file_ids": [
"<string>"
],
"ingestion_jobs": [
{
"id": "<string>",
"status": "queued",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"file_ids": [
"<string>"
],
"records": [
{
"record_id": "<string>",
"ingestion_job_id": "<string>",
"alignment_file_id": "<string>",
"user_id": "<string>",
"filename": "<string>",
"status": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"metaflow_job_id": "<string>",
"method": "<string>",
"queue_position": 123,
"error_message": "<string>",
"suggested_fix": "<string>",
"worker_id": "<string>",
"deleted": false,
"processing_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"failed_at": "2023-11-07T05:31:56Z",
"progress": 123,
"progress_at": "2023-11-07T05:31:56Z",
"projected_progress": 123,
"projected_progress_at": "2023-11-07T05:31:56Z"
}
]
}
],
"alignment_job": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"status": "pending",
"updated_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"stopped_at": "2023-11-07T05:31:56Z",
"current_step": "<string>",
"step_progress": 123,
"progress": 123,
"estimated_completion_at": "2023-11-07T05:31:56Z",
"eta_minutes": 123,
"status_message": "<string>",
"output_files": [
{
"id": "<string>",
"filename": "<string>",
"bytes": 123,
"created_at": "2023-11-07T05:31:56Z",
"file_type": "jsonl",
"purpose": "reinforcement-fine-tune"
}
]
},
"files": [
{
"file_id": "<string>",
"record_id": "<string>",
"name": "<string>",
"type": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"status": "<string>",
"suggested_fix": "<string>",
"bytes": 123
}
],
"fine_tuning_job_ids": [
"<string>"
],
"timeline": [
{
"timestamp": "2023-11-07T05:31:56Z",
"event_type": "<string>",
"message": "<string>",
"metadata": {}
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Returns the full details of a data job, including its status, nested ingestion jobs, per-file records, timeline events, and alignment status. This is the primary endpoint for monitoring a job throughout its lifecycle.
For a field-by-field reference on status states, file records, and timeline events, see Monitor ingestion.
Authorizations
Your Seekr API key, sent in the Authorization header with no 'Bearer' prefix.
Path Parameters
Response
Success
Extends DataJobResponse Full detail payload for the per-job view.
Status values that exist BEFORE an alignment job is linked. Once linked, the real status comes from AlignmentJobStatus directly — see DataJobResponse.status's union type and derive_data_job_status.
Available options:
file_processing, needs_review, ready_to_start Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Last modified on July 31, 2026
Was this page helpful?
⌘I