{"success": true, "count": 35, "base_url": "https://app.crosstrade.io", "auth": {"type": "bearer", "header": "Authorization", "format": "Bearer <token>", "token_url": "https://app.crosstrade.io/user/my-account"}, "discovery": {"openapi_json": "https://app.crosstrade.io/v1/api/openapi.json", "openapi_yaml": "https://app.crosstrade.io/v1/api/openapi.yaml", "llms_txt": "https://app.crosstrade.io/v1/api/llms.txt", "llms_full_txt": "https://app.crosstrade.io/v1/api/llms-full.txt", "documentation": "https://crosstrade.io/docs/api/overview"}, "endpoints": [{"method": "GET", "path": "/v1/api/accounts", "tag": "Accounts", "summary": "Get Accounts", "description": "**RPC Function:** `ListAccounts`", "rpc": "ListAccounts", "operation_id": "accts", "parameters": [], "request_body_schema": null}, {"method": "GET", "path": "/v1/api/accounts/snapshot", "tag": "Accounts", "summary": "Get Accounts Summary", "description": "**RPC Function:** `GetAccountSummary`", "rpc": "GetAccountSummary", "operation_id": "summary", "parameters": [], "request_body_schema": null}, {"method": "GET", "path": "/v1/api/accounts/{account}", "tag": "Accounts", "summary": "Get Account", "description": "**RPC Function:** `GetAccount`\n\n**Optional fields (from add-on):** `account`", "rpc": "GetAccount", "operation_id": "acct", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}], "request_body_schema": null}, {"method": "GET", "path": "/v1/api/accounts/{account}/position", "tag": "Accounts", "summary": "Get Position by Account + Instrument (instrument URL-encoded)", "description": "**RPC Function:** `GetPosition`\n\n**Optional fields (from add-on):** `account`, `instrument`", "rpc": "GetPosition", "operation_id": "get_position", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}, {"name": "instrument", "in": "query", "required": true, "description": ""}], "request_body_schema": null}, {"method": "GET", "path": "/v1/api/accounts/{account}/quote", "tag": "Accounts", "summary": "Get Quote", "description": "**RPC Function:** `GetQuote`\n\n**Optional fields (from add-on):** `instrument`, `root`, `showRollover`", "rpc": "GetQuote", "operation_id": "get_quote", "parameters": [{"name": "instrument", "in": "query", "required": true, "description": ""}, {"name": "root", "in": "query", "required": true, "description": ""}, {"name": "showRollover", "in": "query", "required": false, "description": ""}], "request_body_schema": null}, {"method": "GET", "path": "/v1/api/accounts/{account}/watermarks", "tag": "Accounts", "summary": "Get Watermarks (per-account high/low water marks)", "description": "**RPC Function:** `GetWatermarks`", "rpc": "GetWatermarks", "operation_id": "handle_get_watermarks", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}], "request_body_schema": null}, {"method": "GET", "path": "/v1/api/accounts/{account}/executions", "tag": "Executions", "summary": "Get Executions by Account", "description": "**RPC Function:** `ListExecutions`", "rpc": "ListExecutions", "operation_id": "list_executions", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}, {"name": "lookbackTime", "in": "query", "required": false, "description": ""}], "request_body_schema": null}, {"method": "GET", "path": "/v1/api/accounts/{account}/executions/{id}", "tag": "Executions", "summary": "Get Execution by ID", "description": "**RPC Function:** `GetExecution`", "rpc": "GetExecution", "operation_id": "get_execution", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}, {"name": "id", "in": "path", "required": true, "description": "Resource ID"}], "request_body_schema": null}, {"method": "GET", "path": "/v1/api/executions/order/{orderId}", "tag": "Executions", "summary": "Get Executions by Order ID (matches both current and original/initial order ID)", "description": "**RPC Function:** `GetExecutionsByOrderId`\n\n**Optional fields (from add-on):** `orderId`", "rpc": "GetExecutionsByOrderId", "operation_id": "get_executions_by_order_id", "parameters": [{"name": "orderId", "in": "path", "required": true, "description": "Order ID"}], "request_body_schema": null}, {"method": "GET", "path": "/v1/api/atm-templates", "tag": "General", "summary": "Get All ATM Templates", "description": "**RPC Function:** `GetAtmTemplates`", "rpc": "GetAtmTemplates", "operation_id": "get_templates", "parameters": [], "request_body_schema": null}, {"method": "POST", "path": "/v1/api/market/bars", "tag": "Market Data", "summary": "Get historical bars", "description": "**RPC Function:** `GetBars`\n\n**Optional fields (from add-on):** `periodType`, `period`, `daysBack`, `from`, `to`, `limit`, `splitAdjust`, `dividendAdjust`, `mergePolicy`", "rpc": "GetBars", "operation_id": "bars", "parameters": [], "request_body_schema": {"type": "object", "properties": {"daysBack": {"type": "integer"}, "dividendAdjust": {"type": "boolean"}, "from": {"type": "string"}, "instrument": {"type": "string"}, "limit": {"type": "integer"}, "mergePolicy": {"type": "string"}, "period": {"type": "integer"}, "periodType": {"type": "string"}, "splitAdjust": {"type": "boolean"}, "to": {"type": "string"}}, "required": ["instrument"]}}, {"method": "GET", "path": "/v1/api/market/info", "tag": "Market Data", "summary": "Get Market Info", "description": "**RPC Function:** `MarketInfo`\n\n**Optional fields (from add-on):** `instrument`, `root`", "rpc": "MarketInfo", "operation_id": "get_market_info", "parameters": [{"name": "instrument", "in": "query", "required": true, "description": ""}, {"name": "root", "in": "query", "required": true, "description": ""}], "request_body_schema": null}, {"method": "GET", "path": "/v1/api/market/quote", "tag": "Market Data", "summary": "Get Quote", "description": "**RPC Function:** `GetQuote`\n\n**Optional fields (from add-on):** `instrument`, `root`, `showRollover`", "rpc": "GetQuote", "operation_id": "get_quote", "parameters": [{"name": "instrument", "in": "query", "required": true, "description": ""}, {"name": "root", "in": "query", "required": true, "description": ""}, {"name": "showRollover", "in": "query", "required": false, "description": ""}], "request_body_schema": null}, {"method": "GET", "path": "/v1/api/accounts/{account}/orders", "tag": "Orders", "summary": "List Active/Orders in Account", "description": "**RPC Function:** `ListOrders`\n\n**Optional fields (from add-on):** `account`, `lookbackTime`, `activeOnly`", "rpc": "ListOrders", "operation_id": "list_orders", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}, {"name": "activeOnly", "in": "query", "required": false, "description": ""}], "request_body_schema": null}, {"method": "POST", "path": "/v1/api/accounts/{account}/orders/cancel", "tag": "Orders", "summary": "Cancel Orders by Account + Instrument", "description": "**RPC Function:** `CancelOrders`\n\n**Optional fields (from add-on):** `account`, `instrument`, `strategyTag`, `force`", "rpc": "CancelOrders", "operation_id": "cancel_orders", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}], "request_body_schema": {"type": "object", "properties": {"force": {"type": "boolean"}, "instrument": {"type": "string"}, "strategyTag": {"type": "string"}}}}, {"method": "POST", "path": "/v1/api/accounts/{account}/orders/cancel_and_bracket", "tag": "Orders", "summary": "Cancel existing orders and immediately place new OCO Bracket (TP/SL)", "description": "{\n      \"api\": \"CancelAndBracket\",\n      \"args\": {\n        \"account\": \"Sim101\",\n        \"instrument\": \"ES 03-26\",\n        \"action\": \"Sell\",\n        \"quantity\": 1,\n        \"takeProfit\": 4550.00,\n        \"stopLoss\": 4450.00,\n        \"ocoId\": \"Protect_Long_001\"\n      }\n    }\n\n**RPC Function:** `CancelAndBracket`\n\n**Optional fields (from add-on):** `takeProfit`, `stopLoss`, `delayMs`, `strategyTag`, `force`, `ocoId`", "rpc": "CancelAndBracket", "operation_id": "cancel_and_bracket", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}], "request_body_schema": {"type": "object", "properties": {"action": {"type": "string"}, "delayMs": {"type": "integer"}, "force": {"type": "boolean"}, "instrument": {"type": "string"}, "ocoId": {"type": "string"}, "quantity": {"type": "integer"}, "stopLoss": {"type": "number"}, "strategyTag": {"type": "string"}, "takeProfit": {"type": "number"}}, "required": ["action", "instrument", "quantity"]}}, {"method": "POST", "path": "/v1/api/accounts/{account}/orders/flatplace", "tag": "Orders", "summary": "Flat Place Order", "description": "**RPC Function:** `FlatPlace`\n\n**Optional fields (from add-on):** `account`, `instrument`, `strategyTag`, `force`, `action`, `quantity`", "rpc": "FlatPlace", "operation_id": "flat_place_order", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}], "request_body_schema": {"type": "object", "properties": {"action": {"type": "string"}, "force": {"type": "boolean"}, "instrument": {"type": "string"}, "quantity": {"type": "integer"}, "strategyTag": {"type": "string"}}}}, {"method": "POST", "path": "/v1/api/accounts/{account}/orders/place", "tag": "Orders", "summary": "Place Order", "description": "**RPC Function:** `PlaceOrder`\n\n**Optional fields (from add-on):** `targetQuantity`, `stopPrice`, `limitPrice`, `ocoId`, `strategy`, `orderId`, `strategyTag`, `force`, `requireMarketPosition`, `maxPositions`, `smartOptions`", "rpc": "PlaceOrder", "operation_id": "place_order", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}], "request_body_schema": {"type": "object", "properties": {"action": {"type": "string"}, "force": {"type": "boolean"}, "instrument": {"type": "string"}, "limitPrice": {"type": "number"}, "maxPositions": {"type": "integer"}, "ocoId": {"type": "string"}, "orderId": {"type": "string"}, "orderType": {"type": "string"}, "quantity": {"type": "integer"}, "requireMarketPosition": {"type": "string"}, "smartOptions": {"type": "object"}, "stopPrice": {"type": "number"}, "strategy": {"type": "string"}, "strategyTag": {"type": "string"}, "targetQuantity": {"type": "integer"}, "timeInForce": {"type": "string"}}, "required": ["action", "instrument", "orderType", "quantity", "timeInForce"]}}, {"method": "GET", "path": "/v1/api/accounts/{account}/orders/{id}", "tag": "Orders", "summary": "Get Order by ID", "description": "**RPC Function:** `GetOrder`\n\n**Optional fields (from add-on):** `orderId`", "rpc": "GetOrder", "operation_id": "get_order", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}, {"name": "id", "in": "path", "required": true, "description": "Resource ID"}], "request_body_schema": null}, {"method": "POST", "path": "/v1/api/accounts/{account}/orders/{id}/cancel", "tag": "Orders", "summary": "Cancel Order by ID", "description": "**RPC Function:** `Cancel`\n\n**Optional fields (from add-on):** `strategyId`, `account`, `strategyTag`, `force`", "rpc": "Cancel", "operation_id": "cancel_order", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}, {"name": "id", "in": "path", "required": true, "description": "Resource ID"}], "request_body_schema": null}, {"method": "PUT", "path": "/v1/api/accounts/{account}/orders/{id}/change", "tag": "Orders", "summary": "Change Order", "description": "**RPC Function:** `Change`\n\n**Optional fields (from add-on):** `limitPrice`, `stopPrice`, `quantity`, `strategyId`, `account`, `strategyTag`, `force`", "rpc": "Change", "operation_id": "change_order", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}, {"name": "id", "in": "path", "required": true, "description": "Resource ID"}], "request_body_schema": {"type": "object", "properties": {"force": {"type": "boolean"}, "limitPrice": {"type": "number"}, "orderId": {"type": "string"}, "quantity": {"type": "integer"}, "stopPrice": {"type": "number"}, "strategyId": {"type": "string"}, "strategyTag": {"type": "string"}}, "required": ["orderId"]}}, {"method": "POST", "path": "/v1/api/accounts/{account}/orders/{id}/replace", "tag": "Orders", "summary": "Cancel Replace Order", "description": "**RPC Function:** `CancelReplace`\n\n**Optional fields (from add-on):** `strategyTag`, `force`", "rpc": "CancelReplace", "operation_id": "cancel_replace_order", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}, {"name": "id", "in": "path", "required": true, "description": "Resource ID"}], "request_body_schema": {"type": "object", "properties": {"action": {"type": "string"}, "force": {"type": "boolean"}, "instrument": {"type": "string"}, "orderId": {"type": "string"}, "orderType": {"type": "string"}, "quantity": {"type": "string"}, "strategyTag": {"type": "string"}, "timeInForce": {"type": "string"}}, "required": ["action", "instrument", "orderId", "orderType", "quantity", "timeInForce"]}}, {"method": "GET", "path": "/v1/api/accounts/{account}/orders/{id}/status", "tag": "Orders", "summary": "Get Order Status by ID", "description": "**RPC Function:** `GetOrderStatus`", "rpc": "GetOrderStatus", "operation_id": "get_order_status", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}, {"name": "id", "in": "path", "required": true, "description": "Resource ID"}], "request_body_schema": null}, {"method": "GET", "path": "/v1/api/orders", "tag": "Orders", "summary": "Get All Orders (Across all accounts)", "description": "**RPC Function:** `GetAllOrders`\n\n**Optional fields (from add-on):** `lookbackTime`", "rpc": "GetAllOrders", "operation_id": "get_all_orders", "parameters": [{"name": "activeOnly", "in": "query", "required": false, "description": ""}, {"name": "lookbackTime", "in": "query", "required": true, "description": ""}], "request_body_schema": null}, {"method": "POST", "path": "/v1/api/orders/cancelall", "tag": "Orders", "summary": "Cancel All Orders in All Accounts", "description": "**RPC Function:** `CancelAllOrders`", "rpc": "CancelAllOrders", "operation_id": "cancel_all_orders", "parameters": [], "request_body_schema": null}, {"method": "GET", "path": "/v1/api/accounts/{account}/positions", "tag": "Positions", "summary": "List Active Positions in Account", "description": "**RPC Function:** `ListPositions`\n\n**Optional fields (from add-on):** `account`", "rpc": "ListPositions", "operation_id": "list_positions", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}], "request_body_schema": null}, {"method": "POST", "path": "/v1/api/accounts/{account}/positions/close", "tag": "Positions", "summary": "Close Position (account, instrument)", "description": "**RPC Function:** `ClosePosition`\n\n**Optional fields (from add-on):** `strategyTag`, `force`, `quantity`, `percent`", "rpc": "ClosePosition", "operation_id": "close_position", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}], "request_body_schema": {"type": "object", "properties": {"force": {"type": "boolean"}, "instrument": {"type": "string"}, "percent": {"type": "number"}, "quantity": {"type": "integer"}, "strategyTag": {"type": "string"}}, "required": ["instrument"]}}, {"method": "POST", "path": "/v1/api/accounts/{account}/positions/flatten", "tag": "Positions", "summary": "Flatten Positions in 1 account (account, instrument)", "description": "**RPC Function:** `Flatten`\n\n**Optional fields (from add-on):** `account`, `instrument`, `cancelOrders`, `strategyTag`, `strategyTagMode`, `force`", "rpc": "Flatten", "operation_id": "flatten_position", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}], "request_body_schema": {"type": "object", "properties": {"cancelOrders": {"type": "boolean"}, "force": {"type": "boolean"}, "instrument": {"type": "string"}, "strategyTag": {"type": "string"}, "strategyTagMode": {"type": "string"}}}}, {"method": "POST", "path": "/v1/api/accounts/{account}/positions/reverse", "tag": "Positions", "summary": "Reverse", "description": "**RPC Function:** `Reverse`\n\n**Optional fields (from add-on):** `strategyTag`, `force`", "rpc": "Reverse", "operation_id": "reverse", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}], "request_body_schema": {"type": "object", "properties": {"force": {"type": "boolean"}, "instrument": {"type": "string"}, "strategyTag": {"type": "string"}}, "required": ["instrument"]}}, {"method": "POST", "path": "/v1/api/accounts/{account}/positions/reverseposition", "tag": "Positions", "summary": "Reverse Position (account, instrument, action, orderType, quantity, timeInForce, limitPrice, stopPrice, ocoId, strategy)", "description": "**RPC Function:** `ReversePosition`\n\n**Optional fields (from add-on):** `account`, `instrument`, `strategyTag`, `force`, `action`, `quantity`", "rpc": "ReversePosition", "operation_id": "reverse_position", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}], "request_body_schema": {"type": "object", "properties": {"action": {"type": "string"}, "force": {"type": "boolean"}, "instrument": {"type": "string"}, "quantity": {"type": "integer"}, "strategyTag": {"type": "string"}}}}, {"method": "GET", "path": "/v1/api/positions", "tag": "Positions", "summary": "Get All Open Positions (Across all accounts)", "description": "**RPC Function:** `GetAllPositions`\n\n**Optional fields (from add-on):** `includeFlat`", "rpc": "GetAllPositions", "operation_id": "get_all_positions", "parameters": [{"name": "includeFlat", "in": "query", "required": false, "description": ""}], "request_body_schema": null}, {"method": "POST", "path": "/v1/api/positions/flatten", "tag": "Positions", "summary": "Flatten All Positions in All Accounts", "description": "**RPC Function:** `Flatten`\n\n**Optional fields (from add-on):** `account`, `instrument`, `cancelOrders`, `strategyTag`, `strategyTagMode`, `force`", "rpc": "Flatten", "operation_id": "flatten_everything", "parameters": [], "request_body_schema": {"type": "object", "properties": {"account": {"type": "string"}, "cancelOrders": {"type": "boolean"}, "force": {"type": "boolean"}, "instrument": {"type": "string"}, "strategyTag": {"type": "string"}, "strategyTagMode": {"type": "string"}}}}, {"method": "GET", "path": "/v1/api/accounts/{account}/strategies", "tag": "Strategies", "summary": "Get Active Strategies in Account", "description": "**RPC Function:** `ListStrategies`", "rpc": "ListStrategies", "operation_id": "list_strats", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}], "request_body_schema": null}, {"method": "GET", "path": "/v1/api/accounts/{account}/strategies/{id}", "tag": "Strategies", "summary": "Get Strategy by ID", "description": "**RPC Function:** `GetStrategy`\n\n**Optional fields (from add-on):** `strategyId`", "rpc": "GetStrategy", "operation_id": "get_strat", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}, {"name": "id", "in": "path", "required": true, "description": "Resource ID"}], "request_body_schema": null}, {"method": "POST", "path": "/v1/api/accounts/{account}/strategies/{id}/close", "tag": "Strategies", "summary": "Close Strategy by ID", "description": "**RPC Function:** `CloseStrategy`\n\n**Optional fields (from add-on):** `strategyId`, `signalName`, `strategyTag`, `force`", "rpc": "CloseStrategy", "operation_id": "close_strat", "parameters": [{"name": "account", "in": "path", "required": true, "description": "Account name (e.g., \"Sim101\")"}, {"name": "id", "in": "path", "required": true, "description": "Resource ID"}], "request_body_schema": null}]}