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

> ## Agent Instructions
> Prefer the qBraid CLI for programmatic platform actions: pip install 'qbraid-cli>=0.12', then run `qbraid configure` once with an API key from https://account.qbraid.com/account/api-keys.
> Always install the latest packages (pip install -U qbraid qbraid-cli); do not pin versions from memory. qbraid-cli below 0.12.0 is incompatible with the current API.
> Device IDs use the QRN format vendor:provider:type:name (e.g. qbraid:qbraid:sim:qir-sv, rigetti:rigetti:qpu:cepheus-1-108q). Legacy underscore IDs are deprecated.
> The REST API base URL is https://api-v2.qbraid.com/api/v1, authenticated with an X-API-Key header.
> Free simulators cost no credits; QPU and GPU jobs consume credits. Surface the estimated cost to the user before submitting a paid job.
> For account signup, API keys, credits, and end-to-end action recipes, see https://qbraid.com/llms.txt.

# Get All Devices

<ResponseExample>

```json 200
{
  "success": true,
  "data": [
    {
      "name": "QIR sparse simulator",
      "qrn": "qbraid:qbraid:sim:qir-sv",
      "vendor": "qbraid",
      "deviceType": "SIMULATOR",
      "runInputTypes": ["qasm2", "qasm3", "qir.bc", "qir.ll"],
      "status": "ONLINE",
      "statusMsg": null,
      "nextAvailable": null,
      "queueDepth": 0,
      "avgQueueTime": null,
      "numberQubits": 64,
      "paradigm": "gate_model",
      "modality": "sparse_simulator",
      "noiseModels": null,
      "pricingModel": "fixed",
      "pricing": {
        "perTask": 0.5,
        "perShot": 0,
        "perMinute": 7.5
      },
      "directAccess": true
    }
  ]
}
```

</ResponseExample>


## OpenAPI

````yaml get /devices
openapi: 3.1.0
info:
  title: qBraid Runtime API
  description: FastAPI backend powering qBraid's quantum runtime microservice.
  version: "2"
servers:
  - url: https://api-v2.qbraid.com/api/v1
    description: Live Server
security:
  - ApiKeyAuth: []
