Confirm a proposed stock order
confirm_stock_orderPlace a stock order that propose_stock_order checked (requires the api:stock_trade scope). REAL MONEY: this places an order at the user's brokerage. You MUST show the full preview from propose_stock_order to the human user and obtain their explicit approval of that exact order BEFORE you call this tool. NEVER call it autonomously, and NEVER call it automatically after propose_stock_order. Send the preview's confirm_echo fields exactly: check_id, account_id, symbol, action, units, order_type and limit_price. A mismatch answers 409 and does not place this order; if the 409 says the check may already have been placed, check get_stock_order or the brokerage before you do anything else. An expired or unknown check answers 410 check_expired and places nothing. If you did not call confirm_stock_order for that check before, propose the order again and get a new approval. If you did, the first call may have placed the order: tell the user to check the brokerage before you propose again. The server places a check at most once; if this call fails with OUTCOME UNKNOWN or times out, call it again with the SAME check_id — it returns the first result and never places a second order. Do not propose a new order to retry. The response is the order: order_id, status (pending | accepted | partially_filled | filled | cancelled | unknown), filled_units and avg_fill_price. pending, accepted and unknown are not fills: use get_stock_order to follow the order. A broker refusal is an error, never a placed order.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| units | Yes | confirm_echo.units | |
| action | Yes | confirm_echo.action | |
| symbol | Yes | confirm_echo.symbol | |
| check_id | Yes | confirm_echo.check_id | |
| account_id | Yes | confirm_echo.account_id | |
| order_type | Yes | confirm_echo.order_type | |
| limit_price | No | confirm_echo.limit_price; null or omitted for a Market order |