Skip to content

Order Confirm ​

POST /api/v1.0/accounts/{acc_id}/order_confirm

Confirm an order. Call this endpoint when place or modify returns need_order_confirm as true.

How to handle place and modify results ​

Some orders cannot finish in one step. The API may ask you to confirm again, or to continue in a browser. Decide from the response body, not only the HTTP status. need_order_confirm, confirm_id, and jump_url are top-level fields, not inside d.

CasesKey fieldsMeaningNext step
Acceptedokd.order_id on placeOrder submittedDone; query orders later if needed
Needs confirmerrorneed_order_confirm=true, plus confirm_id, errcode, errmsgOrder is not fully submitted yet; errmsg explains the confirmCall this API with confirm_id; after success, read d.order_id on place; modify confirm usually has no d
Needs browsererrorjump_urlContinue in a browserOpen jump_url; do not call another trading API
FailederrorNone of the aboveRequest rejectedHandle via errcode / errmsg
  • confirm_id is not the business order_id. Use it only with this endpoint; request body only needs confirm_id.
  • confirm_id expires; if it expires or is invalid, place or modify again.
  • If confirm still returns needs-confirm or jump_url, continue with the table above.

Path Parameters ​

ParameterTypeRequiredDescription
acc_idstringYesBusiness account ID.

Request Parameters ​

ParameterTypePositionRequiredDescription
confirm_idstringbodyYesOrder confirm ID from the place or modify response.

Request Example ​

bash
curl -X POST 'https://webapi.moomoo.com/api/v1.0/accounts/{acc_id}/order_confirm' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <AccessToken>' \
  -d '{
    "confirm_id": "0a1984f400616ae1b2100008eb430000"
  }' | jq

Response Parameters ​

FieldTypeDescription
order_idstringNew order ID, returned only when confirming a new order (not a modification).

Response Example ​

Place confirm success:

json
{
  "s": "ok",
  "d": {
    "order_id": "FH1D5A40DCB7B63000"
  }
}

Modify confirm success (no d / no new order_id):

json
{
  "s": "ok"
}

Still needs confirm (same shape as place/modify; fields at top level):

json
{
  "s": "error",
  "errcode": 108330261,
  "errmsg": "Due to liquidity and market conditions, you may be unable to open or close positions for this security. Do you want to continue?",
  "need_order_confirm": true,
  "confirm_id": "0a1984f400616ae1b2100008eb430000"
}