paths:
  /devices:
    get:
      tags:
        - devices
      summary: Get All Devices
      description: |-
        Retrieve a list of quantum devices available to the authenticated user.

        **Query Parameters:**
        - **qrn** (string, optional): Filter by device QRN
        - **vendor** (string, optional): Filter by vendor
        - **providerId** (string, optional): Filter by provider ID
        - **deviceType** (string, optional): Filter by device type (`QPU` or `SIMULATOR`)
        - **status** (string, optional): Filter by operational status
        - **retired** (boolean, optional): Include or exclude retired devices
        - **private** (boolean, optional): Filter by visibility (`true` = private, `false` = public)
        - **verified** (boolean, optional): Filter by verification status
        - **directAccess** (boolean, optional): Filter by direct access availability
        - **search** (string, optional): Search by name, description, or about (1–255 characters)
        - **sortBy** (string, optional): Field to sort by
        - **sortOrder** (string, optional): Sort direction (`asc` or `desc`)
        - **page** (integer, optional): Page number (default: 1)
        - **limit** (integer, optional): Items per page, max 100 (default: 20)

        **Returns:**
        - Array of RuntimeDevice objects containing device specifications and pricing information

        **Raises:**
        - **401**: Authentication required
        - **422**: Validation error if query parameters are invalid
      operationId: get_all_devices_devices_get
      parameters:
        - name: qrn
          in: query
          required: false
          schema:
            type: string
            description: Device QRN (qBraid Resource Name)
            title: Qrn
          description: Filter devices by QRN
        - name: vendor
          in: query
          required: false
          schema:
            type: string
            enum:
              - aws
              - azure
              - ibm
              - ionq
              - qbraid
            description: Filter devices by vendor
            title: Vendor
          description: Filter devices by vendor
        - name: providerId
          in: query
          required: false
          schema:
            type: string
            description: Provider ID to filter by
            title: Provider Id
          description: Filter devices by provider ID
        - name: deviceType
          in: query
          required: false
          schema:
            type: string
            enum:
              - QPU
              - SIMULATOR
            description: Filter by hardware type
            title: Device Type
          description: Filter devices by hardware type
        - name: status
          in: query
          required: false
          schema:
            type: string
            enum:
              - ONLINE
              - OFFLINE
              - RETIRED
              - UNAVAILABLE
            description: Filter by operational status
            title: Status
          description: Filter devices by operational status
        - name: retired
          in: query
          required: false
          schema:
            type: boolean
            description: Include or exclude retired devices
            title: Retired
          description: Include (`true`) or exclude (`false`) retired devices
        - name: private
          in: query
          required: false
          schema:
            type: boolean
            description: Filter by device visibility
            title: Private
          description: Filter by visibility — `true` for private, `false` for public
        - name: verified
          in: query
          required: false
          schema:
            type: boolean
            description: Filter by device verification status
            title: Verified
          description: Filter by device verification status
        - name: directAccess
          in: query
          required: false
          schema:
            type: boolean
            description: Filter by direct access availability
            title: Direct Access
          description: Filter devices by direct access availability
        - name: search
          in: query
          required: false
          schema:
            type: string
            minLength: 1
            maxLength: 255
            description: Search keyword
            title: Search
          description: Search devices by name, description, or about (1–255 characters)
        - name: sortBy
          in: query
          required: false
          schema:
            type: string
            enum:
              - name
              - vendor
              - deviceType
              - status
              - numberQubits
              - createdAt
              - updatedAt
            description: Field to sort by
            title: Sort By
          description: Field to sort devices by
        - name: sortOrder
          in: query
          required: false
          schema:
            type: string
            enum:
              - asc
              - desc
            default: asc
            description: Sort order direction
            title: Sort Order
          description: "Sort order direction (default: `asc`)"
        - name: page
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            default: 1
            description: Page number (1-indexed)
            title: Page
          description: "Page number (1-indexed, default: 1)"
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
            description: Number of items per page
            title: Limit
          description: "Number of items per page (1–100, default: 20)"
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ListDevicesResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    example: Authentication required
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
components:
  schemas:
    DevicePricing:
      properties:
        perTask:
          type: number
          title: Credits
          description: A monetary amount where 1 Credit = $0.01 USD.
          examples:
            - 10
            - 0.05
            - 1.5
        perShot:
          type: number
          title: Credits
          description: A monetary amount where 1 Credit = $0.01 USD.
          examples:
            - 10
            - 0.05
            - 1.5
        perMinute:
          type: number
          title: Credits
          description: A monetary amount where 1 Credit = $0.01 USD.
          examples:
            - 10
            - 0.05
            - 1.5
      type: object
      required:
        - perTask
        - perShot
        - perMinute
      title: DevicePricing
      description: Represents pricing information for a quantum device.
    DeviceStatus:
      type: string
      enum:
        - ONLINE
        - UNAVAILABLE
        - OFFLINE
        - RETIRED
      title: DeviceStatus
      description: |-
        Enumeration for representing various operational statuses of devices.

        Attributes:
            ONLINE (str): Device is online and accepting jobs.
            UNAVAILABLE (str): Device is online but not accepting jobs.
            OFFLINE (str): Device is offline.
            RETIRED (str): Device has been retired and is no longer operational.
    ListDevicesResponse:
      properties:
        success:
          type: boolean
          title: Success
        data:
          type: array
          items:
            $ref: "#/components/schemas/RuntimeDevice"
          description: Array of devices matching the query filters
      type: object
      required:
        - success
        - data
      title: ListDevicesResponse
      description: Response schema for listing devices
    ExperimentType:
      type: string
      enum:
        - gate_model
        - analog
        - annealing
        - other
      title: ExperimentType
      description: |-
        Enumeration for quantum experiment types.

        Attributes:
            GATE_MODEL (str): Gate-based quantum computing (e.g., OpenQASM).
            ANALOG (str): Analog quantum computing
            ANNEALING (str): Quantum annealing for optimization problems.
            OTHER (str): Placeholder for other or unspecified quantum computing models.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: "#/components/schemas/ValidationError"
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    RuntimeDevice:
      properties:
        name:
          type: string
          title: Name
        qrn:
          type: string
          title: Qrn
        vendor:
          type: string
          enum:
            - aws
            - azure
            - ibm
            - ionq
            - qbraid
          title: Vendor
        deviceType:
          type: string
          enum:
            - SIMULATOR
            - QPU
          title: Devicetype
        runInputTypes:
          items:
            type: string
          type: array
          title: Runinputtypes
        status:
          $ref: "#/components/schemas/DeviceStatus"
        statusMsg:
          anyOf:
            - type: string
            - type: "null"
          title: Statusmsg
        nextAvailable:
          anyOf:
            - type: string
              format: date-time
            - type: "null"
          title: Nextavailable
        queueDepth:
          anyOf:
            - type: integer
            - type: "null"
          title: Queuedepth
        avgQueueTime:
          anyOf:
            - type: integer
            - type: "null"
          title: Avgqueuetime
        numberQubits:
          anyOf:
            - type: integer
            - type: "null"
          title: Numberqubits
        paradigm:
          $ref: "#/components/schemas/ExperimentType"
        modality:
          anyOf:
            - type: string
            - type: "null"
          title: Modality
        noiseModels:
          anyOf:
            - items:
                type: string
              type: array
            - type: "null"
          title: Noisemodels
        pricingModel:
          anyOf:
            - type: string
              enum:
                - fixed
                - dynamic
            - type: "null"
          title: Pricingmodel
        pricing:
          anyOf:
            - $ref: "#/components/schemas/DevicePricing"
            - type: "null"
        directAccess:
          type: boolean
          title: Directaccess
          default: true
      type: object
      required:
        - name
        - qrn
        - vendor
        - deviceType
        - runInputTypes
        - status
        - paradigm
      title: RuntimeDevice
      description: Schema for device response
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
      description: Authenticate requests using an API key linked to your qBraid account. Obtain your key by registering or logging in at [account.qbraid.com](https://account.qbraid.com).
````
