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

# List

> List devices.

<Danger>This API version has reached end of life. See [supported versions](/developers/platform-api/versioning#supported-versions).</Danger>

| Scope          | Required |
| -------------- | -------- |
| `devices:read` | Yes      |


## OpenAPI

````yaml /references/platform-api/2025-10-21.yaml get /devices
openapi: 3.0.3
info:
  title: Miru API
  version: 2025-10-21.zion
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://api.mirurobotics.com/beta
    description: Miru API
security:
  - ApiKeyAuth: []
paths:
  /devices:
    get:
      tags:
        - Devices
      summary: List
      description: List devices.
      operationId: listDevices
      parameters:
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/components-parameters-order_by'
        - $ref: '#/components/parameters/components-parameters-expand_list'
        - $ref: '#/components/parameters/components-parameters-id'
        - $ref: '#/components/parameters/name'
        - $ref: '#/components/parameters/agent_version'
        - $ref: '#/components/parameters/current_release_id'
      responses:
        '200':
          description: Successfully listed the devices.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceList'
      x-codeSamples:
        - lang: Python
          source: |-
            from miru_server_sdk import Miru

            client = Miru(
                api_key="My API Key",
            )
            devices = client.devices.list()
            print(devices)
components:
  parameters:
    offset:
      name: offset
      in: query
      required: false
      description: >-
        The offset of the items to return. An offset of 10 with a limit of 10
        returns items 11-20.
      schema:
        type: integer
        default: 0
        minimum: 0
    limit:
      name: limit
      in: query
      required: false
      description: >-
        The maximum number of items to return. A limit of 15 with an offset of 0
        returns items 1-15.
      schema:
        type: integer
        default: 10
        minimum: 1
        maximum: 100
    components-parameters-order_by:
      name: order_by
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/DeviceOrderBy'
        description: The order to sort the devices.
    components-parameters-expand_list:
      name: expand[]
      in: query
      required: false
      schema:
        type: array
        items:
          $ref: '#/components/schemas/ExpandDeviceList'
        description: The fields to expand in the device list.
    components-parameters-id:
      name: id
      in: query
      required: false
      description: The device ID to filter by.
      schema:
        type: string
        example: dev_123
    name:
      name: name
      in: query
      required: false
      description: The device name to filter by.
      schema:
        type: string
        example: My Device
    agent_version:
      name: agent_version
      in: query
      required: false
      description: The agent version to filter by.
      schema:
        type: string
        example: v1.0.0
    current_release_id:
      name: current_release_id
      in: query
      required: false
      description: The current release ID to filter by.
      schema:
        type: string
        example: rls_123
  schemas:
    DeviceList:
      allOf:
        - $ref: '#/components/schemas/PaginatedList'
        - type: object
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/Device'
    DeviceOrderBy:
      type: string
      enum:
        - id:asc
        - id:desc
        - created_at:desc
        - created_at:asc
      x-enum-varnames:
        - DEVICE_ORDER_BY_ID_ASC
        - DEVICE_ORDER_BY_ID_DESC
        - DEVICE_ORDER_BY_CREATED_AT_DESC
        - DEVICE_ORDER_BY_CREATED_AT_ASC
      default: created_at:desc
    ExpandDeviceList:
      type: string
      enum:
        - total_count
      x-enum-varnames:
        - DEVICE_LIST_EXPAND_WITH_TOTAL_COUNT
    PaginatedList:
      title: Paginated List
      type: object
      required:
        - object
        - total_count
        - limit
        - offset
        - has_more
      properties:
        object:
          type: string
          enum:
            - list
          example: list
        total_count:
          type: integer
          format: int64
          description: >-
            The total number of items in the list. By default the total count is
            not returned. The total count must be expanded (using
            expand[]=total_count) to get the total number of items in the list.
        limit:
          type: integer
          description: >-
            The maximum number of items to return. A limit of 15 with an offset
            of 0 returns items 1-15.
          default: 10
          minimum: 1
          maximum: 100
        offset:
          type: integer
          description: >-
            The offset of the items to return. An offset of 10 with a limit of
            10 returns items 11-20.
          default: 0
          minimum: 0
        has_more:
          type: boolean
          description: >-
            True if there are more items in the list to return. False if there
            are no more items to return.
          example: false
    Device:
      allOf:
        - $ref: '#/components/schemas/BaseDevice'
    BaseDevice:
      title: Base Device
      type: object
      required:
        - object
        - id
        - name
        - status
        - last_connected_at
        - last_disconnected_at
        - created_at
        - updated_at
      properties:
        object:
          type: string
          enum:
            - device
          example: device
        id:
          type: string
          example: dvc_123
          description: ID of the device.
        name:
          type: string
          example: My Device
          description: Name of the device.
        status:
          $ref: '#/components/schemas/DeviceStatus'
        last_connected_at:
          type: string
          format: date-time
          example: '2021-01-01T00:00:00Z'
          nullable: true
          description: >-
            Timestamp of when the device was last made an initial connection
            (this is not the same as the last time the device was seen).
        last_disconnected_at:
          type: string
          format: date-time
          example: '2021-01-01T00:00:00Z'
          nullable: true
          description: >-
            Timestamp of when the device was last disconnected (this is not the
            same as the last time the device was seen).
        created_at:
          type: string
          format: date-time
          example: '2021-01-01T00:00:00Z'
          description: Timestamp of when the device was created.
        updated_at:
          type: string
          format: date-time
          example: '2021-01-01T00:00:00Z'
          description: Timestamp of when the device was last updated.
    DeviceStatus:
      type: string
      description: >
        The status of the device.

        - Inactive: The miru agent has not yet been installed / authenticated

        - Activating: The miru agent is currently being installed /
        authenticated (should only last for a few seconds)

        - Online: The miru agent has successfully pinged the server within the
        last 60 seconds.

        - Offline: The miru agent has not successfully pinged the server within
        the last 60 seconds (e.g. network issues, device is powered off, etc.)
      enum:
        - inactive
        - activating
        - online
        - offline
      x-enum-varnames:
        - DEVICE_STATUS_INACTIVE
        - DEVICE_STATUS_ACTIVATING
        - DEVICE_STATUS_ONLINE
        - DEVICE_STATUS_OFFLINE
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        The API key to use for authentication. Retrieve your API key from the
        [Miru dashboard](https://app.mirurobotics.com/settings/api-keys).

````