CLI Reference

pikeway runs list

List your recent runs, newest first, with status and cost.

Synopsis

bash
pikeway runs list [--limit 20] [--cursor <cursor>] [-p <provider>] [--async] [--json]
pikeway runs                      # same as runs list

Description

Reads GET /v1/runs for the account behind your key. By default it lists synchronous calls; --async lists background runs instead, including ones still queued or running. When there are more results, the last line is the exact command for the next page.

runs without a subcommand runs list. Needs a key.

Options

--limit, -linteger
Runs per page. Default 20, max 100.
--cursorstring
Cursor from the previous page (printed after more:, or cursor in JSON).
--provider, -pstring
Only runs of this API slug.
--asyncboolean
List background runs (started with --async / --wait) instead of synchronous calls.

Examples

bash
# last 20 calls
pikeway runs list

# only Birdeye, 50 per page
pikeway runs list -p birdeye --limit 50

# next page
pikeway runs list --cursor MjAyNi0xMC0yNFQwOToxMDo0Ny4...

# background runs, including queued / running ones
pikeway runs list --async

# total spent on the last 100 calls
pikeway runs list -l 100 --json | jq '[.items[].cost.value] | add'

Output

text
2026-10-24T09:12:03Z  ✓ 0192f6b0-5e2a-7d40-b1c3-8f9e2a4d6c11  birdeye GET /defi/price  $0.001
2026-10-24T09:10:47Z  ✗ 0192f6af-11c4-7a0e-9b52-3d7e8f1a2c64  coingecko GET /simple/price  $0

more: pikeway runs list --cursor MjAyNi0xMC0yNFQwOToxMDo0Ny4…
  • ✓ completed, … queued or running, ✗ anything else (failed, stopped, timed out).
  • With --async, each line ends with the lowercase status, e.g. running or completed.
  • No runs: No runs yet.
--async
2026-10-24T09:20:00Z  … run_5f0c2b7e9a4d4e1b8c3a6f2d1e0b9a87  someapi POST /reports  $0 running
2026-10-24T08:02:11Z  ✓ run_1a2b3c4d5e6f47a8b9c0d1e2f3a4b5c6  birdeye GET /defi/price  $0.001 completed

--json

json
{
  "items": [
    {
      "runId": "0192f6b0-5e2a-7d40-b1c3-8f9e2a4d6c11",
      "provider": "birdeye",
      "method": "GET",
      "path": "/defi/price",
      "status": "COMPLETED",
      "providerResponse": { "httpStatus": 200 },
      "cost": { "value": 0.001, "currency": "USD" },
      "durationMs": 214,
      "createdAt": "2026-10-24T09:12:03Z"
    }
  ],
  "cursor": "MjAyNi0xMC0yNFQwOToxMDo0Ny4…"
}

cursor is null on the last page. Field details are in /v1/runs.

Errors and exit codes

ExitMessageWhen
3no API key: run `pikeway keys add --label main --key pk-...`, set PIKEWAY_API_KEY, or pass --keyNo --key, no PIKEWAY_API_KEY and no saved active key. Checked before any request is sent.
3invalid or revoked API key — add a key with `pikeway keys add --label main --key pk-...` (or use --x402)The gateway answered 401 (unknown, revoked or expired key). A 403 also exits with 3.
2unknown: pikeway runs foo (use list | get | stop)Unknown subcommand. The key is checked first, so without a key you get the exit-3 error instead.
1cannot reach <gateway>: ECONNREFUSEDThe gateway could not be reached (DNS, network, wrong PIKEWAY_API_BASE_URL). The code after the colon comes from Node.
Also accepts the global flags -j, --json and -k, --key. See Global flags and Exit codes.