Quickstart
This guide walks you through submitting your first quantum task to QLAM.
Prerequisites
Before you begin, ensure you have:
- Access credentials - Contact QuEra to get your account set up
- 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
- Key Concepts - Learn about task definitions, compilations, and QPU modes
- Task Lifecycle - Understand the stages your task goes through
- Authentication Reference - Explore other authentication options