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

# List Qpus And Simulators

> List available QPUs and simulators for execution planning.

Use this tool before execution submission to obtain a valid ``device_id``
for ``run_circuits_on_qpu_or_simulator``. The route is read-only and does
not reserve capacity or start jobs, so queue depth and status values are
only snapshots.

When to Use:
    - Call this before run submission or backend-aware transpilation when a
      valid ``device_id`` is not yet known.
    - Call this when the user wants to compare available QPUs and
      simulators by capacity or queue depth.

Constraints:
    - Returned backend status and pending-job counts are point-in-time
      snapshots only.
    - Use the returned ``id`` values verbatim in later MCP tools.

Notes:
    - For agent-facing output, summarize the most relevant backends by
      simulator flag, qubit count, and pending jobs instead of pasting the
      full catalog unless the caller asks for exhaustive results.

Args:
    user: Authenticated user resolved from the API key.
    db: Active database session.

Returns:
    A list of execution backend objects with IDs suitable for later run
    submissions.



## OpenAPI

````yaml https://api.haiqu.ai/openapi.json post /ai/list_qpus_and_simulators
openapi: 3.1.0
info:
  title: Haiqu API
  summary: Haiqu RESTful API service.
  description: Cloud service providing the access to Haiqu cloud runtime
  contact:
    name: Haiqu Inc.
    url: https://haiqu.ai/
    email: info@haiqu.ai
  version: 1.4.0
servers: []
security: []
paths:
  /ai/list_qpus_and_simulators:
    post:
      summary: List Qpus And Simulators
      description: >-
        List available QPUs and simulators for execution planning.


        Use this tool before execution submission to obtain a valid
        ``device_id``

        for ``run_circuits_on_qpu_or_simulator``. The route is read-only and
        does

        not reserve capacity or start jobs, so queue depth and status values are

        only snapshots.


        When to Use:
            - Call this before run submission or backend-aware transpilation when a
              valid ``device_id`` is not yet known.
            - Call this when the user wants to compare available QPUs and
              simulators by capacity or queue depth.

        Constraints:
            - Returned backend status and pending-job counts are point-in-time
              snapshots only.
            - Use the returned ``id`` values verbatim in later MCP tools.

        Notes:
            - For agent-facing output, summarize the most relevant backends by
              simulator flag, qubit count, and pending jobs instead of pasting the
              full catalog unless the caller asks for exhaustive results.

        Args:
            user: Authenticated user resolved from the API key.
            db: Active database session.

        Returns:
            A list of execution backend objects with IDs suitable for later run
            submissions.
      operationId: list_qpus_and_simulators
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ContextDeviceModel'
                type: array
                title: Response List Qpus And Simulators
      security:
        - APIKeyQuery: []
        - APIKeyHeader: []
components:
  schemas:
    ContextDeviceModel:
      properties:
        id:
          type: string
          title: Id
        vendor:
          type: string
          title: Vendor
        name:
          type: string
          title: Name
        qubits:
          type: integer
          title: Qubits
        status:
          type: string
          title: Status
        pending_jobs:
          type: integer
          title: Pending Jobs
        simulator:
          type: boolean
          title: Simulator
      type: object
      required:
        - id
        - vendor
        - name
        - qubits
        - status
        - pending_jobs
        - simulator
      title: ContextDeviceModel
      description: |-
        Represent execution backend metadata exposed to MCP clients.

        Attributes:
            id: Device identifier used by run submissions.
            vendor: Backend provider name.
            name: Device display name.
            qubits: Qubit capacity.
            status: Backend status reported by the device catalog.
            pending_jobs: Queue depth approximation.
            simulator: Whether this backend is a simulator.
  securitySchemes:
    APIKeyQuery:
      type: apiKey
      in: query
      name: HAIQU_API_KEY
    APIKeyHeader:
      type: apiKey
      in: header
      name: authorization

````