> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tela.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List workflow runs

> Lists workflow runs of a canvas in the authenticated workspace, newest first (`createdAt`). Filter by version, status or the environment the run was started from.



## OpenAPI

````yaml GET /workflow/runs
openapi: 3.0.1
info:
  title: Tela API
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.tela.com
security: []
paths:
  /workflow/runs:
    get:
      tags:
        - Workflow Run
      summary: List workflow runs
      description: >
        Lists workflow runs of a canvas in the authenticated workspace, newest
        first (`createdAt`). Filter by

        version, status or the environment the run was started from.
        `rootOnly=true` excludes child runs spawned

        by map steps. `recentTerminalSeconds` is only honoured together with
        `status=running`, and then widens the

        result to runs that are pending/running or that completed, failed or
        were cancelled within that many

        seconds.


        Note: `orderBy` is accepted but currently ignored; results are always
        ordered by `createdAt`.

        `orderDirection` is applied to that ordering. When `limit` is omitted no
        limit is applied.
      parameters:
        - name: promptId
          in: query
          required: true
          description: Canvas id.
          schema:
            type: string
            format: uuid
        - name: promptVersionId
          in: query
          required: false
          schema:
            type: string
            format: uuid
        - name: status
          in: query
          required: false
          description: >-
            Filter by run status. Only these five values are accepted here even
            though runs can also be in `requires-action`, `timeout` or
            `waiting-for-review`.
          schema:
            type: string
            enum:
              - pending
              - running
              - completed
              - failed
              - cancelled
        - name: environment
          in: query
          required: false
          description: Filter by the surface that started the run.
          schema:
            type: string
            enum:
              - test-case
              - craft-preview
              - api
              - workstation
        - name: recentTerminalSeconds
          in: query
          required: false
          description: >-
            Only used with `status=running`. Also returns runs that reached a
            terminal state within the last N seconds.
          schema:
            type: number
        - name: rootOnly
          in: query
          required: false
          description: When `true`, only top-level runs (no `parentId`) are returned.
          schema:
            type: boolean
        - name: limit
          in: query
          required: false
          schema:
            type: number
        - name: offset
          in: query
          required: false
          schema:
            type: number
        - name: orderBy
          in: query
          required: false
          description: >-
            Accepted for forward compatibility but currently ignored; ordering
            is always by `createdAt`.
          schema:
            type: string
            enum:
              - createdAt
              - updatedAt
              - completedAt
        - name: orderDirection
          in: query
          required: false
          description: Defaults to `desc`.
          schema:
            type: string
            enum:
              - asc
              - desc
      responses:
        '200':
          description: Workflow runs.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WorkflowRunResponse'
        '400':
          description: Bad request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: >-
            Missing or invalid credentials, or no access to the canvas's
            project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: >-
            The project exists in the workspace but the caller's team has no
            access to it.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Canvas not found (or a personal draft owned by someone else).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Query parameters failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    WorkflowRunResponse:
      type: object
      properties:
        id:
          type: string
          description: >-
            External execution id when the run was started through the public
            API, otherwise the internal run id.
        promptVersionId:
          type: string
          format: uuid
        environment:
          type: string
          enum:
            - test-case
            - craft-preview
            - api
            - workstation
          description: Surface that started the run.
        status:
          $ref: '#/components/schemas/WorkflowRunStatus'
        startedAt:
          type: string
          format: date-time
        completedAt:
          type: string
          format: date-time
          nullable: true
        input:
          type: object
          description: Runtime variables the run was started with, keyed by variable name.
          additionalProperties: true
        steps:
          type: array
          description: >-
            Visible steps in topological order. Steps on unselected condition
            branches or outside a partial run's start/end range are reported as
            `skipped`.
          items:
            $ref: '#/components/schemas/WorkflowRunStep'
        output:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/WorkflowRunOutput'
      required:
        - id
        - promptVersionId
        - status
        - startedAt
        - completedAt
        - input
        - steps
      example:
        id: exec_01J9Z8Q4M6N2P8R1S3T5V7W9X
        promptVersionId: 9d2e4f6a-1b3c-4d5e-8f70-1a2b3c4d5e6f
        environment: api
        status: completed
        startedAt: '2026-09-01T12:00:00.000Z'
        completedAt: '2026-09-01T12:00:08.412Z'
        input:
          invoice:
            name: invoice
            type: file
            required: true
            files:
              - fileUrl: vault://files/invoice-0001.pdf
                name: invoice-0001.pdf
                mimeType: application/pdf
        steps:
          - id: extract
            name: Extract fields
            actionId: llm-completion
            status: completed
            input:
              canvasId: 5f0c1a2e-8b7d-4c3a-9e1f-2d4b6a8c0e12
            output:
              total: 1250.5
            error: null
            metadata:
              usage:
                inputTokens: 812
                outputTokens: 24
        output:
          id: extract
          name: Extract fields
          status: completed
          output:
            total: 1250.5
          error: null
          metadata: {}
    Error: {}
    WorkflowRunStatus:
      type: string
      description: >
        Lifecycle status of a workflow run. Terminal statuses are `completed`,
        `cancelled`, `failed` and `timeout`.

        `requires-action` and `waiting-for-review` are active states where the
        run is paused for external input.
      enum:
        - pending
        - running
        - completed
        - failed
        - requires-action
        - cancelled
        - timeout
        - waiting-for-review
    WorkflowRunStep:
      type: object
      properties:
        id:
          type: string
          description: Node id in the workflow graph.
        name:
          type: string
        actionId:
          type: string
          description: Identifier of the action executed by this step.
        status:
          $ref: '#/components/schemas/WorkflowRunStepStatus'
        input:
          type: object
          nullable: true
          additionalProperties: true
        output:
          description: Step output. `null` when the step failed or produced nothing yet.
          nullable: true
        error:
          type: string
          nullable: true
        metadata:
          type: object
          additionalProperties: true
        steps:
          type: array
          description: Nested steps, when present.
          items:
            type: object
            additionalProperties: true
      required:
        - id
        - name
        - actionId
        - status
        - input
        - output
    WorkflowRunOutput:
      type: object
      description: >-
        The completed leaf step whose output is the run's result. `null` while
        no leaf step has completed.
      properties:
        id:
          type: string
        name:
          type: string
        status:
          $ref: '#/components/schemas/WorkflowRunStepStatus'
        output:
          nullable: true
        error:
          type: string
          nullable: true
        metadata:
          type: object
          additionalProperties: true
          description: >-
            May include `outputFormatMismatch: true` when an LLM step could not
            honour its output schema.
      required:
        - id
        - name
        - status
        - output
    WorkflowRunStepStatus:
      type: string
      enum:
        - pending
        - running
        - completed
        - failed
        - skipped
        - cancelled
        - waiting
        - aborted
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or UUID

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.