matchPredictions permission.Idempotency-Key header REQUIRED. Same key + same body → original 202 (same operationId). Same key + different body → 409 IDEMPOTENCY_KEY_CONFLICT.operationId, statusUrl, resultsUrl. Poll GET /results to check progress (202 in-progress with retryAfterSeconds + Retry-After header; 200 when terminal).OPERATION_IN_PROGRESS. Void winning the race → subsequent settle returns 409.MATCH_NOT_STARTED.curl --location 'https://adss-integration.returning.ai/apis/v1/match-predictions/mp_01abc/settlements' \
--header 'Idempotency-Key: 01HXYZABCDEFG1234567890' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"fullTimeScore": { "teamA": 2, "teamB": 1 }
}'{
"meta": {
"status": "success",
"statusCode": 202,
"code": "MATCH_PREDICTION_SETTLEMENT_ACCEPTED",
"requestId": "req_01abc",
"timestamp": "2026-08-07T12:00:00.000Z"
},
"message": "Settlement accepted.",
"data": {
"operationId": "mps_01xyz",
"type": "settlement",
"status": "settlement_in_progress",
"submittedAt": "2026-08-07T12:00:00.000Z",
"resultsUrl": "/v1/match-predictions/mp_01abc/results"
}
}