openapi: 3.0.3 info: title: Google Quantum Engine Calibrations Jobs API version: v1alpha1 description: 'REST surface of the Google Quantum Engine service (`quantum.googleapis.com`, `google.cloud.quantum.v1alpha1.QuantumEngineService`). The Quantum Engine accepts hardware-compatible quantum circuits as **programs**, executes them as **jobs** on Google''s superconducting **processors** (Willow- and Sycamore-class), manages **reservations** of processor time, and exposes processor **calibration** snapshots. The canonical client is the `cirq-google` Python package (`cirq_google.Engine`). Access is restricted: callers must use a Google Cloud project with the Quantum Engine API enabled, be on the approved-user list, and authenticate using Application Default Credentials (OAuth 2.0 with the `https://www.googleapis.com/auth/cloud-platform` scope). ' contact: name: Cirq Maintainers email: cirq-maintainers@googlegroups.com url: https://quantumai.google/cirq/google/engine license: name: Google APIs Terms of Service url: https://developers.google.com/terms servers: - url: https://quantum.googleapis.com description: Production Quantum Engine endpoint security: - googleOAuth: - https://www.googleapis.com/auth/cloud-platform tags: - name: Jobs description: Executions of a program against a processor or simulator backend. paths: /v1alpha1/{parent}/jobs: parameters: - $ref: '#/components/parameters/ParentProgram' post: tags: - Jobs operationId: CreateQuantumJob summary: Create Quantum Job description: Submit a new job to execute a program on a processor or simulator backend. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/QuantumJob' responses: '200': description: Job created. content: application/json: schema: $ref: '#/components/schemas/QuantumJob' get: tags: - Jobs operationId: ListQuantumJobs summary: List Quantum Jobs description: List jobs belonging to a program. Supports filtering by state, label, and creation time. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageToken' - $ref: '#/components/parameters/Filter' responses: '200': description: A page of jobs. content: application/json: schema: $ref: '#/components/schemas/ListQuantumJobsResponse' /v1alpha1/{name}/job: parameters: - $ref: '#/components/parameters/JobName' get: tags: - Jobs operationId: GetQuantumJob summary: Get Quantum Job description: Retrieve a single quantum job by resource name. responses: '200': description: The requested job. content: application/json: schema: $ref: '#/components/schemas/QuantumJob' patch: tags: - Jobs operationId: UpdateQuantumJob summary: Update Quantum Job description: Update mutable fields (labels, description, priority) on a job. parameters: - $ref: '#/components/parameters/UpdateMask' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/QuantumJob' responses: '200': description: Updated job. content: application/json: schema: $ref: '#/components/schemas/QuantumJob' delete: tags: - Jobs operationId: DeleteQuantumJob summary: Delete Quantum Job description: Delete a quantum job and its results. responses: '200': description: Job deleted. content: application/json: schema: $ref: '#/components/schemas/Empty' /v1alpha1/{name}:cancel: parameters: - $ref: '#/components/parameters/JobName' post: tags: - Jobs operationId: CancelQuantumJob summary: Cancel Quantum Job description: Cancel a queued or running quantum job. responses: '200': description: Job cancellation accepted. content: application/json: schema: $ref: '#/components/schemas/Empty' /v1alpha1/{parent}/events: parameters: - $ref: '#/components/parameters/JobParent' get: tags: - Jobs operationId: ListQuantumJobEvents summary: List Quantum Job Events description: List lifecycle events emitted for a job (queued, running, completed, failed). parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageToken' responses: '200': description: A page of job events. content: application/json: schema: $ref: '#/components/schemas/ListQuantumJobEventsResponse' components: schemas: ListQuantumJobEventsResponse: type: object properties: events: type: array items: type: object properties: eventTime: type: string format: date-time executionStatus: $ref: '#/components/schemas/ExecutionStatus' nextPageToken: type: string SchedulingConfig: type: object description: Job scheduling configuration including processor selector and priority. properties: processor_selector: type: object properties: processor_names: type: array items: type: string priority: type: integer format: int32 ExecutionStatus: type: object description: Current state of a quantum job. properties: state: type: string enum: - STATE_UNSPECIFIED - READY - RUNNING - CANCELLING - CANCELLED - SUCCESS - FAILURE processorName: type: string failure: type: object properties: errorCode: type: string errorMessage: type: string Empty: type: object description: An empty response body. QuantumJob: type: object description: An execution of a quantum program on a processor or simulator. properties: name: type: string description: Resource name `projects/{project_id}/programs/{program_id}/jobs/{job_id}`. createTime: type: string format: date-time updateTime: type: string format: date-time labels: type: object additionalProperties: type: string labelFingerprint: type: string description: type: string scheduling_config: $ref: '#/components/schemas/SchedulingConfig' run_context: type: object description: Serialised `google.protobuf.Any` run context (sweep parameters, repetitions). executionStatus: $ref: '#/components/schemas/ExecutionStatus' ListQuantumJobsResponse: type: object properties: jobs: type: array items: $ref: '#/components/schemas/QuantumJob' nextPageToken: type: string parameters: JobName: name: name in: path required: true description: The job resource name. schema: type: string JobParent: name: parent in: path required: true description: The parent job resource, formatted as `projects/{project_id}/programs/{program_id}/jobs/{job_id}`. schema: type: string pattern: ^projects/[^/]+/programs/[^/]+/jobs/[^/]+$ PageSize: name: pageSize in: query description: Maximum number of items to return in a page. schema: type: integer format: int32 minimum: 1 maximum: 1000 PageToken: name: pageToken in: query description: Continuation token from a previous list response. schema: type: string ParentProgram: name: parent in: path required: true description: The parent program resource, formatted as `projects/{project_id}/programs/{program_id}`. schema: type: string pattern: ^projects/[^/]+/programs/[^/]+$ UpdateMask: name: updateMask in: query description: FieldMask listing fields to update. schema: type: string Filter: name: filter in: query description: AIP-160 filter expression (e.g., `labels.team = quantum`, `executionStatus.state = SUCCESS`). schema: type: string securitySchemes: googleOAuth: type: oauth2 description: OAuth 2.0 via Google Cloud Application Default Credentials. flows: authorizationCode: authorizationUrl: https://accounts.google.com/o/oauth2/auth tokenUrl: https://oauth2.googleapis.com/token scopes: https://www.googleapis.com/auth/cloud-platform: Read/write access to Google Cloud resources, including Quantum Engine.