Compatibility Notes
Backward Compatibility
- Base functionality: Core job submission and retrieval workflows remain similar
- Authentication: API key authentication unchanged
- Job lifecycle: Job statuses and workflow unchanged
- Circuit formats: Input circuit formats remain compatible
Major breaking changes
- Result retrieval:
- Use
GET /jobs/{UUID}/results/probabilitiesinstead of/jobs/{UUID}/results, - URLs are now in
results.probabilities.urlon the Job object instead ofresults_url
- Use
- Characterization URLs: All characterization endpoints require URL updates to new nested structure under
/backends/ - Date parameters: Update timestamp formats in characterization filtering from Unix timestamps to ISO date strings
- Response parsing: Update code to handle new response field structure including
results.probabilities.urlfield
Changes to jobs
Job Types
A job’stype determines the schemas for the input, output, results, and settings of a Job.
We’re starting to support more than just circuits, and in preparation are expanding our support for different types of jobs. This field tells our internal services how to process this workload, and at launch we’re only supporting ionq.circuit.v1 which is designed to be largely compatible with legacy circuit submissions, but expect to see workload-specific schemas soon for Functions and external integrations.
Job names are more restrictive
Job names now only allow letters (a-zA-Z) and numbers (0-9), spaces, hyphens (-), or underscores (_).
More Job data
We’ve addedoutput, results, and stats to the Jobs object, allowing us to add more (and more types of!) data to our Jobs.
resultsof a circuit are its measurement data, and as we add othertypesof jobs, things like functions may have different results such as asolutionorminimum_valueinstead.outputis data passed from sub-processors that handled the job along the way. Check outoutput.compilationfor example, which is now starting to add additional diagnostic data from our compiler.statsis reporting some high-level data about the job.gate_countscontains the number of single-qubit (1q) and two-qubit (2q) gates that were submitted, andkwhreports the estimated energy consumed during QPU execution (always zero for simulator jobs).
New job cost endpoint
v0.4 introducesGET /jobs/{UUID}/cost for retrieving detailed billing information including estimated and actual costs in USD, enabling better cost tracking and budget management at the job level.
Response field additions
Job responses now include additional fields:child_job_ids, session_id, and timing prediction fields for improved job monitoring and workflow management.
Endpoint naming updates
- Job result retrieval:
GET /jobs/{UUID}/output→GET /jobs/{UUID}/results/probabilities
Backends
Restructured Characterizations API
Characterizations now use a more intuitive REST structure with endpoints nested under backends and pagination support. v0.4 Endpoints:GET /backends/{backend}/characterizations(with pagination)GET /backends/{backend}/characterizations/{characterization_id}GET /backends/{backend}(individual backend details)
Enhanced Backend Information
Backend responses now includedegraded status flag and characterization_id linking for better backend selection and status monitoring capabilities.
Date Parameter Format Changes
Characterization filtering now uses ISO date strings (e.g.,start=2025-12-31) instead of Unix timestamps (e.g., start=1585713600000).
Query Parameter Enhancements
Characterization endpoints now includelimit and page parameters for improved pagination control alongside the updated date string format.
