list-cloudflow-flow-runs
dci list-cloudflow-flow-runs flowId [flags]
Returns a flow's runs, newest first. Use mode to separate test runs from production
ones — test runs are included by default.
Per-node detail is not included here; fetch a single run to read what each node consumed and produced.
Flags
--max-results: (integer default:50)
--page-token: (string)
--mode: (string enum:"test","standard")
Output
A page of runs.
By default dci renders the result as a table. Use --output json to get the full structure described below — see Output formats.
| Field | Type | Description |
|---|---|---|
items | array of object | |
items[].id | string | |
items[].flowId | string | |
items[].flowName | string | |
items[].status | string | One of: "pending", "running", "complete", "completed-with-errors", "pending-approval", "failed", "sleeping", "stopped". |
items[].isTest | boolean | True when the run was started through actions/test-run. |
items[].triggeredBy | string | |
items[].triggerTime | string (date-time) | |
items[].startTime | string (date-time) | |
items[].endTime | string (date-time) | |
items[].error | string | |
items[].stoppedBy | string | |
pageToken | string | Token for the next page. Null on the last page. |
rowCount | integer | Best-effort total. May be null. |
Raw JSON schema
{
"type": "object",
"description": "A cursor-paginated page of a flow's runs.",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"description": "A run without its per-node detail.",
"required": [
"id",
"flowId",
"status",
"isTest",
"triggeredBy",
"triggerTime"
],
"properties": {
"id": {
"type": "string"
},
"flowId": {
"type": "string"
},
"flowName": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"running",
"complete",
"completed-with-errors",
"pending-approval",
"failed",
"sleeping",
"stopped"
]
},
"isTest": {
"type": "boolean",
"description": "True when the run was started through `actions/test-run`."
},
"triggeredBy": {
"type": "string"
},
"triggerTime": {
"type": "string",
"format": "date-time"
},
"startTime": {
"type": "string",
"format": "date-time"
},
"endTime": {
"type": "string",
"format": "date-time"
},
"error": {
"type": "string",
"nullable": true
},
"stoppedBy": {
"type": "string",
"nullable": true
}
}
}
},
"pageToken": {
"type": "string",
"nullable": true,
"description": "Token for the next page. Null on the last page."
},
"rowCount": {
"type": "integer",
"nullable": true,
"description": "Best-effort total. May be null."
}
}
}
Errors
On failure, dci prints a single error message — with a hint when one is available — and exits with a typed code your scripts can branch on. See Errors and exit codes for the full contract.
| HTTP status | Exit code | Error code | Meaning |
|---|---|---|---|
| 400 | 30 | VALIDATION_ERROR | The arguments or request body were rejected. Review the command's flags and payload. |
| 401 | 10 | AUTHENTICATION_FAILED | Not signed in, or the API token is invalid. Run dci login or check DCI_API_KEY. |
| 403 | 11 | PERMISSION_DENIED | The DoiT user or the active customer context does not have access. |
| 404 | 20 | RESOURCE_NOT_FOUND | The requested resource does not exist. Check the identifier argument. |
| 429 | 50 | RATE_LIMITED | Too many requests. Retryable — the CLI reports the server-provided delay. |
| 500 | 40 | API_SERVER_ERROR | The API failed to process the request. Retryable; contact DoiT support if it persists. |
Aliases: listcloudflowflowruns