Get bulk job status
Check whether a match prediction bulk update job is queued, running or finished, with its item counts.
- Method
- GET
- Path
https://api.returning.ai / v1/ match-predictions/ bulk-jobs/ {jobId} - Permission
- matchPredictions
- Retries
- Read-only; poll with backoff
When to use this
- Poll after Bulk update match predictions until the job finishes.
- Show how many items of a batch were applied and how many failed.
Authentication#
- Header
Authorization: Bearer <API_KEY>- Permission
- matchPredictionsShown in the dashboard as “Match Prediction”
Use a Community API key with matchPredictions, shown in the dashboard as Match Prediction, and keep it on your server. The key decides the community: you only see and change match predictions in that community, and you can only read jobs created with a key from that community. Personal API keys are rejected with 403. A job from another community returns 404, the same as an unknown ID.
Behaviour#
api.returning.ai doesn't serve this route yet: requests return an empty 404. Ask Returning.AI before you build on it.
A job moves from queued to processing, then ends as completed, completed_with_errors or failed. A job that ends failed isn't picked up again: read its results, and send the items it didn't reach as a new job. Jobs are kept for 7 days; after that the ID returns 404.
Request#
Path parameters#
operationId from Bulk update match predictions.Rulempbu_ and 32 hex characters
Eg"mpbu_66f00000000000000000000000000802"
Headers#
curl --request GET \
--url https://api.returning.ai/v1/match-predictions/bulk-jobs/mpbu_66f00000000000000000000000000802 \
--header 'Authorization: Bearer <API_KEY>'
Response#
A 200 returns the job's state and counts. This endpoint doesn't list items; use Get bulk job results for them.
Rulesuccess
RuleMATCH_PREDICTION_BULK_JOB_RETRIEVED
X-Request-Id if you sent one, otherwise a generated req_... ID. Quote it when you contact support.bulk_update.completed_with_errors means at least one item failed. failed means the job stopped part way: items it reached are applied, the rest are not.Rulequeued, processing, completed, completed_with_errors or failed
null while queued.null until then, and for a failed job.{
"meta": {
"status": "success",
"statusCode": 200,
"code": "MATCH_PREDICTION_BULK_JOB_RETRIEVED",
"requestId": "req_66f00000000000000000000000000811"
},
"message": "Bulk job status retrieved.",
"data": {
"jobId": "mpbu_66f00000000000000000000000000802",
"type": "bulk_update",
"status": "completed_with_errors",
"submitted": 2,
"processed": 2,
"succeeded": 1,
"failed": 1,
"createdAt": "2026-09-28T10:00:00.000Z",
"startedAt": "2026-09-28T10:00:02.000Z",
"completedAt": "2026-09-28T10:00:03.000Z"
}
}
Errors#
Every error carries its code in meta.code and the request's ID in meta.requestId. Validation errors list each problem in details, with a field, code and message. The API key checks (401, 403, 404 COMMUNITY_NOT_FOUND and 500 AUTHENTICATION_FAILED) return detail and solution instead. A 404 with an empty body means the route isn't available on api.returning.ai yet.
Fix the request03
AUTHENTICATION_REQUIREDFix the requestAuthorization: Bearer <API_KEY> with a current Community API key.API_KEY_PERMISSION_DENIEDFix the requestmatchPredictions, or it is a personal key. Use a Community API key and add Match Prediction in Settings > Integration > API Keys.Fix the data02
MATCH_PREDICTION_BULK_JOB_NOT_FOUNDFix the dataoperationId from Bulk update match predictions.COMMUNITY_NOT_FOUNDFix the dataRetry with backoff04
RATE_LIMITEDRetry with backoffRetry-After, then retry.INTERNAL_ERRORRetry with backoffAUTHENTICATION_FAILEDRetry with backoffMATCH_PREDICTION_FROZENRetry with backoff{
"meta": {
"status": "error",
"statusCode": 404,
"code": "MATCH_PREDICTION_BULK_JOB_NOT_FOUND",
"requestId": "req_66f00000000000000000000000000811"
},
"message": "Bulk job not found."
}