Skip to content

Direct API Access

QLAM provides REST APIs that you can access directly using any HTTP client.

Overview

Direct API access is useful when:

  • Building custom integrations
  • Working in non-Python environments
  • Automating workflows in CI/CD pipelines
  • Needing fine-grained control over requests

API Documentation

Each QLAM deployment hosts its own API documentation at:

https://<api-base-url>/docs/

For example, if your deployment's API base URL is https://api.demo.quera.com, the API documentation is available at https://api.demo.quera.com/docs/.

Deployment-Specific Documentation

API documentation is served directly from each QLAM deployment. This ensures the documentation always matches the exact API version running on that deployment. See the REST API Reference for endpoint details and examples.

Authentication

All API requests require a valid access token in the Authorization header:

Authorization: Bearer <access_token>

See the Authentication Reference for details on obtaining tokens.

Example: Submit a Task

Using curl:

curl -X POST "https://api.demo.quera.com/v2/{qpu_mode}/tasks" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "programs": [
      {
        "content": "<your program content>"
      }
    ],
    "subtasks": [
      {
        "program_index": 0,
        "num_shots": 100
      }
    ]
  }'

Using Python requests:

import requests

response = requests.post(
    "https://api.demo.quera.com/v2/{qpu_mode}/tasks",
    headers={
        "Authorization": f"Bearer {access_token}",
        "Content-Type": "application/json",
    },
    json={
        "programs": [
            {"content": "<your program content>"}
        ],
        "subtasks": [
            {"program_index": 0, "num_shots": 100}
        ],
    },
)

task_id = response.json()["id"]

Example: Check Task Status

curl -X GET "https://api.demo.quera.com/v2/{qpu_mode}/tasks/{task_id}" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Example: Get Task Results

curl -X GET "https://api.demo.quera.com/v2/{qpu_mode}/tasks/{task_id}/results" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Common Response Codes

Code Description
200 Success
201 Created (task submitted successfully)
400 Bad request (invalid payload)
401 Unauthorized (invalid or expired token)
403 Forbidden (insufficient permissions)
404 Not found
429 Rate limited

Next Steps