Bet Slip Merge API
On this page
Merge 2 to 30 booking codes into one code
Use POST /v1/merge to combine 2 to 30 booking codes into one target bet slip on SportyBet, Bet9ja, 1xBet, or another supported bookmaker. A merge costs 2 API credits plus 1 credit for each extra code, refunds failures, and reports skipped games, dropped games, and conflicts in the response.
Request
POST /v1/merge
{"pairs": [
{"bookmaker": "sportybet", "code": "AAA111"},
{"bookmaker": "bet9ja", "code": "BBB222"}
],
"target": "sportybet"}Response 200
{
"success": true,
"target": {"key": "sportybet", "name": "SportyBet"},
"target_code": "CCC333",
"codes_combined": 2,
"selections_count": 12,
"total_odds": "24.51",
"skipped": [],
"dropped": [],
"conflicts": [],
"billing": {"action": "merge", "price": 3, "credits_used": 14,
"credits_limit": 5000, "credits_reset": "2026-12-01T00:00:00Z"}
}Which merge rules apply to pairs, target, and refunds
- Send 2 to 30 pairs. Each pair has a
bookmakerand acode. targetdefaults to the bookmaker of the first pair.- Merge costs 2 credits plus 1 credit for each extra code.
- Reserve before work. Refund on failure.
- A merge onto many targets is a job.
The response lists skipped games, dropped games, and conflicts. Read these fields before you use the new code.
Which errors can a merge return
A Manage Bet Codes merge returns 422 invalid_merge for fewer than 2 pairs or more than 30, 422 unsupported_bookmaker for an unknown alias, and 502 bookmaker_unavailable when a source fetch fails at transport level.
| HTTP | Code | When |
|---|---|---|
| 422 | invalid_merge | Fewer than 2 pairs, or more than 30 pairs. |
| 422 | unsupported_bookmaker | The alias is unknown. details.hint gives a hint. |
| 502 | bookmaker_unavailable | A source fetch failed at transport level. |