Runner State History
Changed onReturns historical runner counts by state (running, idle, pending, draining) for an application, bucketed over time.
Use cases:
- Capacity/utilization analysis: compare idle vs running over days or weeks to see how much reserved capacity goes unused (use aggregation=avg)
- Incident forensics: correlate error spikes with runner drops or drain events around the incident window (use aggregation=max)
Time range: up to 90 days of history. Defaults to the last 24 hours when start/end are omitted. Bucket size is auto-detected from the range unless timeframe is specified.
Authentication: Required via API key. Only the app owner can query it.
Required permissions: serverless:apps:read. Key presets that include them: SERVERLESS, DEPLOY, READONLY, FULL. See key permissions.
Request
- Base URLhttps://api.fal.ai/v1
- URLhttps://api.fal.ai/v1/serverless/apps/{owner}/{name}/runners/history
- AuthAPI key in header Authorization
Path parameters
Username of the app owner
Application name
Query parameters
Bucket size for the time series (auto-detected from the date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).
How runner counts are aggregated within each bucket: 'max' shows peak concurrency (capacity analysis), 'avg' shows mean concurrency (utilization analysis).
Response
Successfully retrieved runner state history
Example response
{
"endpoint_id": "user_123/my-app",
"timeframe": "day",
"aggregation": "max",
"history": [
{
"timestamp": "2026-07-01T12:00:00Z",
"running": 2,
"idle": 1
}
]
}Changes
- info
the endpoint scheme security
readonlyApiKeywas added to the API - info
the endpoint scheme security
apiKeywas removed from the API
- info