D-Wave QPU Samplers (Advantage / Advantage2)

Direct access to D-Wave quantum annealing QPUs — Advantage (5,000+ qubits, Pegasus topology) and Advantage2 (next-generation, Zephyr topology). Submit Ising or QUBO problems with parameters for annealing schedule, num_reads, chain_strength, reverse annealing, h_gain_schedule, programming thermalization, and readout thermalization. Returned answers contain energies, occurrences, and sample vectors. Use DWaveSampler/EmbeddingComposite from `dwave-system` to embed logical problems onto the physical qubit graph.

OpenAPI Specification

d-wave-qpu-samplers-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: D-Wave QPU Samplers (Advantage / Advantage2)
  version: '3.0'
  description: |
    Direct access to D-Wave quantum annealing QPUs (Advantage with Pegasus topology and
    Advantage2 with Zephyr topology) through the SAPI Problems endpoint with
    `type=ising|qubo`. Problems are submitted with QPU-specific annealing parameters and
    return Ising/QUBO answers with energies, occurrences, and sample vectors.
  contact:
    name: D-Wave Quantum Inc.
    url: https://docs.dwavequantum.com/en/quantum_research/index_about.html
servers:
- url: https://cloud.dwavesys.com/sapi/v2
security:
- SapiToken: []
paths:
  /problems/:
    post:
      operationId: submitQpuProblem
      summary: Submit QPU Problem
      description: Submit an Ising or QUBO problem to a D-Wave QPU sampler.
      tags: [QPU]
      requestBody:
        required: true
        content:
          application/json:
            schema: {$ref: '#/components/schemas/QpuProblemJob'}
      responses:
        '200':
          description: QPU problem status (with answer if returned within time limit)
          content:
            application/vnd.dwave.sapi.problems+json;version=3.0.0:
              schema: {$ref: '#/components/schemas/QpuProblemStatus'}
components:
  securitySchemes:
    SapiToken:
      type: apiKey
      in: header
      name: X-Auth-Token
  schemas:
    QpuProblemJob:
      type: object
      required: [solver, type, data]
      properties:
        solver:
          type: string
          example: Advantage_system6.4
        type:
          type: string
          enum: [ising, qubo]
        data:
          type: object
          properties:
            format: {type: string, enum: [qp]}
            lin: {type: array, items: {type: number}, description: Linear biases on active qubits.}
            quad: {type: array, items: {type: number}, description: Quadratic couplings between coupled qubits.}
            offset: {type: number}
        params:
          $ref: '#/components/schemas/QpuParams'
        label: {type: string}
    QpuParams:
      type: object
      properties:
        num_reads: {type: integer, minimum: 1, maximum: 10000}
        annealing_time: {type: number, description: Microseconds (e.g. 1-2000).}
        chain_strength: {type: number}
        auto_scale: {type: boolean}
        anneal_schedule:
          type: array
          items: {type: array, items: {type: number}, minItems: 2, maxItems: 2}
          description: Reverse / pause / forward anneal schedule as (time, s) pairs.
        h_gain_schedule:
          type: array
          items: {type: array, items: {type: number}, minItems: 2, maxItems: 2}
        programming_thermalization: {type: number}
        readout_thermalization: {type: number}
        flux_biases: {type: array, items: {type: number}}
        reverse_anneal_schedule: {type: array, items: {type: array, items: {type: number}}}
        initial_state: {type: array, items: {type: integer, enum: [-1, 1]}}
        answer_mode: {type: string, enum: [raw, histogram]}
    QpuProblemStatus:
      type: object
      properties:
        id: {type: string}
        type: {type: string}
        solver: {type: string}
        status: {type: string, enum: [PENDING, IN_PROGRESS, COMPLETED, FAILED, CANCELLED]}
        submitted_on: {type: string, format: date-time}
        solved_on: {type: string, format: date-time}
        answer: {$ref: '#/components/schemas/QpuAnswer'}
    QpuAnswer:
      type: object
      properties:
        format: {type: string, enum: [qp]}
        active_variables: {type: array, items: {type: integer}}
        energies: {type: array, items: {type: number}}
        num_occurrences: {type: array, items: {type: integer}}
        solutions: {type: array, items: {type: array, items: {type: integer, enum: [-1, 1]}}}
        timing:
          type: object
          properties:
            qpu_sampling_time: {type: number}
            qpu_anneal_time_per_sample: {type: number}
            qpu_readout_time_per_sample: {type: number}
            qpu_access_time: {type: number}
            qpu_programming_time: {type: number}
            total_post_processing_time: {type: number}
        num_variables: {type: integer}