GoRunner docs
Search or askSearch⌘K

Usual run times

Since v2026.10.8

GET/api/runs/usual

Returns each workflow’s usual run time: the median of its recent runs that worked.

Needs an API token with the Read permission for runs (run:read).

Parameters

Query

workflowIdOptional · UUID

A workflow’s ID. Repeat it for more, up to 200. Left out: every workflow.

Which runs count

The newest 200 production runs of the last 30 days that worked and never waited for a person. p50Ms is their median, runs how many there were. A workflow with fewer than 5 such runs is left out.

Responses

  • 200OK

    The times, by workflow ID.

  • A workflowId isn’t a UUID, or there are more than 200.

  • The token lacks the Read permission for runs.

  • The times couldn’t be read. Try again.

Any call can also answer: 401 UNAUTHORIZED · 401 TOKEN_ENDED · 403 TOKEN_SURFACE_OFF · 403 FEATURE_OFF · 403 EMBED_NOT_ALLOWED · 403 EMBED_NOT_AVAILABLE · 403 ACCOUNT_SUSPENDED · 429 RATE_LIMITED · 503 BUSY · 503 PAUSED · 503 SERVICE_UNAVAILABLE. See Errors.

Request

GORUNNER="https://api.gorunner.io"
GORUNNER_TOKEN="grt_…"  # needs Read for runs

URL="$GORUNNER/api/runs/"
URL="${URL}usual?workflowId=3b1e5c2a-7d4f-4e8b-a1c6-5f2d9b0e7a31"
curl "$URL" \
  -H "Authorization: Bearer $GORUNNER_TOKEN"

Response · 200 OK

json
{
  "data": {
    "3b1e5c2a-7d4f-4e8b-a1c6-5f2d9b0e7a31": {
      "p50Ms": 1720,
      "runs": 64
    }
  }
}
Every field

It takes no body.

Response · 200 OK

dataobject
{key}object

Each key’s value.

p50Msinteger
runsinteger