get_order_history
Retrieve detailed order history by category, symbol, time range, and status. Use this tool to analyze past trades, manage accounts, and validate positions within the Bybit exchange ecosystem.
Instructions
Get order history
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | Category (spot, linear, inverse, etc.) | |
| endTime | No | End time in milliseconds | |
| limit | No | Number of orders to retrieve | |
| orderFilter | No | Order filter | |
| orderId | No | Order ID | |
| orderLinkId | No | Order link ID | |
| orderStatus | No | Order status | |
| startTime | No | Start time in milliseconds | |
| symbol | No | Symbol (e.g., BTCUSDT) |
Implementation Reference
- src/bybit-service.ts:344-365 (handler)Core handler implementation that builds request parameters and calls Bybit's /v5/order/history API endpoint to retrieve order history.async getOrderHistory( category: string, symbol?: string, orderId?: string, orderLinkId?: string, orderFilter?: string, orderStatus?: string, startTime?: number, endTime?: number, limit: number = 50 ): Promise<BybitResponse<{ list: Order[] }> | { error: string }> { const params: any = { category, limit }; if (symbol) params.symbol = symbol; if (orderId) params.orderId = orderId; if (orderLinkId) params.orderLinkId = orderLinkId; if (orderFilter) params.orderFilter = orderFilter; if (orderStatus) params.orderStatus = orderStatus; if (startTime) params.startTime = startTime; if (endTime) params.endTime = endTime; return this.makeBybitRequest('/v5/order/history', 'GET', params); }
- src/index.ts:848-868 (handler)MCP server dispatch handler that extracts arguments from tool call request and delegates execution to BybitService.getOrderHistory.case 'get_order_history': { const result = await this.bybitService.getOrderHistory( typedArgs.category, typedArgs.symbol, typedArgs.orderId, typedArgs.orderLinkId, typedArgs.orderFilter, typedArgs.orderStatus, typedArgs.startTime, typedArgs.endTime, typedArgs.limit ); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; }
- src/index.ts:303-349 (registration)Tool registration in the ListTools response, including name, description, and detailed input schema definition.{ name: 'get_order_history', description: 'Get order history', inputSchema: { type: 'object', properties: { category: { type: 'string', description: 'Category (spot, linear, inverse, etc.)', }, symbol: { type: 'string', description: 'Symbol (e.g., BTCUSDT)', }, orderId: { type: 'string', description: 'Order ID', }, orderLinkId: { type: 'string', description: 'Order link ID', }, orderFilter: { type: 'string', description: 'Order filter', }, orderStatus: { type: 'string', description: 'Order status', }, startTime: { type: 'number', description: 'Start time in milliseconds', }, endTime: { type: 'number', description: 'End time in milliseconds', }, limit: { type: 'number', description: 'Number of orders to retrieve', default: 50, }, }, required: ['category'], }, },
- src/index.ts:306-349 (schema)Input schema definition for the get_order_history tool, specifying properties, descriptions, defaults, and required fields.inputSchema: { type: 'object', properties: { category: { type: 'string', description: 'Category (spot, linear, inverse, etc.)', }, symbol: { type: 'string', description: 'Symbol (e.g., BTCUSDT)', }, orderId: { type: 'string', description: 'Order ID', }, orderLinkId: { type: 'string', description: 'Order link ID', }, orderFilter: { type: 'string', description: 'Order filter', }, orderStatus: { type: 'string', description: 'Order status', }, startTime: { type: 'number', description: 'Start time in milliseconds', }, endTime: { type: 'number', description: 'End time in milliseconds', }, limit: { type: 'number', description: 'Number of orders to retrieve', default: 50, }, }, required: ['category'], }, },