---
title: "List durable function runs"
method: GET
path: "/functions/v1/{name}/runs"
tags: ["Functions"]
---

# List durable function runs

`GET /functions/v1/{name}/runs`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/functions/v1/{name}/runs`
- Auth: HTTP bearer

## Path parameters

- `name` string, required

## Query parameters

- `status` 'scheduled' | 'queued' | 'running' | 'retrying' | 'blocked' | 'succeeded' | 'failed' | 'cancelled' | 'expired'
- `event_type` string
- `since` string, date-time
- `until` string, date-time
- `limit` integer
- `cursor` string

## Response `200`

Function run list

- FunctionRunListResponse
  - `runs` FunctionRunHandle[], required
    - `run_id` string, required
    - `function_name` string, required
    - `event_type` string, required
    - `status` 'scheduled' | 'queued' | 'running' | 'retrying' | 'blocked' | 'succeeded' | 'failed' | 'cancelled' | 'expired', required
    - `terminal` boolean, required
    - `generation` integer, required
    - `run_at` string, date-time, required
    - `expires_at` string, date-time
    - `source` object, required
    - `attempts` object, required
      - `current` integer, required
      - `max` integer, required
      - `total` integer, required
      - `next_attempt_at` string, date-time
    - `last_attempt` object
      - `attempt_id` string
      - `number` integer
      - `started_at` string, date-time
      - `completed_at` string, date-time
      - `duration_ms` integer
      - `response_status` integer
      - `error` FunctionRunErrorInfo
        - `code` string, required
        - `message` string, required
        - `retryable` boolean, required
    - `last_error` FunctionRunErrorInfo
      - `code` string, required
      - `message` string, required
      - `retryable` boolean, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `completed_at` string, date-time
    - `deduplicated` boolean
    - `next_actions` object[], required
  - `next_cursor` string

## Other responses

- `400`: Run402-originated JSON bodies use the canonical ErrorEnvelope.
- `401`: Missing or invalid authentication. Run402-originated JSON bodies use the canonical ErrorEnvelope.

---

[API](https://skmtc.dev/run402/apis/run402-api.md) · [All operations](https://skmtc.dev/run402/apis/run402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/run402/apis/run402-api/revisions/893607557f50?raw)
