Skip to content

Quickstart

This guide walks you through submitting your first quantum task to QLAM.

Prerequisites

Before you begin, ensure you have:

  1. Access credentials - Contact QuEra to get your account set up
  2. A configured client - See User Guides to choose and set up your preferred client (Bloqade SDK, QLAM Shell, Third-Party SDKs, or Direct API)

Step 1: Authenticate

Use your configured client to authenticate with QLAM. See the Authentication section for information on both browser-based and headless OAuth2 flows.

Step 2: Submit a Task

A task submission requires a task definition:

  • programs - One or more quantum programs
  • subtasks - Execution specifications referencing programs, including shot count and optional arguments

Example task definition:

{
  "programs": [
    {
      "content": "<your program content>"
    }
  ],
  "subtasks": [
    {
      "program_index": 0,
      "num_shots": 100
    }
  ]
}

Submit this using your client:

  • Bloqade SDK - Use the QLAM service integration
  • QLAM Shell - Run qsh tasks create @my-task.json
  • Third-Party SDKs - Use the QLAM Core library
  • Direct API - POST to /v2/{qpu_mode}/tasks

You'll receive a task ID to track your submission.

Step 3: Check Task Status

Query the task status using your client, or via the Direct API: GET /v2/{qpu_mode}/tasks/{task_id}

Tasks progress through the following states:

Status Description
Created Task has been created
PayloadProcessing Task is being compiled/validated/optimized
Scheduled Task has been submitted to the QPU queue
ExecutionStarted QPU has started executing the task
ExecutionCompleted QPU execution complete, results may still be processing
Completed Result processing finished — see the result status for whether every shot came back

A task may also end in an error state:

Status Description
Cancelled User cancelled the task
PayloadProcessingError Error during compilation or validation
Failed Error during processing or execution

Step 4: Retrieve Results

Retrieve results using your client, or via the Direct API: GET /v2/{qpu_mode}/tasks/{task_id}/results

Results can be retrieved starting from the ExecutionStarted stage. During ExecutionStarted and ExecutionCompleted, results will have a Partial status as they are still being processed.

Results carry their own status, separate from the task status. Once result processing finishes, the result status is terminal:

Result status Meaning
Completed Every expected shot was processed
PartialComplete Processing finished above the completion threshold, but short of 100%
Failed Processing finished below the completion threshold
Cancelled The task was cancelled before processing finished

A task that reaches Completed may still carry a PartialComplete result: the task status reports that processing finished, while the result status reports how much data came back. Check the result status, not the task status, to know whether every shot is present.

Results include measurement outcomes and execution metadata.

Next Steps