curl "https://api.u1.archetypeai.app/v0.5/batch/registry/pipelines?pipeline_type=batch&status=published" \
-H "Authorization: Bearer $ATAI_API_KEY"
import requests
import os
api_key = os.environ.get("ATAI_API_KEY")
cursor = None
while True:
params = {
"pipeline_type": "batch",
"status": "published",
"limit": 50
}
if cursor:
params["after"] = cursor
response = requests.get(
"https://api.u1.archetypeai.app/v0.5/batch/registry/pipelines",
headers={"Authorization": f"Bearer {api_key}"},
params=params
)
page = response.json()
for pipeline in page["pipelines"]:
print(f" {pipeline['pipeline_key']} v{pipeline['pipeline_version']}: {pipeline['name']}")
if not page["has_more"]:
break
cursor = page["next_cursor"]
const params = new URLSearchParams({
pipeline_type: 'batch',
status: 'published',
limit: '50'
});
const response = await fetch(`https://api.u1.archetypeai.app/v0.5/batch/registry/pipelines?${params}`, {
headers: {
'Authorization': `Bearer ${process.env.ATAI_API_KEY}`
}
});
const data = await response.json();
data.pipelines.forEach(pipeline => {
console.log(` ${pipeline.pipeline_key} v${pipeline.pipeline_version}: ${pipeline.name}`);
});
if (data.has_more) {
// Pass next_cursor back as `after` to fetch the following page.
console.log(`More pipelines available; next cursor: ${data.next_cursor}`);
}
{
"limit": 50,
"has_more": false,
"next_cursor": null,
"pipelines": [
{
"id": "ppl_abc123def456",
"pipeline_key": "machine-state-classification",
"pipeline_version": "1.1.1",
"name": "Machine State Classification",
"description": "Identify labeled states in time series sensor data",
"pipeline_type": "batch",
"components": {
"worker": "cmp_xyz789"
},
"default_config": {
"worker": {
"parallelism": 1,
"config": {
"model_type": "omega_1_4_base",
"batch_size": 32
}
}
},
"config_schema": {},
"user_config_schema": {},
"edges": [],
"inputs": {
"worker.inference": {
"name": "Input files",
"description": "CSV files for machine-state classification",
"mode": "plain_file_list",
"distribute": "scatter",
"required": true,
"tracked": true
},
"worker.n_shots": {
"name": "N-Shot example files",
"description": "Labeled few-shot training files (class declared via input metadata)",
"mode": "n_shot_file_list",
"distribute": "replicate",
"required": true,
"tracked": false
}
},
"outputs": {
"worker.results": {
"name": "Output files",
"description": "Machine-state classification results"
}
},
"retry_policy": {},
"visibility": "platform",
"org_id": "org_1abc2def3ghi4jkl",
"status": "published",
"created_at": "2026-03-01T00:00:00Z",
"updated_at": "2026-04-01T00:00:00Z"
}
]
}
{
"detail": "Invalid access with key: api_key_not_found"
}
Registry
List Pipelines
Retrieve a cursor-paginated list of pipelines from the registry
GET
/
batch
/
registry
/
pipelines
curl "https://api.u1.archetypeai.app/v0.5/batch/registry/pipelines?pipeline_type=batch&status=published" \
-H "Authorization: Bearer $ATAI_API_KEY"
import requests
import os
api_key = os.environ.get("ATAI_API_KEY")
cursor = None
while True:
params = {
"pipeline_type": "batch",
"status": "published",
"limit": 50
}
if cursor:
params["after"] = cursor
response = requests.get(
"https://api.u1.archetypeai.app/v0.5/batch/registry/pipelines",
headers={"Authorization": f"Bearer {api_key}"},
params=params
)
page = response.json()
for pipeline in page["pipelines"]:
print(f" {pipeline['pipeline_key']} v{pipeline['pipeline_version']}: {pipeline['name']}")
if not page["has_more"]:
break
cursor = page["next_cursor"]
const params = new URLSearchParams({
pipeline_type: 'batch',
status: 'published',
limit: '50'
});
const response = await fetch(`https://api.u1.archetypeai.app/v0.5/batch/registry/pipelines?${params}`, {
headers: {
'Authorization': `Bearer ${process.env.ATAI_API_KEY}`
}
});
const data = await response.json();
data.pipelines.forEach(pipeline => {
console.log(` ${pipeline.pipeline_key} v${pipeline.pipeline_version}: ${pipeline.name}`);
});
if (data.has_more) {
// Pass next_cursor back as `after` to fetch the following page.
console.log(`More pipelines available; next cursor: ${data.next_cursor}`);
}
{
"limit": 50,
"has_more": false,
"next_cursor": null,
"pipelines": [
{
"id": "ppl_abc123def456",
"pipeline_key": "machine-state-classification",
"pipeline_version": "1.1.1",
"name": "Machine State Classification",
"description": "Identify labeled states in time series sensor data",
"pipeline_type": "batch",
"components": {
"worker": "cmp_xyz789"
},
"default_config": {
"worker": {
"parallelism": 1,
"config": {
"model_type": "omega_1_4_base",
"batch_size": 32
}
}
},
"config_schema": {},
"user_config_schema": {},
"edges": [],
"inputs": {
"worker.inference": {
"name": "Input files",
"description": "CSV files for machine-state classification",
"mode": "plain_file_list",
"distribute": "scatter",
"required": true,
"tracked": true
},
"worker.n_shots": {
"name": "N-Shot example files",
"description": "Labeled few-shot training files (class declared via input metadata)",
"mode": "n_shot_file_list",
"distribute": "replicate",
"required": true,
"tracked": false
}
},
"outputs": {
"worker.results": {
"name": "Output files",
"description": "Machine-state classification results"
}
},
"retry_policy": {},
"visibility": "platform",
"org_id": "org_1abc2def3ghi4jkl",
"status": "published",
"created_at": "2026-03-01T00:00:00Z",
"updated_at": "2026-04-01T00:00:00Z"
}
]
}
{
"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 pipelines available in the registry. You can filter by pipeline type, visibility, and status.Starting in version 1.1.11, this endpoint now pages
with cursors instead of an offset. The
offset query parameter has been replaced by the
mutually exclusive after and before cursors, and the total and offset response fields
have been replaced by has_more and next_cursor.Request
string
Filter by pipeline type:
batch or trainingstring
Filter by visibility:
platform (visible to all orgs) or org (visible only to owning org)string
Filter by registry status:
draft, published, deactivated, or deletedstring
Forward cursor: return pipelines older than the pipeline with this ID. Pass the
next_cursor
of the previous page. Mutually exclusive with before; specifying both causes an HTTP 400
response. v1.1.11+string
Backward cursor: return pipelines newer than the pipeline with this ID. Mutually exclusive
with
after; specifying both causes an HTTP 400 response. v1.1.11+Response
The page is newest first in both cursor directions: results are ordered bycreated_at
descending, with id descending as the tiebreak.
integer
Maximum number of items returned
string
Cursor for the next page in the same direction — pass it as
after when paging forward (the
default), or as before when the request used before. null when has_more is false. v1.1.11+array
Array of pipeline objects, each containing:
id— Unique pipeline identifierpipeline_key— Pipeline keypipeline_version— Pipeline versionname— Human-readable pipeline namedescription— Pipeline descriptionpipeline_type— Pipeline type (batchortraining)components— Map of component names to component IDsdefault_config— Default configuration per componentconfig_schema— JSON Schema for pipeline configurationuser_config_schema— User-facing JSON Schemaedges— Pipeline graph edges connecting componentsinputs— Map of input port name to port definition. Each port hasname,description,mode(plain_file_listorn_shot_file_list),distribute(scatterorreplicate),required(bool), andtracked(bool — whether files on this port participate in per-input lifecycle tracking;falsefor reference/n-shot ports)outputs— Map of output port name to port definition (name,description)retry_policy— Retry policy configurationvisibility— Visibility level (platformororg)org_id— Owning organization IDstatus— Registry statuscreated_at— Creation timestampupdated_at— Last update timestamp
curl "https://api.u1.archetypeai.app/v0.5/batch/registry/pipelines?pipeline_type=batch&status=published" \
-H "Authorization: Bearer $ATAI_API_KEY"
import requests
import os
api_key = os.environ.get("ATAI_API_KEY")
cursor = None
while True:
params = {
"pipeline_type": "batch",
"status": "published",
"limit": 50
}
if cursor:
params["after"] = cursor
response = requests.get(
"https://api.u1.archetypeai.app/v0.5/batch/registry/pipelines",
headers={"Authorization": f"Bearer {api_key}"},
params=params
)
page = response.json()
for pipeline in page["pipelines"]:
print(f" {pipeline['pipeline_key']} v{pipeline['pipeline_version']}: {pipeline['name']}")
if not page["has_more"]:
break
cursor = page["next_cursor"]
const params = new URLSearchParams({
pipeline_type: 'batch',
status: 'published',
limit: '50'
});
const response = await fetch(`https://api.u1.archetypeai.app/v0.5/batch/registry/pipelines?${params}`, {
headers: {
'Authorization': `Bearer ${process.env.ATAI_API_KEY}`
}
});
const data = await response.json();
data.pipelines.forEach(pipeline => {
console.log(` ${pipeline.pipeline_key} v${pipeline.pipeline_version}: ${pipeline.name}`);
});
if (data.has_more) {
// Pass next_cursor back as `after` to fetch the following page.
console.log(`More pipelines available; next cursor: ${data.next_cursor}`);
}
{
"limit": 50,
"has_more": false,
"next_cursor": null,
"pipelines": [
{
"id": "ppl_abc123def456",
"pipeline_key": "machine-state-classification",
"pipeline_version": "1.1.1",
"name": "Machine State Classification",
"description": "Identify labeled states in time series sensor data",
"pipeline_type": "batch",
"components": {
"worker": "cmp_xyz789"
},
"default_config": {
"worker": {
"parallelism": 1,
"config": {
"model_type": "omega_1_4_base",
"batch_size": 32
}
}
},
"config_schema": {},
"user_config_schema": {},
"edges": [],
"inputs": {
"worker.inference": {
"name": "Input files",
"description": "CSV files for machine-state classification",
"mode": "plain_file_list",
"distribute": "scatter",
"required": true,
"tracked": true
},
"worker.n_shots": {
"name": "N-Shot example files",
"description": "Labeled few-shot training files (class declared via input metadata)",
"mode": "n_shot_file_list",
"distribute": "replicate",
"required": true,
"tracked": false
}
},
"outputs": {
"worker.results": {
"name": "Output files",
"description": "Machine-state classification results"
}
},
"retry_policy": {},
"visibility": "platform",
"org_id": "org_1abc2def3ghi4jkl",
"status": "published",
"created_at": "2026-03-01T00:00:00Z",
"updated_at": "2026-04-01T00:00:00Z"
}
]
}
{
"detail": "Invalid access with key: api_key_not_found"
}
Was this page helpful?