> ## 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 Tasks

> List tasks with optional filtering, sorting, and pagination.



## OpenAPI

````yaml /api-reference/tasks.yaml get /tasks
openapi: 3.1.0
info:
  title: Tasks
  version: v1
servers:
  - description: Droidrun Cloud API
    url: https://api.mobilerun.ai/v1
security:
  - bearerAuth: []
paths:
  /tasks:
    get:
      tags:
        - Tasks
      summary: List Tasks
      description: List tasks with optional filtering, sorting, and pagination.
      operationId: list_tasks_tasks_get
      parameters:
        - description: Only tasks created by the calling user.
          in: query
          name: mine
          required: false
          schema:
            default: false
            description: Only tasks created by the calling user.
            title: Mine
            type: boolean
        - description: Only tasks created by this user id.
          in: query
          name: createdBy
          required: false
          schema:
            anyOf:
              - format: uuid
                type: string
              - type: 'null'
            description: Only tasks created by this user id.
            title: Createdby
        - in: query
          name: status
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/TaskStatus'
              - type: 'null'
            title: Status
        - description: >-
            Only tasks created via the API ('api') or spawned by an agent step
            ('agent').
          in: query
          name: source
          required: false
          schema:
            anyOf:
              - enum:
                  - api
                  - agent
                type: string
              - type: 'null'
            description: >-
              Only tasks created via the API ('api') or spawned by an agent step
              ('agent').
            title: Source
        - description: Search in task description.
          in: query
          name: query
          required: false
          schema:
            anyOf:
              - maxLength: 128
                type: string
              - type: 'null'
            description: Search in task description.
            title: Query
        - in: query
          name: orderBy
          required: false
          schema:
            anyOf:
              - enum:
                  - id
                  - createdAt
                  - finishedAt
                  - status
                type: string
              - type: 'null'
            default: createdAt
            title: Orderby
        - in: query
          name: orderByDirection
          required: false
          schema:
            default: desc
            enum:
              - asc
              - desc
            title: Orderbydirection
            type: string
        - in: query
          name: page
          required: false
          schema:
            default: 1
            minimum: 1
            title: Page
            type: integer
        - in: query
          name: pageSize
          required: false
          schema:
            default: 20
            maximum: 100
            minimum: 1
            title: Pagesize
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_TaskListItem_'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable Content
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      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 tasks = await client.tasks.list();

            console.log(tasks.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
            )
            tasks = client.tasks.list()
            print(tasks.items)
