Zuora is introducing an enhancement to the Run Meter API to improve API responsiveness and reliability while maintaining full backward compatibility.
Overview
Today, when you invoke the Run Meter API, the request waits while Zuora submits the meter run to the processing engine before returning a response. Although meter execution has always been asynchronous, the submission step is currently synchronous.
With this enhancement, the Run Meter API will:
- Return immediately after the run request has been accepted and recorded.
- Submit the meter to the processing engine asynchronously in the background.
- Continue using the existing Run Status APIs to monitor execution.
This change reduces API latency, minimizes client-side timeouts, and improves overall reliability.
What remains unchanged?
For most customers, no action is required.
The following remain unchanged:
- API endpoints
- Request and response formats
- Authentication and permissions
- Validation behavior
- Meter execution logic
- Run Status APIs used to monitor execution
Existing integrations that start a meter run and poll the Run Status API until completion will continue to work as before.
New run status
A new intermediate, non-terminal status will be introduced:
JOB_SUBMISSION_IN_PROGRESS
This status indicates that Zuora has accepted the run request and is submitting the meter to the processing engine.
Updated run lifecycle
JOB_SUBMISSION_IN_PROGRESS
↓
INITIALIZING
↓
RUNNING
↓
COMPLETED / FAILED / PAUSED / CANCELED
If your application validates or displays run statuses, ensure it recognizes JOB_SUBMISSION_IN_PROGRESS as an in-progress state.
Changes to integration behavior
Previously, failures during job submission were returned immediately as API errors.
With this enhancement:
- The Run Meter API returns successfully once the request has been accepted.
- If background job submission later fails, the run status transitions to FAILED.
- The final outcome of a run should be determined by monitoring the Run Status API, not solely by the initial API response.
Recommended integration flow
- Invoke the Run Meter API.
- Store the returned run identifier.
- Poll the Run Status API.
- Continue polling until the run reaches a terminal state:
- COMPLETED
- FAILED
- PAUSED
- CANCELED
Who is affected?
You are unlikely to be affected if your integration already:
- Starts a meter run.
- Uses the returned run identifier.
- Polls the Run Status API until the run reaches a terminal state.
You should review your integration if it:
- Assumes a successful Run Meter API response means the job has already been submitted.
- Maintains a fixed list of supported run status values.
- Uses the returned run identifier as proof that processing has already begun.
API reference
Run a Specific Version of a Meter
Endpoint
POST /v1/meters/{meterId}/versions/{version}/run
Documentation:
https://developer.zuora.com/v1-api-reference/api/meters/runspecificversionofmeter
Get Run Status of a Specific Meter Version
Endpoint
GET /v1/meters/{meterId}/versions/{version}/runs/{runId}
Documentation:
https://developer.zuora.com/v1-api-reference/api/meters/getrunstatusofspecificmeterversion
Benefits
This enhancement provides several operational improvements:
- Faster API response times
- Reduced client-side timeout risk
- Improved reliability during processing-engine delays
- Better durability by recording run history before job submission
- Improved visibility into the job submission lifecycle through the new JOB_SUBMISSION_IN_PROGRESS status
Rollout Timeline:
- Sandbox: August 7, 2026
- Production: September 10, 2026
No endpoint changes or API version updates are required as part of this rollout.
We recommend validating your integration in Sandbox if it consumes run status values or relies on the immediate response from the Run Meter API.
Need help?
If you have questions about your integration or would like assistance validating compatibility, please contact your Zuora account team or Zuora Support.
------------------------------
Nimish Khandelwal
Product Manager
Zuora
------------------------------