curl --request POST \
--url https://v2.55-tech.com/place-orders \
--header 'Content-Type: application/json' \
--header 'X-ABP-API-KEY: <api-key>' \
--data '
{
"orders": [
{
"requestUuid": "eb45b192-317b-42d5-9f65-af497b9fa8c1",
"fixtureId": "id1000004461512432",
"outcomeId": 103,
"playerId": 0,
"orderPrice": 1.95,
"orderStake": 10,
"userRef": "bettor1234",
"testOrder": false
},
{
"requestUuid": "fb5f2dd9-c855-4ba9-8ef9-4c2278ca2f1d",
"fixtureId": "id1000000758265385",
"outcomeId": 101,
"playerId": 0,
"orderPrice": 1.88,
"orderStake": 250.25,
"userRef": "bettor1234",
"testOrder": false,
"bookmakers": "pinnacle,vertex",
"orderCurrency": "USD",
"back": true,
"expiresAt": "2026-02-07T22:26:05Z",
"acceptBetterOdds": true,
"acceptPartialStake": true,
"meta": {
"strategy": "value",
"source": "api"
}
}
]
}
'{
"status": "partial-success",
"acceptedOrders": [
{
"orderId": 327,
"requestUuid": "eb45b192-317b-42d5-9f65-af497b9fa8c1",
"allowedBookmakers": "*",
"fixtureId": "id1000004461512432",
"outcomeId": 103,
"playerId": 0,
"orderPrice": 1.95,
"orderStake": 10,
"filledStake": 10,
"userRef": "bettor1234",
"testOrder": false,
"orderCurrency": "USD",
"back": true,
"expiresAt": "2026-02-07T17:29:37.311377+00:00",
"acceptBetterOdds": true,
"acceptPartialStake": true,
"clientName": "demo",
"orderStatus": "FILLED",
"createdAt": "2026-02-07T17:29:32.265368+00:00",
"updatedAt": "2026-02-07T17:29:32.265368+00:00",
"bets": [
{
"betId": 73,
"orderId": 327,
"bookmaker": "pinnacle",
"bookmakerBetId": "3332684214",
"placedPrice": 1.98,
"placedStake": 10,
"placedCurrency": "USD",
"placedAt": "2026-02-07T17:29:32+00:00",
"betStatus": "CONFIRMED",
"settlementStatus": "UNSETTLED",
"clientName": "demo",
"testBet": false,
"userRef": "bettor1234",
"requestUuid": "eb45b192-317b-42d5-9f65-af497b9fa8c1"
}
],
"fixtureInfo": {
"fixtureId": "id1000004461512432",
"status": {
"live": false,
"statusId": 0,
"statusName": "Pre-Game"
},
"sport": {
"sportId": 10,
"sportName": "Soccer"
},
"tournament": {
"tournamentId": 44,
"tournamentName": "2. Bundesliga",
"categoryName": "Germany"
},
"startTime": 1754159400,
"participants": {
"participant1Id": 2540,
"participant1Name": "Arminia Bielefeld",
"participant2Id": 2588,
"participant2Name": "Fortuna Dusseldorf"
}
},
"outcomeInfo": {
"marketId": 101,
"marketName": "Full Time Result",
"marketNameShort": "1X2",
"marketType": "1x2",
"period": "fulltime",
"playerProp": false,
"handicap": 0,
"outcomeId": 103,
"outcomeName": "2"
},
"currencyInfo": {
"currency": "USD",
"currencyValue": 1
}
}
],
"declinedOrders": [
{
"requestUuid": "fb5f2dd9-c855-4ba9-8ef9-4c2278ca2f1d",
"allowedBookmakers": "vertex",
"fixtureId": "id1000004461512432",
"outcomeId": 103,
"playerId": 0,
"orderPrice": 1.95,
"orderStake": 10,
"userRef": "bettor1234",
"testOrder": false,
"orderCurrency": "USD",
"back": true,
"clientName": "demo",
"declineReason": "Odds temporarily unavailable; please retry",
"bets": []
}
]
}Validates and places orders through the configured bookmakers.
Each order may specify a comma-separated bookmakers string or rely on
auto-selection (missing/empty/”*”).
curl --request POST \
--url https://v2.55-tech.com/place-orders \
--header 'Content-Type: application/json' \
--header 'X-ABP-API-KEY: <api-key>' \
--data '
{
"orders": [
{
"requestUuid": "eb45b192-317b-42d5-9f65-af497b9fa8c1",
"fixtureId": "id1000004461512432",
"outcomeId": 103,
"playerId": 0,
"orderPrice": 1.95,
"orderStake": 10,
"userRef": "bettor1234",
"testOrder": false
},
{
"requestUuid": "fb5f2dd9-c855-4ba9-8ef9-4c2278ca2f1d",
"fixtureId": "id1000000758265385",
"outcomeId": 101,
"playerId": 0,
"orderPrice": 1.88,
"orderStake": 250.25,
"userRef": "bettor1234",
"testOrder": false,
"bookmakers": "pinnacle,vertex",
"orderCurrency": "USD",
"back": true,
"expiresAt": "2026-02-07T22:26:05Z",
"acceptBetterOdds": true,
"acceptPartialStake": true,
"meta": {
"strategy": "value",
"source": "api"
}
}
]
}
'{
"status": "partial-success",
"acceptedOrders": [
{
"orderId": 327,
"requestUuid": "eb45b192-317b-42d5-9f65-af497b9fa8c1",
"allowedBookmakers": "*",
"fixtureId": "id1000004461512432",
"outcomeId": 103,
"playerId": 0,
"orderPrice": 1.95,
"orderStake": 10,
"filledStake": 10,
"userRef": "bettor1234",
"testOrder": false,
"orderCurrency": "USD",
"back": true,
"expiresAt": "2026-02-07T17:29:37.311377+00:00",
"acceptBetterOdds": true,
"acceptPartialStake": true,
"clientName": "demo",
"orderStatus": "FILLED",
"createdAt": "2026-02-07T17:29:32.265368+00:00",
"updatedAt": "2026-02-07T17:29:32.265368+00:00",
"bets": [
{
"betId": 73,
"orderId": 327,
"bookmaker": "pinnacle",
"bookmakerBetId": "3332684214",
"placedPrice": 1.98,
"placedStake": 10,
"placedCurrency": "USD",
"placedAt": "2026-02-07T17:29:32+00:00",
"betStatus": "CONFIRMED",
"settlementStatus": "UNSETTLED",
"clientName": "demo",
"testBet": false,
"userRef": "bettor1234",
"requestUuid": "eb45b192-317b-42d5-9f65-af497b9fa8c1"
}
],
"fixtureInfo": {
"fixtureId": "id1000004461512432",
"status": {
"live": false,
"statusId": 0,
"statusName": "Pre-Game"
},
"sport": {
"sportId": 10,
"sportName": "Soccer"
},
"tournament": {
"tournamentId": 44,
"tournamentName": "2. Bundesliga",
"categoryName": "Germany"
},
"startTime": 1754159400,
"participants": {
"participant1Id": 2540,
"participant1Name": "Arminia Bielefeld",
"participant2Id": 2588,
"participant2Name": "Fortuna Dusseldorf"
}
},
"outcomeInfo": {
"marketId": 101,
"marketName": "Full Time Result",
"marketNameShort": "1X2",
"marketType": "1x2",
"period": "fulltime",
"playerProp": false,
"handicap": 0,
"outcomeId": 103,
"outcomeName": "2"
},
"currencyInfo": {
"currency": "USD",
"currencyValue": 1
}
}
],
"declinedOrders": [
{
"requestUuid": "fb5f2dd9-c855-4ba9-8ef9-4c2278ca2f1d",
"allowedBookmakers": "vertex",
"fixtureId": "id1000004461512432",
"outcomeId": 103,
"playerId": 0,
"orderPrice": 1.95,
"orderStake": 10,
"userRef": "bettor1234",
"testOrder": false,
"orderCurrency": "USD",
"back": true,
"clientName": "demo",
"declineReason": "Odds temporarily unavailable; please retry",
"bets": []
}
]
}API key for authentication. Contact admin to obtain a key.
Request body for the POST /place-orders endpoint.
Submit one or more betting orders for placement with bookmakers. Each order is independently validated and placed.
Returns a JSON object with:
status: "success" | "partial-success" | "declined"acceptedOrders: List of successfully placed/pending orders with betsdeclinedOrders: List of orders that failed validation with reasonsEach order's requestUuid is used as an idempotency key. Duplicate
UUIDs within 5 minutes are rejected to prevent double-placement.
List of orders to place. Each order is processed independently. Maximum 100 orders per request.
1 - 100 elementsShow child attributes
Order placement results with accepted and declined orders