For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
  • Get Started
    • Introduction
    • Quickstart
    • Authentication
  • API Reference
      • GETList Workflows
      • POSTCreate Workflow
      • GETGet Workflow
      • PUTUpdate Workflow
      • DELDelete Workflow
      • PATCHPatch Workflow
      • GETList Workflow Uploads
      • POSTPreview Run
      • GETRuns Summary
      • GETGet Run Steps
      • GETGet Run Overview
      • GETGet Run Data
      • GETDownload Run
      • GETDownload Run Node
      • POSTDuplicate Workflow
        • GETList Runs
        • POSTStart Run
        • GETGet Run
        • GETGet Run Status
        • POSTCancel Run
  • Python SDK
    • Install
    • Usage
    • Errors
  • CLI
    • Overview
LogoLogo
API ReferenceworkflowsRuns

List Runs

GET
/api/v1/workflows/:workflow_id/runs
GET
/api/v1/workflows/:workflow_id/runs
$curl https://api.onepin.ai/api/v1/workflows/workflow_id/runs \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json"
1{
2 "data": [
3 {
4 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
5 "status": "completed",
6 "run_number": 42,
7 "created_at": "2024-04-10T13:55:00Z",
8 "total_nodes": 15,
9 "total_steps": 120,
10 "finished_steps": 120,
11 "usage_summary": {
12 "cpu_seconds": 3600,
13 "memory_mb": 2048,
14 "api_calls": 75
15 },
16 "started_at": "2024-04-10T14:00:00Z",
17 "completed_at": "2024-04-10T14:45:00Z",
18 "triggered_by": {
19 "user_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
20 "user_name": "Alice Johnson"
21 }
22 }
23 ],
24 "meta": {
25 "request_id": "7b9f8e2a-3c4d-4f1a-9b2e-1a2b3c4d5e6f",
26 "timestamp": "2024-04-10T15:00:00Z"
27 },
28 "pagination": {
29 "limit": 20,
30 "total": 57,
31 "next": "https://api.onepin.ai/api/v1/workflows/3fa85f64-5717-4562-b3fc-2c963f66afa6/runs?offset=20&limit=20",
32 "prev": null
33 }
34}

List runs for a workflow.

Tiebreaker is always id ASC so offset/limit pagination is stable when primary sort keys tie. status accepts comma-separated raw RunStatus values; unknown values return 422. search matches the triggering user’s display name (full name, falling back to email).

Was this page helpful?
Previous

Start Run

Next
Built with

Authentication

AuthorizationBearer
Clerk JWT token
OR
AuthorizationBearer

Onepin live API key (op_live_...). Test and public keys are reserved in Phase 1.

Path parameters

workflow_idstringRequiredformat: "uuid"

Headers

X-Workspace-Idstring or nullOptional

Query parameters

offsetintegerOptional>=0Defaults to 0
limitintegerOptional1-100Defaults to 20
statusstring or nullOptional

Comma-separated raw RunStatus values (e.g. completed,failed). Values are case-sensitive lowercase. Multiple values OR-match. Empty tokens (e.g. a,,b) and unknown values return 422.

searchstring or nullOptional<=100 characters

Case-insensitive search over triggering user’s display name and email.

sortenumOptionalDefaults to created_at

Sort field: created_at | started_at | completed_at | status.

Allowed values:
orderenumOptionalDefaults to desc
asc or desc.
Allowed values:

Response

Successful Response
datalist of objects
metaobject
paginationobject
PaginationMeta variant for endpoints that compute an unpaginated total.

Errors

422
Unprocessable Entity Error