curl https://api.u1.archetypeai.app/v0.5/batch/jobs \
-H "Authorization: Bearer $ATAI_API_KEY"
import requests
import os
api_key = os.environ.get("ATAI_API_KEY")
response = requests.get(
"https://api.u1.archetypeai.app/v0.5/batch/jobs",
headers={"Authorization": f"Bearer {api_key}"},
params={
"pipeline_type": "batch",
"status": "RUNNING",
"limit": 10
}
)
data = response.json()
for job in data["data"]:
print(f" {job['id']}: {job['name']} — {job['status']}")
# Pass the cursor back verbatim as `after` to fetch the next page.
if data["has_more"]:
print(f"Next page cursor: {data['next_cursor']}")
const params = new URLSearchParams({
pipeline_type: 'batch',
status: 'RUNNING',
limit: '10'
});
const response = await fetch(`https://api.u1.archetypeai.app/v0.5/batch/jobs?${params}`, {
headers: {
'Authorization': `Bearer ${process.env.ATAI_API_KEY}`
}
});
const data = await response.json();
data.data.forEach(job => {
console.log(` ${job.id}: ${job.name} — ${job.status}`);
});
if (data.has_more) {
console.log(`Next page cursor: ${data.next_cursor}`);
}
{
"data": [
{
"id": "job_2abc3def4ghi5jkl6mno7pqr",
"org_id": "org_1abc2def3ghi4jkl",
"name": "tep-classification",
"pipeline_type": "batch",
"pipeline_key": "machine-state-classification",
"pipeline_version": "1.1.1",
"status": "RUNNING",
"parameters": {},
"retry_count": 0,
"preemption_count": 0,
"queue_position": null,
"queue_depth": null,
"input_progress": {
"pending": 0,
"processing": 1,
"completed": 2,
"failed": 0,
"processed_bytes": 40551733,
"total_bytes": 105332974
},
"created_at": "2026-04-14T10:00:00Z",
"updated_at": "2026-04-14T10:05:00Z",
"started_at": "2026-04-14T10:02:00Z",
"completed_at": null,
"failed_at": null,
"cancelled_at": null,
"error": null
}
],
"has_more": true,
"next_cursor": "<cursor>",
"prev_cursor": null
}
{
"detail": "Invalid access with key: api_key_not_found"
}
Jobs
List Jobs
Retrieve a cursor-paginated list of jobs with optional filters
GET
/
batch
/
jobs
curl https://api.u1.archetypeai.app/v0.5/batch/jobs \
-H "Authorization: Bearer $ATAI_API_KEY"
import requests
import os
api_key = os.environ.get("ATAI_API_KEY")
response = requests.get(
"https://api.u1.archetypeai.app/v0.5/batch/jobs",
headers={"Authorization": f"Bearer {api_key}"},
params={
"pipeline_type": "batch",
"status": "RUNNING",
"limit": 10
}
)
data = response.json()
for job in data["data"]:
print(f" {job['id']}: {job['name']} — {job['status']}")
# Pass the cursor back verbatim as `after` to fetch the next page.
if data["has_more"]:
print(f"Next page cursor: {data['next_cursor']}")
const params = new URLSearchParams({
pipeline_type: 'batch',
status: 'RUNNING',
limit: '10'
});
const response = await fetch(`https://api.u1.archetypeai.app/v0.5/batch/jobs?${params}`, {
headers: {
'Authorization': `Bearer ${process.env.ATAI_API_KEY}`
}
});
const data = await response.json();
data.data.forEach(job => {
console.log(` ${job.id}: ${job.name} — ${job.status}`);
});
if (data.has_more) {
console.log(`Next page cursor: ${data.next_cursor}`);
}
{
"data": [
{
"id": "job_2abc3def4ghi5jkl6mno7pqr",
"org_id": "org_1abc2def3ghi4jkl",
"name": "tep-classification",
"pipeline_type": "batch",
"pipeline_key": "machine-state-classification",
"pipeline_version": "1.1.1",
"status": "RUNNING",
"parameters": {},
"retry_count": 0,
"preemption_count": 0,
"queue_position": null,
"queue_depth": null,
"input_progress": {
"pending": 0,
"processing": 1,
"completed": 2,
"failed": 0,
"processed_bytes": 40551733,
"total_bytes": 105332974
},
"created_at": "2026-04-14T10:00:00Z",
"updated_at": "2026-04-14T10:05:00Z",
"started_at": "2026-04-14T10:02:00Z",
"completed_at": null,
"failed_at": null,
"cancelled_at": null,
"error": null
}
],
"has_more": true,
"next_cursor": "<cursor>",
"prev_cursor": null
}
{
"detail": "Invalid access with key: api_key_not_found"
}
Requires version 1.1.0 or later of the Archetype platform.
Overview
This endpoint returns a cursor-paginated list of jobs, newest first. You can filter by pipeline type, status, or a free-text search query.Request
string
Filter jobs by pipeline type (e.g.,
batch, training)string
Filter jobs by status (e.g.,
PENDING, RUNNING, PAUSED, COMPLETED, FAILED,
INTERRUPTED, CANCELLED)string
Optional filter on the job outcome:
SUCCESS, PARTIAL, or FAILED. These are AND-combined
with the other filters. Only COMPLETED jobs have an outcome, so a non-empty value for this
parameter implicitly limits results to completed jobs. v1.1.5+string
Free-text search query to filter jobs
integer
default:"10"
Page size, between
1 and 1000. Clamped server-side.string
Forward cursor: return jobs created before the job with this ID. Pass the previous page’s
next_cursor. Mutually exclusive with before; sending both returns an HTTP 400 error.
v1.1.11+string
Backward cursor: return jobs created after the job with this ID. Pass the current page’s
prev_cursor. Mutually exclusive with after; specifying both returns an HTTP 400 error.
v1.1.11+Response
array
Array of job objects, newest first in both cursor directions, each containing:
id— Unique job identifierorg_id— Organization identifiername— Job namepipeline_type— Pipeline type (batchortraining)pipeline_key— Pipeline key; this value is the same asworkflow_keyand is retained for backward compatibilityworkflow_key— Workflow key; this value is the same aspipeline_key, which is retained for backward compatibility v1.1.8+pipeline_version— Pipeline versionstatus— Current job statusoutcome— Job outcome (SUCCESS,PARTIAL, orFAILED). Omitted for jobs whosestatusisn’tCOMPLETEDv1.1.5+parameters— Job parametersretry_count— Number of retriespreemption_count— Number of preemptionsqueue_position— Current position in queue (if queued)queue_depth— Total queue depth (if queued)input_progress— Per-status counts of tracked inputs (pending,processing,completed,failed,processed_bytes,total_bytes); populated on this list endpoint,nullon write-path responses (see theinput_progressproperty returned by the Get Job endpoint)created_at— Creation timestampupdated_at— Last update timestampstarted_at— Start timestamp (if started)completed_at— Completion timestamp (if completed)failed_at— Failure timestamp (if failed)cancelled_at— Cancellation timestamp (if cancelled)error— Error details (if failed)
string
Cursor for the next page in the same direction — pass it as
after when paging forward, or as
before when the request used before. null when has_more is false. v1.1.11+string
Cursor to step back the way this page was reached — pass it as
before after a forward page, or
as after after a backward one. null when the request carried no cursor. v1.1.11+curl https://api.u1.archetypeai.app/v0.5/batch/jobs \
-H "Authorization: Bearer $ATAI_API_KEY"
import requests
import os
api_key = os.environ.get("ATAI_API_KEY")
response = requests.get(
"https://api.u1.archetypeai.app/v0.5/batch/jobs",
headers={"Authorization": f"Bearer {api_key}"},
params={
"pipeline_type": "batch",
"status": "RUNNING",
"limit": 10
}
)
data = response.json()
for job in data["data"]:
print(f" {job['id']}: {job['name']} — {job['status']}")
# Pass the cursor back verbatim as `after` to fetch the next page.
if data["has_more"]:
print(f"Next page cursor: {data['next_cursor']}")
const params = new URLSearchParams({
pipeline_type: 'batch',
status: 'RUNNING',
limit: '10'
});
const response = await fetch(`https://api.u1.archetypeai.app/v0.5/batch/jobs?${params}`, {
headers: {
'Authorization': `Bearer ${process.env.ATAI_API_KEY}`
}
});
const data = await response.json();
data.data.forEach(job => {
console.log(` ${job.id}: ${job.name} — ${job.status}`);
});
if (data.has_more) {
console.log(`Next page cursor: ${data.next_cursor}`);
}
{
"data": [
{
"id": "job_2abc3def4ghi5jkl6mno7pqr",
"org_id": "org_1abc2def3ghi4jkl",
"name": "tep-classification",
"pipeline_type": "batch",
"pipeline_key": "machine-state-classification",
"pipeline_version": "1.1.1",
"status": "RUNNING",
"parameters": {},
"retry_count": 0,
"preemption_count": 0,
"queue_position": null,
"queue_depth": null,
"input_progress": {
"pending": 0,
"processing": 1,
"completed": 2,
"failed": 0,
"processed_bytes": 40551733,
"total_bytes": 105332974
},
"created_at": "2026-04-14T10:00:00Z",
"updated_at": "2026-04-14T10:05:00Z",
"started_at": "2026-04-14T10:02:00Z",
"completed_at": null,
"failed_at": null,
"cancelled_at": null,
"error": null
}
],
"has_more": true,
"next_cursor": "<cursor>",
"prev_cursor": null
}
{
"detail": "Invalid access with key: api_key_not_found"
}
Was this page helpful?