> ## 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 config instances.

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

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


## OpenAPI

````yaml /references/platform-api/2025-10-21.yaml get /config_instances
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:
  /config_instances:
    get:
      tags:
        - Config Instances
      summary: List
      description: List config instances.
      operationId: listConfigInstances
      parameters:
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/order_by'
        - $ref: '#/components/parameters/expand_list'
        - $ref: '#/components/parameters/id'
        - $ref: '#/components/parameters/target_status'
        - $ref: '#/components/parameters/activity_status'
        - $ref: '#/components/parameters/error_status'
        - $ref: '#/components/parameters/device_id'
        - $ref: '#/components/parameters/config_schema_id'
        - $ref: '#/components/parameters/config_type_id'
      responses:
        '200':
          description: Successfully listed the config instances.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfigInstanceList'
      x-codeSamples:
        - lang: Python
          source: |-
            from miru_server_sdk import Miru

            client = Miru(
                api_key="My API Key",
            )
            config_instances = client.config_instances.list()
            print(config_instances)
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
    order_by:
      name: order_by
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/ConfigInstanceOrderBy'
        description: The order to sort the config instances.
    expand_list:
      name: expand[]
      in: query
      required: false
      schema:
        type: array
        items:
          $ref: '#/components/schemas/ExpandConfigInstanceList'
        description: The fields to expand in the config instance list.
    id:
      name: id
      in: query
      required: false
      description: The config instance ID to filter by.
      schema:
        type: string
        example: cfg_inst_123
    target_status:
      name: target_status
      in: query
      required: false
      description: The config instance target status to filter by.
      schema:
        $ref: '#/components/schemas/ConfigInstanceTargetStatus'
    activity_status:
      name: activity_status
      in: query
      required: false
      description: The config instance activity status to filter by.
      schema:
        $ref: '#/components/schemas/ConfigInstanceActivityStatus'
    error_status:
      name: error_status
      in: query
      required: false
      description: The config instance error status to filter by.
      schema:
        $ref: '#/components/schemas/ConfigInstanceErrorStatus'
    device_id:
      name: device_id
      in: query
      required: false
      description: The device ID to filter by.
      schema:
        type: string
        example: dvc_123
    config_schema_id:
      name: config_schema_id
      in: query
      required: false
      description: The config schema ID to filter by.
      schema:
        type: string
        example: cfg_sch_123
    config_type_id:
      name: config_type_id
      in: query
      required: false
      description: The config type ID to filter by.
      schema:
        type: string
        example: cfg_typ_123
  schemas:
    ConfigInstanceList:
      title: Config Instance List
      type: object
      allOf:
        - $ref: '#/components/schemas/PaginatedList'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ConfigInstance'
    ConfigInstanceOrderBy:
      type: string
      enum:
        - id:asc
        - id:desc
        - created_at:desc
        - created_at:asc
      x-enum-varnames:
        - CONFIG_INSTANCE_ORDER_BY_ID_ASC
        - CONFIG_INSTANCE_ORDER_BY_ID_DESC
        - CONFIG_INSTANCE_ORDER_BY_CREATED_AT_DESC
        - CONFIG_INSTANCE_ORDER_BY_CREATED_AT_ASC
      default: created_at:desc
    ExpandConfigInstanceList:
      type: string
      enum:
        - total_count
        - content
        - config_schema
        - device
        - config_type
      x-enum-varnames:
        - CONFIG_INSTANCE_LIST_EXPAND_WITH_TOTAL_COUNT
        - CONFIG_INSTANCE_LIST_EXPAND_CONTENT
        - CONFIG_INSTANCE_LIST_EXPAND_CONFIG_SCHEMA
        - CONFIG_INSTANCE_LIST_EXPAND_DEVICE
        - CONFIG_INSTANCE_LIST_EXPAND_CONFIG_TYPE
    ConfigInstanceTargetStatus:
      type: string
      description: >
        Desired state of the config instance.

        - Created: config instance is created and can be deployed in the future

        - Deployed: config instance is available for consumption on the device

        - Removed: config instance is available for historical reference but
        cannot be deployed and is not active on the device
      enum:
        - created
        - deployed
        - removed
      x-enum-varnames:
        - CONFIG_INSTANCE_TARGET_STATUS_CREATED
        - CONFIG_INSTANCE_TARGET_STATUS_DEPLOYED
        - CONFIG_INSTANCE_TARGET_STATUS_REMOVED
    ConfigInstanceActivityStatus:
      type: string
      description: >
        Last known activity state of the config instance.

        - Created: config instance has been created and can be deployed in the
        future

        - Queued: config instance is waiting to be received by the device; will
        be deployed as soon as the device is online

        - Deployed: config instance is currently available for consumption on
        the device

        - Removed: the config instance is available for historical reference but
        cannot be deployed and is not active on the device
      enum:
        - created
        - queued
        - deployed
        - removed
      x-enum-varnames:
        - CONFIG_INSTANCE_ACTIVITY_STATUS_CREATED
        - CONFIG_INSTANCE_ACTIVITY_STATUS_QUEUED
        - CONFIG_INSTANCE_ACTIVITY_STATUS_DEPLOYED
        - CONFIG_INSTANCE_ACTIVITY_STATUS_REMOVED
    ConfigInstanceErrorStatus:
      type: string
      description: >
        Last known error state of the config instance deployment.

        - None: there are no errors with the config instance deployment

        - Retrying: an error has been encountered and the agent is attempting to
        try again to reach the target status

        - Failed: a fatal error has been encountered; the config instance is
        archived and (if deployed) removed from the device
      enum:
        - none
        - failed
        - retrying
      x-enum-varnames:
        - CONFIG_INSTANCE_ERROR_STATUS_NONE
        - CONFIG_INSTANCE_ERROR_STATUS_FAILED
        - CONFIG_INSTANCE_ERROR_STATUS_RETRYING
    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
    ConfigInstance:
      title: Config Instance
      allOf:
        - $ref: '#/components/schemas/BaseConfigInstance'
        - type: object
          required:
            - device
            - config_schema
            - content
          properties:
            device:
              allOf:
                - $ref: '#/components/schemas/Device'
              nullable: true
              example: null
            config_schema:
              allOf:
                - $ref: '#/components/schemas/ConfigSchema'
              nullable: true
              description: >-
                Expand the config schema using 'expand[]=config_schema' in the
                query string.
              example: null
            config_type:
              allOf:
                - $ref: '#/components/schemas/ConfigType'
              nullable: true
              description: >-
                Expand the config type using 'expand[]=config_type' in the query
                string.
              example: null
            content:
              type: object
              description: >-
                The configuration values associated with the config instance.
                Expand the content using 'expand[]=content' in the query string.
              example:
                enable_autonomy: true
                enable_remote_control: false
                max_payload_kg: 8.5
                preferred_speed_mode: normal
                emergency_stop_sensitivity: 0.9
                telemetry:
                  upload_interval_sec: 45
                  heartbeat_interval_sec: 15
              nullable: true
    BaseConfigInstance:
      title: Base Config Instance
      type: object
      required:
        - object
        - id
        - target_status
        - activity_status
        - error_status
        - status
        - relative_filepath
        - created_at
        - updated_at
        - device_id
        - config_schema_id
        - config_type_id
      properties:
        object:
          type: string
          enum:
            - config_instance
          example: config_instance
        id:
          type: string
          example: cfg_inst_123
          description: ID of the config instance.
        target_status:
          $ref: '#/components/schemas/ConfigInstanceTargetStatus'
        activity_status:
          $ref: '#/components/schemas/ConfigInstanceActivityStatus'
        error_status:
          $ref: '#/components/schemas/ConfigInstanceErrorStatus'
        status:
          $ref: '#/components/schemas/ConfigInstanceStatus'
        relative_filepath:
          type: string
          example: /v1/motion-control.json
          description: >-
            The file path to deploy the config instance relative to
            `/srv/miru/config_instances`. `v1/motion-control.json` would deploy
            to `/srv/miru/config_instances/v1/motion-control.json`.
        created_at:
          type: string
          format: date-time
          example: '2021-01-01T00:00:00Z'
          description: The timestamp of when the config instance was created.
        updated_at:
          type: string
          format: date-time
          example: '2021-01-01T00:00:00Z'
          description: The timestamp of when the config instance was last updated.
        device_id:
          type: string
          example: dvc_123
          description: ID of the device which the config instance is deployed to.
        config_schema_id:
          type: string
          example: cfg_sch_123
          description: ID of the config schema which the config instance must adhere to.
        config_type_id:
          type: string
          example: cfg_type_123
          description: >-
            ID of the config type which the config instance (and its schema) is
            a part of.
    Device:
      allOf:
        - $ref: '#/components/schemas/BaseDevice'
    ConfigSchema:
      title: Config Schema
      allOf:
        - $ref: '#/components/schemas/BaseConfigSchema'
        - type: object
          required:
            - config_type
          properties:
            config_type:
              allOf:
                - $ref: '#/components/schemas/ConfigType'
              nullable: true
              description: >-
                Expand the config type using 'expand[]=config_type' in the query
                string.
              example: null
    ConfigType:
      title: Config Type
      allOf:
        - $ref: '#/components/schemas/BaseConfigType'
    ConfigInstanceStatus:
      type: string
      description: >
        This status merges the 'activity_status' and 'error_status' fields, with
        error states taking precedence over activity states when errors are
        present. For example, if the activity status is 'deployed' but the error
        status is 'failed', the status is 'failed'. However, if the error status
        is 'none' and the activity status is 'deployed', the status is
        'deployed'.
      enum:
        - created
        - queued
        - deployed
        - removed
        - failed
        - retrying
      x-enum-varnames:
        - CONFIG_INSTANCE_STATUS_CREATED
        - CONFIG_INSTANCE_STATUS_QUEUED
        - CONFIG_INSTANCE_STATUS_DEPLOYED
        - CONFIG_INSTANCE_STATUS_REMOVED
        - CONFIG_INSTANCE_STATUS_FAILED
        - CONFIG_INSTANCE_STATUS_RETRYING
    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.
    BaseConfigSchema:
      title: Base Config Schema
      type: object
      required:
        - object
        - id
        - version
        - digest
        - relative_filepath
        - created_at
        - updated_at
        - config_type_id
        - content
      properties:
        object:
          type: string
          enum:
            - config_schema
          example: config_schema
        id:
          type: string
          example: cfg_sch_123
          description: ID of the config schema.
        version:
          type: integer
          example: 2
          description: Config schema version for the config type.
        digest:
          type: string
          example: '1234567890'
          description: Hash of the config schema contents.
        relative_filepath:
          type: string
          example: /v1/motion-control.json
          description: >-
            The file path to deploy the config instance relative to
            `/srv/miru/config_instances`. `v1/motion-control.json` would deploy
            to `/srv/miru/config_instances/v1/motion-control.json`.
        created_at:
          type: string
          format: date-time
          example: '2021-01-01T00:00:00Z'
          description: Timestamp of when the config schema was created.
        updated_at:
          type: string
          format: date-time
          example: '2021-01-01T00:00:00Z'
          description: Timestamp of when the config schema was last updated.
        config_type_id:
          type: string
          example: cfg_typ_123
          description: ID of the config type.
        content:
          type: object
          description: The config schema's JSON Schema definition.
          example:
            title: Robot Features
            type: object
            properties:
              enable_autonomy:
                type: boolean
                default: true
              enable_remote_control:
                type: boolean
                default: true
              max_payload_kg:
                type: number
                minimum: 0
                maximum: 99
                default: 10
              preferred_speed_mode:
                type: string
                enum:
                  - slow
                  - normal
                  - fast
                default: normal
              emergency_stop_sensitivity:
                type: number
                minimum: 0
                maximum: 1
                default: 0.8
              telemetry:
                type: object
                properties:
                  upload_interval_sec:
                    type: integer
                    minimum: 10
                    maximum: 600
                    default: 60
                  heartbeat_interval_sec:
                    type: integer
                    minimum: 1
                    maximum: 60
                    default: 10
                required:
                  - upload_interval_sec
                  - heartbeat_interval_sec
            required:
              - enable_autonomy
              - enable_remote_control
              - max_payload_kg
              - preferred_speed_mode
              - emergency_stop_sensitivity
              - telemetry
          nullable: true
    BaseConfigType:
      title: Config Type
      type: object
      required:
        - object
        - id
        - name
        - slug
        - created_at
        - updated_at
      properties:
        object:
          type: string
          enum:
            - config_type
          example: config_type
        id:
          type: string
          example: cfg_123
          description: ID of the config type.
        name:
          type: string
          example: My Config Type
          description: Name of the config type.
        slug:
          type: string
          example: my-config-type
          description: An immutable, code-friendly name for the config type.
        created_at:
          type: string
          format: date-time
          example: '2021-01-01T00:00:00Z'
          description: Timestamp of when the config type was created.
        updated_at:
          type: string
          format: date-time
          example: '2021-01-01T00:00:00Z'
          description: Timestamp of when the config type 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).

````