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

# Get All Jobs

> Retrieve a paginated list of quantum jobs for the authenticated user.

**Query Parameters:**
- **vendor** (string, optional): Filter by vendor (e.g., `aws`, `ibm`, `qbraid`, or `all`)
- **provider** (string, optional): Filter by provider name
- **statusGroup** (string, optional): Filter by status group — `pending`, `returned`, or `all`
- **status** (string, optional): Filter by individual job status (takes priority over `statusGroup`)
- **search** (string, optional): Search jobs by keyword (1–255 characters)
- **tags** (string, optional): Filter by tags as a JSON object (e.g., `{"env":"prod"}`)
- **page** (integer, optional): Page number (default: 1)
- **limit** (integer, optional): Items per page, max 100 (default: 50)

**Returns:**
- Paginated array of RuntimeJob objects with pagination metadata

**Raises:**
- **401**: Authentication required
- **422**: Validation error if query parameters are invalid

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "data": [
      {
        "name": "Bell state job",
        "shots": 1000,
        "deviceQrn": "qbraid:qbraid:sim:qir-sv",
        "tags": { "experiment": "bell-state" },
        "runtimeOptions": {},
        "jobQrn": "qbraid:job:abc123xyz",
        "batchJobQrn": null,
        "vendor": "qbraid",
        "provider": "qbraid",
        "status": "COMPLETED",
        "statusMsg": null,
        "experimentType": "gate_model",
        "queuePosition": null,
        "timeStamps": {
          "createdAt": "2025-01-15T10:30:00Z",
          "endedAt": "2025-01-15T10:30:05Z",
          "executionDuration": 5000
        },
        "cost": 0.501875,
        "estimatedCost": 0.5,
        "metadata": {}
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 50,
      "total": 1,
      "totalPages": 1,
      "hasNext": false,
      "hasPrev": false
    },
    "meta": {
      "timestamp": "2025-01-15T10:30:06.000Z"
    }
  }
  ```
</ResponseExample>


## OpenAPI

````yaml get /jobs
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:
  /jobs:
    get:
      tags:
        - jobs
      summary: Get All Jobs
      description: >-
        Retrieve a paginated list of quantum jobs for the authenticated user.


        **Query Parameters:**

        - **vendor** (string, optional): Filter by vendor (e.g., `aws`, `ibm`,
        `qbraid`, or `all`)

        - **provider** (string, optional): Filter by provider name

        - **statusGroup** (string, optional): Filter by status group —
        `pending`, `returned`, or `all`

        - **status** (string, optional): Filter by individual job status (takes
        priority over `statusGroup`)

        - **search** (string, optional): Search jobs by keyword (1–255
        characters)

        - **tags** (string, optional): Filter by tags as a JSON object (e.g.,
        `{"env":"prod"}`)

        - **page** (integer, optional): Page number (default: 1)

        - **limit** (integer, optional): Items per page, max 100 (default: 50)


        **Returns:**

        - Paginated array of RuntimeJob objects with pagination metadata


        **Raises:**

        - **401**: Authentication required

        - **422**: Validation error if query parameters are invalid
      operationId: list_jobs_jobs_get
      parameters:
        - name: vendor
          in: query
          required: false
          schema:
            type: string
            enum:
              - aws
              - azure
              - ibm
              - ionq
              - qbraid
              - all
            description: Filter jobs by vendor
            title: Vendor
          description: Filter jobs by vendor
        - name: provider
          in: query
          required: false
          schema:
            type: string
            description: Filter jobs by provider name
            title: Provider
          description: Filter jobs by provider name
        - name: statusGroup
          in: query
          required: false
          schema:
            type: string
            enum:
              - all
              - pending
              - returned
            description: Filter by status group
            title: Status Group
          description: >-
            Filter by status group — `pending` (active/in-progress), `returned`
            (completed/failed/cancelled), or `all`
        - name: status
          in: query
          required: false
          schema:
            type: string
            enum:
              - INITIALIZING
              - QUEUED
              - VALIDATING
              - RUNNING
              - CANCELLING
              - CANCELLED
              - COMPLETED
              - FAILED
              - UNKNOWN
              - HOLD
            description: Filter by individual job status
            title: Status
          description: >-
            Filter by individual job status. Takes priority over `statusGroup`
            when both are provided
        - name: search
          in: query
          required: false
          schema:
            type: string
            minLength: 1
            maxLength: 255
            description: Search keyword
            title: Search
          description: Search jobs by keyword (1–255 characters)
        - name: tags
          in: query
          required: false
          schema:
            type: string
            description: JSON object of tag key-value pairs to filter by
            title: Tags
            example: '{"experiment":"bell-state"}'
          description: >-
            Filter by tags as a JSON object (e.g.,
            `{"experiment":"bell-state"}`)
        - 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: 50
            description: Number of items per page
            title: Limit
          description: 'Number of items per page (1–100, default: 50)'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListJobsResponse'
        '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:
    ListJobsResponse:
      properties:
        success:
          type: boolean
          title: Success
        data:
          type: array
          items:
            $ref: '#/components/schemas/RuntimeJob'
          description: Array of jobs matching the query filters
        pagination:
          type: object
          properties:
            page:
              type: integer
              description: Current page number
            limit:
              type: integer
              description: Number of items per page
            total:
              type: integer
              description: Total number of jobs
            totalPages:
              type: integer
              description: Total number of pages
            hasNext:
              type: boolean
              description: Whether a next page exists
            hasPrev:
              type: boolean
              description: Whether a previous page exists
          required:
            - page
            - limit
            - total
            - totalPages
            - hasNext
            - hasPrev
        meta:
          type: object
          properties:
            timestamp:
              type: string
              format: date-time
              description: Response timestamp
          required:
            - timestamp
      type: object
      required:
        - success
        - data
        - pagination
        - meta
      title: ListJobsResponse
      description: Paginated response for listing user jobs
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    RuntimeJob:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Job name
        shots:
          type: integer
          exclusiveMinimum: 0
          title: Shots
          description: Number of shots to execute
        deviceQrn:
          type: string
          title: Deviceqrn
          description: qBraid device resource name
        tags:
          additionalProperties:
            anyOf:
              - type: string
              - type: integer
              - type: boolean
          type: object
          title: Tags
          description: Job tags
        runtimeOptions:
          additionalProperties: true
          type: object
          title: Runtimeoptions
          description: Runtime options
        jobQrn:
          type: string
          title: Jobqrn
          description: qBraid job resource name
        batchJobQrn:
          anyOf:
            - type: string
            - type: 'null'
          title: Batchjobqrn
          description: Batch job resource name
        vendor:
          type: string
          enum:
            - aws
            - azure
            - ibm
            - ionq
            - qbraid
          title: Vendor
          description: Vendor name
        provider:
          type: string
          enum:
            - aqt
            - aws
            - azure
            - equal1
            - ibm
            - iqm
            - ionq
            - nec
            - oqc
            - pasqal
            - quantinuum
            - quera
            - rigetti
            - qbraid
          title: Provider
          description: Provider name
        status:
          type: string
          description: Job status
        statusMsg:
          anyOf:
            - type: string
            - type: 'null'
          title: Statusmsg
          description: Job status message
        experimentType:
          type: string
          description: Experiment type
        queuePosition:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Queueposition
          description: Job queue position
        timeStamps:
          anyOf:
            - $ref: '#/components/schemas/TimeStamps'
            - type: 'null'
          description: Job time stamps
        cost:
          anyOf:
            - type: number
            - type: 'null'
          title: Cost
          description: Job cost in credits
        estimatedCost:
          anyOf:
            - type: number
            - type: 'null'
          title: Estimatedcost
          description: Job estimated cost in credits
          ge: 0
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
          description: Job metadata
      type: object
      required:
        - shots
        - deviceQrn
        - jobQrn
        - vendor
        - provider
        - status
        - experimentType
        - estimatedCost
      title: RuntimeJob
      description: Schema for runtime job model
    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
    TimeStamps:
      properties:
        createdAt:
          type: string
          format: date-time
          title: Createdat
        endedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Endedat
        executionDuration:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Executionduration
          description: Execution time in milliseconds
      type: object
      required:
        - createdAt
      title: TimeStamps
      description: Model for capturing time-related information in an experiment.
  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).

````