cancel_order
Cancel limit, take profit, or stop loss orders in crypto trading through Armor Crypto MCP. Submit a CancelOrderRequestContainer to execute order cancellations efficiently.
Instructions
Cancel a limit, take profit or stop loss order.
Expects a CancelOrderRequestContainer, returns a CancelOrderResponseContainer.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cancel_order_requests | Yes |
Implementation Reference
- armor_crypto_mcp/armor_mcp.py:482-496 (handler)Primary MCP tool handler for 'cancel_order', registered with @mcp.tool(). Proxies to ArmorWalletAPIClient.cancel_order after input validation.@mcp.tool() async def cancel_order(cancel_order_requests: CancelOrderRequestContainer) -> CancelOrderResponseContainer: """ Cancel a limit, take profit or stop loss order. Expects a CancelOrderRequestContainer, returns a CancelOrderResponseContainer. """ if not armor_client: return [{"error": "Not logged in"}] try: result: CancelOrderResponseContainer = await armor_client.cancel_order(cancel_order_requests) return result except Exception as e: return [{"error": str(e)}]
- Pydantic model defining the input structure for a single cancel order request (order_id).class CancelOrderRequest(BaseModel): order_id: str = Field(description="id of the limit order")
- Pydantic model defining the response structure for a canceled order (order_id and status).class CancelOrderResponse(BaseModel): order_id: str = Field(description="id of the limit order") status: str = Field(description="status of the limit order")
- Container Pydantic model for batching multiple CancelOrderRequest objects as input to the tool.class CancelOrderRequestContainer(BaseModel): cancel_order_requests: List[CancelOrderRequest]
- Core implementation in ArmorWalletAPIClient that serializes the request and makes the HTTP POST to the /transactions/order/cancel/ API endpoint.async def cancel_order(self, data: CancelOrderRequestContainer) -> CancelOrderResponseContainer: """Cancel a order.""" payload = data.model_dump(exclude_none=True)['cancel_order_requests'] return await self._api_call("POST", "transactions/order/cancel/", payload)