Read and manage broker orders
broker_ordersRead current orders through a saved broker connection, or request cancellation/modification of one exact owned order. Management always requires a fresh website approval and never places a replacement trade. Read the returned broker state after execution; a pending cancellation is not a canceled order.
Set "action" to choose the operation. Only send the fields listed for that action.
action="list": Get broker orders
No other fields required. Read-only: fetches current or recent broker orders directly from a saved broker credential. Use symbol, statuses, startTimeIso, and endTimeIso to narrow. Never pass raw broker credentials.
action="manage": Cancel or modify an existing broker order
Required fields: brokerCredentialId, orderId, operation, reason. HIGH RISK: request website approval to cancel or modify one exact order on a saved broker connection. Read current broker orders first and copy the native orderId and selected brokerCredentialId. The server binds the returned contract and side. operation=cancel takes no changes. operation=modify takes changes.limitPrice, stopPrice and/or quantity; quantity means the new total including fills already received, when the broker supports it. Use only changes the user requested and provide a reason of at least 200 characters explaining the action, evidence and remaining risk. Reuse the same idempotencyKey for a retry of the same request. A pending approval or completed worker is not proof of cancellation or a fill. After approval check the action status and refresh broker orders; fills can win cancellation races. Never place a replacement trade to emulate modification. For Codex, Claude, Cursor, and other clients without BotSpot native confirmation cards, return the exact authorizationUrl as a clickable Markdown link in your reply. Do not say a card or button was created unless the client actually rendered it. BotSpot clients may render structuredContent as a native confirmation, but a button name alone is not an approval link. A pending request is not execution; only the signed-in user may approve on the website. Report expiry and check get_deployment_action_status after approval.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"action": "<action>"
},
"name": "broker_orders"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Which operation to run: "list", "manage". See the tool description for each one. | |
| reason | No | Required explicit trade explanation: at least 200 Unicode characters; prefer 600–2,500 covering intent, evidence and material risks. Maximum 100,000 characters and 400 KiB UTF-8. Do not include credentials or hidden chain of thought. Used with action="manage". Required for action="manage". | |
| symbol | No | Used with action="list". | |
| changes | No | Used with action="manage". | |
| orderId | No | Used with action="manage". Required for action="manage". | |
| outcome | No | Selected prediction contract outcome; Kalshi uses yes or no. Used with action="list". | |
| statuses | No | Used with action="list". | |
| assetType | No | Used with action="list". | |
| operation | No | Used with action="manage". Required for action="manage". | |
| endTimeIso | No | Used with action="list". | |
| startTimeIso | No | Used with action="list". | |
| brokerProvider | No | Used with action="list". | |
| idempotencyKey | No | Used with action="manage". | |
| brokerCredentialId | No | Used with action="list", action="manage". Required for action="manage". |