components:
  schemas:
    TaskStatus:
      enum:
        - prepared
        - queued
        - created
        - running
        - cancelling
        - completed
        - failed
        - cancelled
      title: TaskStatus
      type: string
    PaginatedResult_TaskListItem_:
      properties:
        items:
          description: The paginated items
          items:
            $ref: '#/components/schemas/TaskListItem'
          title: Items
          type: array
        pagination:
          $ref: '#/components/schemas/PaginationMeta'
          description: Pagination metadata
      required:
        - items
        - pagination
      title: PaginatedResult[TaskListItem]
      type: object
    UnauthorizedResponse:
      properties:
        detail:
          default: You are not authorized to access this resource
          description: The detail of the error
          title: Detail
          type: string
        errors:
          default: []
          description: The errors
          items: {}
          title: Errors
          type: array
        status:
          default: 401
          description: The status code of the error
          title: Status
          type: integer
        title:
          default: Unauthorized
          description: The title of the error
          title: Title
          type: string
      title: UnauthorizedResponse
      type: object
    ErrorResponse:
      properties:
        detail:
          description: The detail of the error
          title: Detail
          type: string
        errors:
          description: The errors
          items: {}
          title: Errors
          type: array
        status:
          description: The status code of the error
          title: Status
          type: integer
        title:
          description: The title of the error
          title: Title
          type: string
      required:
        - title
        - status
        - detail
        - errors
      title: ErrorResponse
      type: object
    TaskListItem:
      description: >-
        Task representation for list endpoints — omits the large trajectory
        field.
      properties:
        accessibility:
          default: true
          title: Accessibility
          type: boolean
        apps:
          items:
            type: string
          title: Apps
          type: array
        cancelRequestedAt:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Cancelrequestedat
        claimedAt:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Claimedat
        continueOnFailure:
          default: false
          title: Continueonfailure
          type: boolean
        createdAt:
          format: date-time
          title: Createdat
          type: string
        createdBy:
          anyOf:
            - type: string
            - type: 'null'
          title: Createdby
        credentials:
          items:
            $ref: '#/components/schemas/PackageCredentials'
          title: Credentials
          type: array
        creditsUsed:
          anyOf:
            - type: number
            - type: 'null'
          title: Creditsused
        deviceId:
          format: uuid
          title: Deviceid
          type: string
        dispatchedAt:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Dispatchedat
        displayId:
          title: Displayid
          type: integer
        executionTimeout:
          default: 1000
          title: Executiontimeout
          type: integer
        files:
          items:
            type: string
          title: Files
          type: array
        finishedAt:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Finishedat
        id:
          format: uuid
          title: Id
          type: string
        llmModel:
          description: >-
            The LLM model identifier to use for the task (e.g.
            'gemini/gemini-2.5-flash')
          title: Llmmodel
          type: string
        maxSteps:
          default: 100
          title: Maxsteps
          type: integer
        message:
          anyOf:
            - type: string
            - type: 'null'
          title: Message
        output:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Output
        outputSchema:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Outputschema
        ownerId:
          title: Ownerid
          type: string
        reasoning:
          default: true
          title: Reasoning
          type: boolean
        recordingDeviceId:
          anyOf:
            - format: uuid
              type: string
            - type: 'null'
          title: Recordingdeviceid
        recordingEnabled:
          default: false
          description: >-
            Record device video for the whole task and persist a retrievable
            reference
          title: Recordingenabled
          type: boolean
        recordingId:
          anyOf:
            - format: uuid
              type: string
            - type: 'null'
          title: Recordingid
        source:
          default: api
          description: >-
            Where the task came from: 'api' for tasks created via POST /tasks,
            'agent' for tasks spawned by an agent step. Agent tasks are readable
            (status, trajectory, media) but not controllable via this API.
          enum:
            - api
            - agent
          title: Source
          type: string
        status:
          $ref: '#/components/schemas/TaskStatus'
        stealth:
          default: false
          title: Stealth
          type: boolean
        steps:
          anyOf:
            - type: integer
            - type: 'null'
          title: Steps
        streamUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Streamurl
        subagentModel:
          default: openai/gpt-5.6-luna
          description: >-
            LLM model used by sub-agent roles: executor, app_opener,
            structured_output
          title: Subagentmodel
          type: string
        succeeded:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Succeeded
        task:
          minLength: 1
          title: Task
          type: string
        temperature:
          default: 0.5
          deprecated: true
          description: >-
            Deprecated and ignored. Sampling behavior is controlled by the model
            provider.
          title: Temperature
          type: number
        tmpDevice:
          title: Tmpdevice
          type: boolean
        updatedAt:
          format: date-time
          title: Updatedat
          type: string
        userId:
          deprecated: true
          description: 'Deprecated: use ownerId (tenancy) / createdBy (actor).'
          title: Userid
          type: string
        vision:
          default: false
          title: Vision
          type: boolean
        vpnCountry:
          anyOf:
            - $ref: '#/components/schemas/VPNCountry'
            - type: 'null'
      required:
        - llmModel
        - task
        - id
        - status
        - deviceId
        - displayId
        - tmpDevice
        - userId
        - ownerId
      title: TaskListItem
      type: object
    PaginationMeta:
      description: Pagination metadata.
      properties:
        hasNext:
          description: Whether there is a next page
          title: Hasnext
          type: boolean
        hasPrev:
          description: Whether there is a previous page
          title: Hasprev
          type: boolean
        page:
          description: Current page number (1-based)
          title: Page
          type: integer
        pageSize:
          description: Number of items per page
          title: Pagesize
          type: integer
        pages:
          description: Total number of pages
          title: Pages
          type: integer
        total:
          description: Total number of items
          title: Total
          type: integer
      required:
        - page
        - pageSize
        - total
        - pages
        - hasNext
        - hasPrev
      title: PaginationMeta
      type: object
    PackageCredentials:
      properties:
        credentialNames:
          items:
            type: string
          title: Credentialnames
          type: array
        packageName:
          title: Packagename
          type: string
      required:
        - packageName
        - credentialNames
      title: PackageCredentials
      type: object
    VPNCountry:
      enum:
        - US
        - BR
        - FR
        - DE
        - IN
        - JP
        - KR
        - ZA
      title: VPNCountry
      type: string
  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.