Create Batch
Create a new batch to submit quantum computing jobs.
The authenticated user must be a member of the target project. The project will be billed for all jobs in the batch.
A batch groups one or more jobs sharing the same target device.
The pulse sequence can be defined once at the batch level
(sequence_builder) or individually per job (jobs[].sequence).
The batch-level sequence can be parametrized: each job then
provides its own variable bindings via variables instead of
a full sequence.
Required fields:
project_id— the project that will be billed.- At least one job in
jobs, unless the batch is left open (complete=false) for jobs to be added later.
Optional fields:
device_type— when omitted, inferred from the device embedded in the sequence. Use GET /api/v2/devices to discover available devices (includes private devices accessible to the authenticated user).
Returns: The created batch with its ID and initial status (PENDING).
Request Body required
Section titled “Request Body required ”Schema to parse request for the creation of a batch.
object
Deprecated. No longer used.
Serialized Pulser sequence shared by all jobs in the batch. Can be a parametrized sequence — each job then supplies its own variable assignments via variables. Optional if each job provides its own sequence via the sequence field.
Deprecated. Use device_type instead.
Device used to run the batch. If not provided, it will be extracted from the device inside the sequence.
Deprecated. Use backend_configuration instead.
Deprecated. Use open instead. When True, the batch is closed and will not accept new jobs.
Whether the batch is open and accepting additional jobs. When True, new jobs can be added; when False, the batch is closed.
Keywords used to refine the batch search.
ID of the project to run the batch for.
Serialized emulator backend configuration.
The list of jobs to execute in the batch. Required if the batch is not open.
Schema to create a job within a batch.
object
Number of times the pulse sequence is repeated.
Variable assignments for a parametrized sequence. Mutually exclusive with sequence.
object
Serialized Pulser sequence for this specific job. Mutually exclusive with variables. Required if no batch-level sequence_builder is provided.
Responses
Section titled “ Responses ”Successful Response
object
Response for a batch request which includes its jobs data but without the results.
This schema defines all the fields that can be publicly shared by the API.
object
Unique identifier for the batch.
ID of the parent batch if created from a retry.
Current batch status.
Deprecated. Use open instead. Indicates whether the batch is still accepting additional jobs. False means the batch is open; True means it is closed.
Whether the batch is open and accepting additional jobs.
Deprecated. Priority of the batch.
Target device type for the batch.
ID of the user who created the batch.
ID of the project this batch belongs to.
Timestamp when the batch was created.
Timestamp of the last batch update.
Serialized Pulser sequence shared by all jobs.
Total number of jobs in the batch.
Number of jobs grouped by status.
object
User-defined labels for organizing batches.
Deprecated. Use backend_configuration. Extra configuration for job execution.
object
Serialized emulator backend configuration.
URL where job results are sent via webhook.
Timestamp when processing started on hardware.
Timestamp when processing finished, errored, or was canceled.
Jobs in the batch (without result payloads).
Response to a request for a job.
This schema defines all the fields that can be publicly shared by the API and do not require significant computational resources. For example, ‘logs_links’ or ‘results link’.
object
Unique identifier for the job.
ID of the original job if created from a retry (rebatch).
Current job status.
Number of times the pulse sequence is repeated.
ID of the batch this job belongs to.
ID of the project this job belongs to.
Timestamp when the job was created.
Timestamp of the last job update.
Timestamp when the QPU or emulator started processing.
Timestamp when the QPU or emulator finished, errored, or canceled the job.
Variable assignments used to build the pulse sequence.
object
Errors returned during job execution.
Job progress percentage (0-100).
The built pulse sequence for the job.
Position in the creation order within the batch.
Example
{ "id": "00000000-0000-0000-0000-000000000003", "status": "DONE", "runs": 100, "batch_id": "00000000-0000-0000-0000-000000000002", "project_id": "00000000-0000-0000-0000-000000000001", "created_at": "2025-01-15T10:30:00Z", "updated_at": "2025-01-15T10:35:00Z", "start_timestamp": "2025-01-15T10:31:00Z", "end_timestamp": "2025-01-15T10:35:00Z", "variables": { "omega": 5 }, "progress": 100, "creation_order": 1}Priority queue on which the batch is scheduled.
Example
{ "id": "00000000-0000-0000-0000-000000000002", "status": "PENDING", "complete": false, "open": true, "priority": 0, "device_type": "FRESNEL", "user_id": "user-123", "project_id": "00000000-0000-0000-0000-000000000001", "created_at": "2025-01-15T10:30:00Z", "updated_at": "2025-01-15T10:30:00Z", "sequence_builder": "<serialized Pulser sequence>", "jobs_count": 1, "jobs_count_per_status": { "PENDING": 1 }, "tags": [], "jobs": [ { "id": "00000000-0000-0000-0000-000000000003", "status": "PENDING", "runs": 100, "batch_id": "00000000-0000-0000-0000-000000000002", "project_id": "00000000-0000-0000-0000-000000000001", "created_at": "2025-01-15T10:30:00Z", "updated_at": "2025-01-15T10:30:00Z", "variables": { "omega": 5 }, "progress": 0, "creation_order": 0 } ], "queue_priority": "MEDIUM"}Validation Error
