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

# List flow executions

> Return a paginated history of flow executions. Supports filtering by `flowId`, `triggerId`, `invocationId` (the client/verify key), `status`, and a `from`/`to` time range, plus free-text `search` and ordering by startedAt, finishedAt, or status.



## OpenAPI

````yaml /api-reference/workflows.yaml get /executions
openapi: 3.1.0
info:
  title: Workflows
  version: v1
servers:
  - description: Droidrun Cloud API
    url: https://api.mobilerun.ai/v1
security:
  - bearerAuth: []
paths:
  /executions:
    get:
      tags:
        - Executions
      summary: List flow executions
      description: >-
        Return a paginated history of flow executions. Supports filtering by
        `flowId`, `triggerId`, `invocationId` (the client/verify key), `status`,
        and a `from`/`to` time range, plus free-text `search` and ordering by
        startedAt, finishedAt, or status.
      operationId: listExecutions
      parameters:
        - in: query
          name: page
          required: false
          schema:
            default: 1
            exclusiveMinimum: 0
            type: integer
        - in: query
          name: pageSize
          required: false
          schema:
            default: 10
            exclusiveMinimum: 0
            type: integer
        - in: query
          name: flowId
          required: false
          schema:
            format: uuid
            type: string
        - in: query
          name: triggerId
          required: false
          schema:
            format: uuid
            type: string
        - in: query
          name: invocationId
          required: false
          schema:
            format: uuid
            type: string
        - in: query
          name: status
          required: false
          schema:
            enum:
              - pending
              - running
              - success
              - failed
              - cancelled
              - skipped
              - invalid
            type: string
        - in: query
          name: from
          required: false
          schema:
            type:
              - string
              - 'null'
        - in: query
          name: to
          required: false
          schema:
            type:
              - string
              - 'null'
        - in: query
          name: search
          required: false
          schema:
            maxLength: 256
            minLength: 1
            type: string
        - in: query
          name: orderBy
          required: false
          schema:
            default: startedAt
            enum:
              - startedAt
              - finishedAt
              - status
            type: string
        - in: query
          name: orderByDirection
          required: false
          schema:
            default: desc
            enum:
              - asc
              - desc
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  items:
                    items:
                      $ref: '#/components/schemas/FlowExecutionListItem'
                    type: array
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                required:
                  - items
                  - pagination
                type: object
          description: Execution history
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import Mobilerun from '@mobilerun/sdk';

            const client = new Mobilerun({
              apiKey: process.env['MOBILERUN_CLOUD_API_KEY'], // This is the default and can be omitted
            });

            const executions = await client.workflows.executions.list();

            console.log(executions.items);
        - lang: Python
          source: |-
            import os
            from mobilerun_sdk import Mobilerun

            client = Mobilerun(
                api_key=os.environ.get("MOBILERUN_CLOUD_API_KEY"),  # This is the default and can be omitted
            )
            executions = client.workflows.executions.list()
            print(executions.items)
components:
  schemas:
    FlowExecutionListItem:
      allOf:
        - $ref: '#/components/schemas/FlowExecution'
        - properties:
            createdBy:
              format: uuid
              type:
                - string
                - 'null'
            recordings:
              description: >-
                Durable recording segments ordered by step/loop coordinate and
                retry attempt. Whole-flow recordings use -1 for every
                coordinate.
              items:
                properties:
                  attempt:
                    minimum: 0
                    type: integer
                  childIndex:
                    type: integer
                  flowActionId:
                    format: uuid
                    type:
                      - string
                      - 'null'
                  id:
                    format: uuid
                    type: string
                  iterationIndex:
                    type: integer
                  lastError:
                    type:
                      - string
                      - 'null'
                  parentIndex:
                    type: integer
                  recordingDeviceId:
                    format: uuid
                    type:
                      - string
                      - 'null'
                  recordingId:
                    format: uuid
                    type:
                      - string
                      - 'null'
                  scope:
                    enum:
                      - flow
                      - step
                    type: string
                  startedAt:
                    type:
                      - string
                      - 'null'
                  status:
                    enum:
                      - starting
                      - recording
                      - stopping
                      - stopped
                      - failed
                    type: string
                  stepIndex:
                    type: integer
                  stoppedAt:
                    type:
                      - string
                      - 'null'
                required:
                  - id
                  - flowActionId
                  - stepIndex
                  - parentIndex
                  - iterationIndex
                  - childIndex
                  - attempt
                  - scope
                  - status
                  - recordingId
                  - recordingDeviceId
                  - startedAt
                  - stoppedAt
                  - lastError
                type: object
              type: array
          required:
            - createdBy
            - recordings
          type: object
    Pagination:
      properties:
        hasNext:
          type: boolean
        hasPrev:
          type: boolean
        page:
          minimum: 1
          type: integer
        pageSize:
          minimum: 1
          type: integer
        pages:
          minimum: 0
          type: integer
        total:
          minimum: 0
          type: integer
      required:
        - hasNext
        - hasPrev
        - page
        - pageSize
        - pages
        - total
      type: object
    FlowExecution:
      properties:
        deviceId:
          description: >-
            Device this execution targets (the job's deviceId). Null for
            device-less (event-only) runs.
          format: uuid
          type:
            - string
            - 'null'
        error:
          type:
            - string
            - 'null'
        eventId:
          format: uuid
          type:
            - string
            - 'null'
        finishedAt:
          type:
            - string
            - 'null'
        flowId:
          format: uuid
          type: string
        flowName:
          type:
            - string
            - 'null'
        id:
          format: uuid
          type: string
        invocationId:
          description: >-
            Client/verify invocation key this row belongs to. Set on live custom
            fires (one row per device fan-out) and on verification runs; null
            for event/schedule live rows.
          format: uuid
          type:
            - string
            - 'null'
        kind:
          enum:
            - live
            - dry_run
            - verification
          type: string
        recordingDeviceId:
          format: uuid
          type:
            - string
            - 'null'
        recordingId:
          description: >-
            Device-recording id (devices-api) for this execution, set once the
            worker starts a recording. Null when the flow has recording
            disabled, no device is bound, or the recording failed to start.
          format: uuid
          type:
            - string
            - 'null'
        result:
          description: >-
            Opaque per-step result blob ({ steps: [...] }). Each step
            additionally carries a `verdict` field ({ outcome, summary, reason?
            } | null) when it is an agent.run step that opted into a verdict —
            null otherwise. Table-backed steps (current executions) also carry a
            `status` string (e.g. success/failed/stopped, see deriveStepStatus);
            it is optional and absent on legacy blob-only executions, so clients
            must not assume its presence.
        startedAt:
          type:
            - string
            - 'null'
        status:
          enum:
            - pending
            - running
            - success
            - failed
            - cancelled
            - skipped
            - invalid
          type:
            - string
            - 'null'
        triggerId:
          format: uuid
          type: string
        triggerName:
          type:
            - string
            - 'null'
      required:
        - id
        - flowId
        - triggerId
        - eventId
        - invocationId
        - deviceId
        - flowName
        - triggerName
        - status
        - kind
        - error
        - recordingId
        - recordingDeviceId
        - startedAt
        - finishedAt
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: Opaque
      description: Bearer token via Authorization header
      scheme: bearer
      type: http

````

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