GET/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

Authorizations

X-API-KEYstringheaderrequired

Authenticate requests using an API key linked to your qBraid account. Obtain your key by registering or logging in at account.qbraid.com.

Query Parameters

vendorenum<string>

Filter jobs by vendor

Available options: aws, azure, ibm, ionq, qbraid, all
providerstring

Filter jobs by provider name

statusGroupenum<string>

Filter by status group — pending (active/in-progress), returned (completed/failed/cancelled), or all

Available options: all, pending, returned
statusenum<string>

Filter by individual job status. Takes priority over statusGroup when both are provided

Available options: INITIALIZING, QUEUED, VALIDATING, RUNNING, CANCELLING, CANCELLED, COMPLETED, FAILED, UNKNOWN, HOLD
searchstring

Search jobs by keyword (1–255 characters)

tagsstring

Filter by tags as a JSON object (e.g., {"experiment":"bell-state"})

pageintegerdefault: 1

Page number (1-indexed, default: 1)

limitintegerdefault: 50

Number of items per page (1–100, default: 50)

Response

200Successful Response
successbooleanrequired
dataobject[]required

Array of jobs matching the query filters

paginationobjectrequired
metaobjectrequired
401Unauthorized
422Validation Error
GET/jobs
curl --request GET \
  --url https://api-v2.qbraid.com/api/v1/jobs \
  --header 'X-API-KEY: <api-key>'
import requests

url = "https://api-v2.qbraid.com/api/v1/jobs"
headers = {
    "X-API-KEY": "<api-key>"
}

response = requests.get(url, headers=headers)
print(response.json())
const url = "https://api-v2.qbraid.com/api/v1/jobs";
const options = {
  method: "GET",
  headers: {"X-API-KEY":"<api-key>"},
};

const response = await fetch(url, options);
console.log(await response.json());
{
  "success": true,
  "data": [
    {
      "name": "<string>",
      "shots": 123,
      "deviceQrn": "<string>",
      "tags": {},
      "runtimeOptions": {},
      "jobQrn": "<string>",
      "batchJobQrn": "<string>",
      "vendor": "aws",
      "provider": "aqt",
      "status": "<string>",
      "statusMsg": "<string>",
      "experimentType": "<string>",
      "queuePosition": 123,
      "timeStamps": {
        "createdAt": "2024-01-01T00:00:00Z",
        "endedAt": "2024-01-01T00:00:00Z",
        "executionDuration": 123
      },
      "cost": 123,
      "estimatedCost": 123,
      "metadata": {}
    }
  ],
  "pagination": {
    "page": 123,
    "limit": 123,
    "total": 123,
    "totalPages": 123,
    "hasNext": true,
    "hasPrev": true
  },
  "meta": {
    "timestamp": "2024-01-01T00:00:00Z"
  }
}
{
  "detail": "Authentication required"
}
{
  "detail": [
    {
      "loc": [
        "<string>"
      ],
      "msg": "<string>",
      "type": "<string>"
    }
  ]
}