matchPredictions permission.queued | processing → 202 with data.progress counters, retryAfterSeconds in body, Retry-After header. No items[].completed | completed_with_errors | failed → 200 with paginated data.items[] + meta.page/limit/total.status=updated returns only successful items; status=failed returns only failed items. Both/omitted → all.limit default 100, max 1000 (per-item rows are small).MATCH_PREDICTION_BULK_JOB_NOT_FOUND.RATE_LIMITED with Retry-After.MATCH_PREDICTION_FROZEN.curl --location 'https://adss-integration.returning.ai/apis/v1/match-predictions/bulk-jobs/mpbu_01abc/results?page=1&limit=100&status=failed' \
--header 'Authorization: Bearer <token>'{
"meta": {
"status": "success",
"statusCode": 200,
"code": "MATCH_PREDICTION_BULK_JOB_RESULTS_RETRIEVED",
"requestId": "req_01abc",
"timestamp": "2026-08-07T12:00:00.000Z",
"page": 1,
"limit": 100,
"total": 2
},
"message": "Bulk job results retrieved.",
"data": {
"jobId": "mpbu_01abc",
"status": "completed_with_errors",
"items": [
{
"matchPredictionId": "mp_01abc",
"status": "updated",
"version": 4,
"resourceUrl": "/v1/match-predictions/mp_01abc"
},
{
"matchPredictionId": "mp_02abc",
"status": "failed",
"httpStatus": 409,
"code": "VERSION_CONFLICT",
"message": "The provided version does not match the current version.",
"details": []
}
]
}
}