Skip to main content
POST
/
place-orders
Place multiple betting orders
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": []
    }
  ]
}

Authorizations

X-ABP-API-KEY
string
header
required

API key for authentication. Contact admin to obtain a key.

Body

application/json

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.

Response

Returns a JSON object with:

  • status: "success" | "partial-success" | "declined"
  • acceptedOrders: List of successfully placed/pending orders with bets
  • declinedOrders: List of orders that failed validation with reasons

Idempotency

Each order's requestUuid is used as an idempotency key. Duplicate UUIDs within 5 minutes are rejected to prevent double-placement.

orders
PlaceOrderRequest · object[]
required

List of orders to place. Each order is processed independently. Maximum 100 orders per request.

Required array length: 1 - 100 elements

Response

Order placement results with accepted and declined orders