# List Order History

Retrieves historical orders within a specified date range (default: last 7 days). If orders are group orders, they will be returned together, and the number of orders returned on one page may exceed the page_size. This endpoint may not return the most recent order data in real time due to processing delays. To ensure you get the latest order status, please query the Order Detail endpoint by client_order_id.

# OpenAPI definition

```json
{
  "info": {
    "title": "Webull Open API Reference",
    "description": "application.yml\\ncom\\ni18n\\nMETA-INF\\nstatic\\n\\r\\n",
    "contact": {
      "name": "",
      "url": "",
      "email": ""
    },
    "version": "2.0",
    "x-logo": {
      "url": "static/png/logo.png"
    }
  },
  "servers": [
    {
      "url": "https://broker-api.sandbox.webull.com"
    }
  ],
  "path": "/broker/orders/historical-orders/list",
  "method": "get",
  "tags": [
    "Orders"
  ],
  "description": "Retrieves historical orders within a specified date range (default: last 7 days). If orders are group orders, they will be returned together, and the number of orders returned on one page may exceed the page_size. This endpoint may not return the most recent order data in real time due to processing delays. To ensure you get the latest order status, please query the Order Detail endpoint by client_order_id.",
  "operationId": "orderHistory",
  "parameters": [
    {
      "name": "account_id",
      "in": "query",
      "description": "Account identifier",
      "required": true,
      "schema": {
        "type": "String"
      },
      "example": "93IUJ28O9VO2KBGHDHR4H9"
    },
    {
      "name": "start_date",
      "in": "query",
      "description": "The start date of the query period.<br/> If not provided, the default query period is the last 7 days.<br/> Users can specify an earlier date, but the maximum allowed look-back period is 2 years.<br/> Format: yyyy-MM-dd.",
      "required": false,
      "schema": {
        "type": "String"
      },
      "example": "2025-09-25"
    },
    {
      "name": "end_date",
      "in": "query",
      "description": "The end date of the query period.<br/> If not provided, the default query period is the last 7 days.<br/> Users can specify an earlier date, but the maximum allowed look-back period is 2 years.<br/> Format: yyyy-MM-dd.",
      "required": false,
      "schema": {
        "type": "String"
      },
      "example": "2025-10-25"
    },
    {
      "name": "pagination_key",
      "in": "query",
      "description": "Pagination key from previous response for next page.",
      "required": false,
      "schema": {
        "type": "String"
      },
      "example": "eyJ2IjoxLCJsYXN0SWQiOiI5MTMyNDQ3NjkiLCJwYWdlSW===="
    },
    {
      "name": "x-app-key",
      "in": "header",
      "description": "A unique identifier issued to a developer for accessing an application's API.",
      "required": true,
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "x-app-secret",
      "in": "header",
      "description": "A unique key issued to developers to access the application's API.",
      "required": true,
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "x-timestamp",
      "in": "header",
      "description": "Timestamp of the request, follows ISO8601 format: YYYY-MM-DDThh:mm:ssZ, e.g. 2023-07-16T19:23:51Z, only supports UTC time zone.",
      "required": true,
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "x-signature-version",
      "in": "header",
      "description": "Signature algorithm version, default is 1.0.",
      "required": true,
      "schema": {
        "type": "string",
        "default": "1.0"
      },
      "examples": {
        "1.0": {
          "value": "1.0"
        }
      }
    },
    {
      "name": "x-signature-algorithm",
      "in": "header",
      "description": "Signature algorithm, default is HMAC-SHA1.",
      "required": true,
      "schema": {
        "type": "string",
        "default": "HMAC-SHA1"
      },
      "examples": {
        "HMAC-SHA1": {
          "value": "HMAC-SHA1"
        }
      }
    },
    {
      "name": "x-signature-nonce",
      "in": "header",
      "description": "Signature unique random number.",
      "required": true,
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "x-version",
      "in": "header",
      "description": "API interface version. Supported values: `v2`, `v3`.",
      "required": true,
      "schema": {
        "type": "string",
        "default": "v3"
      },
      "examples": {
        "v3": {
          "value": "v3"
        }
      }
    },
    {
      "name": "x-signature",
      "in": "header",
      "description": "A signature is a unique digital fingerprint, typically encrypted, that verifies the authenticity and integrity of a message or transaction, ensuring it has not been tampered with during transmission.",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "OK",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "data": {
                "type": "array",
                "description": "Result data list",
                "items": {
                  "required": [
                    "combo_type",
                    "orders"
                  ],
                  "type": "object",
                  "properties": {
                    "client_order_id": {
                      "type": "string",
                      "description": "Client-defined order identifier. Returned in the response for simple orders.<br/> Represents the unique order ID assigned by the user when placing the order.",
                      "example": "THI82O5JB7MQ2K76LL5FSDS2CB"
                    },
                    "combo_type": {
                      "type": "string",
                      "description": "Type of order combination.<br/> &bull; NORMAL: Indicates a standard single order",
                      "example": "NORMAL"
                    },
                    "orders": {
                      "type": "array",
                      "description": "Order Details",
                      "items": {
                        "required": [
                          "client_order_id",
                          "entrust_type",
                          "order_id",
                          "order_type",
                          "place_time_at",
                          "side",
                          "status",
                          "symbol",
                          "time_in_force",
                          "total_quantity"
                        ],
                        "type": "object",
                        "properties": {
                          "client_order_id": {
                            "type": "string",
                            "description": "Client-defined order identifier. Returned in the response for simple orders.<br/> Represents the unique order ID assigned by the user when placing the order.",
                            "example": "THI82O5JB7MQ2K76LL5FSDS2CB"
                          },
                          "order_id": {
                            "type": "string",
                            "description": "System-generated order identifier. Returned in the response for simple orders.<br/> Represents the unique Webull order ID assigned by the system.",
                            "example": "0352U72LQI6DT0KF41GK000000"
                          },
                          "symbol": {
                            "type": "string",
                            "description": "Trading symbol of the financial instrument.Represents the unique identifier of the security in the specified market.",
                            "example": "AAPL"
                          },
                          "side": {
                            "type": "string",
                            "description": "The order side indicating the intended trading direction of the transaction. <br/> The meaning of side may vary depending on the instrument_type and account type (e.g., margin vs. cash).<br/> Event trading supports BUY and SELL sides only.<br/> Equity trading supports BUY, SELL, and SHORT sides.",
                            "example": "BUY",
                            "enum": [
                              "BUY",
                              "SELL",
                              "SHORT"
                            ]
                          },
                          "status": {
                            "type": "string",
                            "description": "&bull; PENDING: Indicates that the order has been submitted to the exchange and is awaiting completion<br/> &bull; SUBMITTED: Indicates that the order has been submitted to the exchange or webull<br/> &bull; CANCELLED: Indicates that the order has been successfully cancelled<br/> &bull; FILLED: Indicates that the order has been fully executed<br/> &bull; FAILED: Indicates a failed order, such as REJECTED<br/> &bull; PARTIAL_FILLED: Refers to the portion of the order that has been completed, but not all of it has been completed",
                            "example": "SUBMITTED",
                            "enum": [
                              "PENDING",
                              "SUBMITTED",
                              "CANCELLED",
                              "FILLED",
                              "FAILED",
                              "PARTIAL_FILLED"
                            ]
                          },
                          "order_type": {
                            "type": "string",
                            "description": "Specifies the type of order to be placed. Determines how the order will be executed in the market.<br/>Available order types depend on the market and instrument type.<br/>For equity trading support all order types listed below.<br/>&nbsp; &bull; <b>LIMIT:</b> Limit Order<br/>&nbsp; &bull; <b>MARKET:</b> Market Order<br/>&nbsp; &bull; <b>STOP_LOSS:</b> Stop Order<br/>&nbsp; &bull; <b>STOP_LOSS_LIMIT:</b> Stop Limit Order<br/>&nbsp; &bull; <b>TRAILING_STOP_LOSS:</b> Trailing Stop Order<br/>For event trading: <br/>&nbsp; &bull; Supported order types: LIMIT.<br/> ",
                            "example": "MARKET",
                            "enum": [
                              "MARKET",
                              "LIMIT",
                              "STOP_LOSS",
                              "STOP_LOSS_LIMIT",
                              "TRAILING_STOP_LOSS"
                            ]
                          },
                          "instrument_type": {
                            "type": "string",
                            "description": "Type of financial instrument associated with the request.",
                            "example": "EQUITY",
                            "enum": [
                              "EQUITY",
                              "EVENT"
                            ]
                          },
                          "support_trading_session": {
                            "type": "string",
                            "description": "Specifies the trading session for the order. Applicable to U.S. stock market orders only.<br/> &bull; NIGHT: Only supports night trading.<br/> &bull; ALL: Include extended trading hours.<br/> &bull; CORE: Only support regular trading hours.",
                            "example": "CORE",
                            "enum": [
                              "ALL",
                              "CORE",
                              "NIGHT"
                            ]
                          },
                          "entrust_type": {
                            "type": "string",
                            "description": "Specifies the method for placing the order.<br/> &bull; QTY: Order specified by quantity of shares or units.<br/> &bull; AMOUNT: Order specified by total cash amount. Supported for U.S. stock trading and Event Contract trading. When placing Event Contract orders using AMOUNT, only BUY orders are supported (side=BUY), and time_in_force must be FOK.",
                            "example": "QTY",
                            "enum": [
                              "QTY",
                              "AMOUNT"
                            ]
                          },
                          "time_in_force": {
                            "type": "string",
                            "description": "Specifies the duration for which the order remains active in the market (Time-In-Force).<br/> Event trading supports the following Time in Force (TIF) values: DAY, GTC, IOC, GTD, and FOK.<br/> U.S. Equity trading support the following Time in Force (TIF) values: DAY and GTC.<br/> &bull; DAY: The order is valid only for the current trading day and expires at the end of the day.<br/> &bull; GTC: Good-Till-Canceled, the order remains active until it is executed, explicitly canceled, or reaches the maximum allowed duration (typically 60 days).<br/> &bull; IOC: Immediate-Or-Cancel, the order attempts to execute immediately. Any portion that can be filled right away will be executed; any unfilled remainder is immediately cancelled.<br/> &bull; GTD: order that will automatically expire and be cancelled at a specific future date and time.<br/> &bull; FOK: Fill or Kill. The order must be filled in its entirety immediately; otherwise, the entire order will be canceled.",
                            "example": "DAY",
                            "enum": [
                              "DAY",
                              "GTC",
                              "IOC",
                              "GTD",
                              "FOK"
                            ]
                          },
                          "expire_date": {
                            "type": "string",
                            "description": "GTD order expire date. format (UTC). The value must be in yyyy-MM-dd format",
                            "example": "2026-12-01"
                          },
                          "total_cash_amount": {
                            "type": "string",
                            "description": "The total order amount is currently only applicable to US stock fractional share transactions and when the order is placed by amount.",
                            "example": "100.4"
                          },
                          "total_quantity": {
                            "type": "string",
                            "description": "Total order quantity. Represents the total number of units submitted for this order.",
                            "example": "1"
                          },
                          "filled_quantity": {
                            "type": "string",
                            "description": "Quantity that has been executed. Represents the number of units that have been filled so far.",
                            "example": "1"
                          },
                          "filled_price": {
                            "type": "string",
                            "description": "Average transaction price of the filled quantity. If the order has not been executed yet, this may be zero or null.",
                            "example": "11.0"
                          },
                          "limit_price": {
                            "type": "string",
                            "description": "Limit Price",
                            "example": "11.0"
                          },
                          "stop_price": {
                            "type": "string",
                            "description": "Stop Price",
                            "example": "11.0"
                          },
                          "trailing_type": {
                            "type": "string",
                            "description": "When market continues to fall, the stop price to buy follows, or trails, the lowest price of a stock by a trail that you set. <br/> &bull; AMOUNT: By amount. <br/> &bull; PERCENTAGE: By percentage.",
                            "example": "AMOUNT",
                            "enum": [
                              "PERCENTAGE",
                              "AMOUNT"
                            ]
                          },
                          "trailing_stop_step": {
                            "type": "string",
                            "description": "Trailing spread. When trailing_type is PERCENTAGE, the value must be greater than or equal to 0.01 and cannot exceed 1.0, and it represents a percentage in decimal form (e.g., 1.0 = 100%, 0.1 = 10%, 0.01 = 1%).",
                            "example": "1"
                          },
                          "place_time": {
                            "type": "string",
                            "description": "Order placement time in milliseconds since Unix epoch.",
                            "example": "1726745361658",
                            "deprecated": true
                          },
                          "place_time_at": {
                            "type": "string",
                            "description": "Order placement time in ISO8601 format (UTC). Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                            "example": "2025-11-11T05:44:35.385Z"
                          },
                          "filled_time": {
                            "type": "string",
                            "description": "Time of the last executed trade in milliseconds since Unix epoch.",
                            "example": "1726745361871",
                            "deprecated": true
                          },
                          "filled_time_at": {
                            "type": "string",
                            "description": "Time of the last executed trade in ISO8601 format (UTC). Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                            "example": "2025-11-11T05:44:35.385Z"
                          },
                          "event_outcome": {
                            "type": "string",
                            "description": "Event outcome decision, only applicable to event orders.",
                            "example": "yes",
                            "enum": [
                              "yes",
                              "no"
                            ]
                          },
                          "event_trade_mode": {
                            "type": "string",
                            "description": "Specifies how the order quantity is expressed for event contract trading. Only applicable to event orders. When this field is set, the order executes at the best available market price; the limit_price field is ignored.<br/> &bull; TRADE_IN_AMOUNT: Specifies how the order quantity is expressed for event contract trading. When this field is set, the order executes at the best available market price.<br/> &bull; TRADE_IN_CONTRACT: The order is specified by the number of contracts the user wants to buy or sell at the best available market price. Requires quantity field.",
                            "example": "TRADE_IN_AMOUNT",
                            "enum": [
                              "TRADE_IN_AMOUNT",
                              "TRADE_IN_CONTRACT"
                            ]
                          },
                          "commission": {
                            "type": "object",
                            "properties": {
                              "actual_commission": {
                                "type": "string",
                                "description": "Actual commission collected",
                                "example": "1.0"
                              },
                              "receivable_commission": {
                                "type": "string",
                                "description": "Receivable commission",
                                "example": "1.0"
                              }
                            },
                            "description": "Commission breakdown",
                            "title": "CommonCommissionResultVO"
                          },
                          "fees": {
                            "type": "array",
                            "description": "Fee breakdown",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "description": "Fee type",
                                  "example": "FINRA_CAT_REGULATORY_FEE"
                                },
                                "actual_value": {
                                  "type": "string",
                                  "description": "Actual fee collected",
                                  "example": "1.0"
                                },
                                "receivable_value": {
                                  "type": "string",
                                  "description": "Receivable fee",
                                  "example": "1.0"
                                }
                              },
                              "description": "Fee breakdown",
                              "title": "CommonFeeResultVO"
                            }
                          }
                        },
                        "description": "Order Details",
                        "title": "OrderDetailItem"
                      }
                    }
                  },
                  "description": "Result data list",
                  "title": "OrderListResult"
                }
              },
              "pagination_key": {
                "type": "string",
                "description": "Pagination key for next page. If absent, indicates this is the last page.",
                "example": "eyJ2IjoxLCJsYXN0SWQiOiI5MTMyNDQ3NjkiLCJwYWdlSW===="
              }
            },
            "description": "Paginated result with cursor-based pagination",
            "title": "PaginatedResultVoOrderListResult"
          }
        }
      }
    },
    "401": {
      "description": "Unauthorized: Authentication required",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "error_code": {
                "type": "string",
                "description": "Internal logic error code",
                "example": "UNAUTHORIZED"
              },
              "message": {
                "type": "string",
                "description": "Error message",
                "example": "Insufficient permission"
              }
            }
          }
        }
      }
    },
    "417": {
      "description": "A business logic error triggered when the request cannot be processed due to domain-specific constraints.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "error_code": {
                "type": "string",
                "description": "Internal logic error code",
                "example": "INVALID_PARAMETER"
              },
              "message": {
                "type": "string",
                "description": "Error message",
                "example": "Parameter error, phone"
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "Internal Server Error.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "error_code": {
                "type": "string",
                "description": "Internal logic error code",
                "example": "SYSTEM_ERROR"
              },
              "message": {
                "type": "string",
                "description": "Error message",
                "example": "Internal Server Error"
              }
            }
          }
        }
      }
    }
  },
  "postman": {
    "name": "List Order History",
    "description": {
      "content": "Retrieves historical orders within a specified date range (default: last 7 days). If orders are group orders, they will be returned together, and the number of orders returned on one page may exceed the page_size. This endpoint may not return the most recent order data in real time due to processing delays. To ensure you get the latest order status, please query the Order Detail endpoint by client_order_id.",
      "type": "text/plain"
    },
    "url": {
      "path": [
        "broker",
        "orders",
        "historical-orders",
        "list"
      ],
      "host": [
        "{{baseUrl}}"
      ],
      "query": [
        {
          "disabled": false,
          "description": {
            "content": "(Required) Account identifier",
            "type": "text/plain"
          },
          "key": "account_id",
          "value": ""
        },
        {
          "disabled": false,
          "description": {
            "content": "The start date of the query period.<br/> If not provided, the default query period is the last 7 days.<br/> Users can specify an earlier date, but the maximum allowed look-back period is 2 years.<br/> Format: yyyy-MM-dd.",
            "type": "text/plain"
          },
          "key": "start_date",
          "value": ""
        },
        {
          "disabled": false,
          "description": {
            "content": "The end date of the query period.<br/> If not provided, the default query period is the last 7 days.<br/> Users can specify an earlier date, but the maximum allowed look-back period is 2 years.<br/> Format: yyyy-MM-dd.",
            "type": "text/plain"
          },
          "key": "end_date",
          "value": ""
        },
        {
          "disabled": false,
          "description": {
            "content": "Pagination key from previous response for next page.",
            "type": "text/plain"
          },
          "key": "pagination_key",
          "value": ""
        }
      ],
      "variable": []
    },
    "header": [
      {
        "disabled": false,
        "description": {
          "content": "(Required) A unique identifier issued to a developer for accessing an application's API.",
          "type": "text/plain"
        },
        "key": "x-app-key",
        "value": ""
      },
      {
        "disabled": false,
        "description": {
          "content": "(Required) A unique key issued to developers to access the application's API.",
          "type": "text/plain"
        },
        "key": "x-app-secret",
        "value": ""
      },
      {
        "disabled": false,
        "description": {
          "content": "(Required) Timestamp of the request, follows ISO8601 format: YYYY-MM-DDThh:mm:ssZ, e.g. 2023-07-16T19:23:51Z, only supports UTC time zone.",
          "type": "text/plain"
        },
        "key": "x-timestamp",
        "value": ""
      },
      {
        "disabled": false,
        "description": {
          "content": "(Required) Signature algorithm version, default is 1.0.",
          "type": "text/plain"
        },
        "key": "x-signature-version",
        "value": ""
      },
      {
        "disabled": false,
        "description": {
          "content": "(Required) Signature algorithm, default is HMAC-SHA1.",
          "type": "text/plain"
        },
        "key": "x-signature-algorithm",
        "value": ""
      },
      {
        "disabled": false,
        "description": {
          "content": "(Required) Signature unique random number.",
          "type": "text/plain"
        },
        "key": "x-signature-nonce",
        "value": ""
      },
      {
        "disabled": false,
        "description": {
          "content": "(Required) API interface version. Supported values: `v2`, `v3`.",
          "type": "text/plain"
        },
        "key": "x-version",
        "value": ""
      },
      {
        "disabled": false,
        "description": {
          "content": "(Required) A signature is a unique digital fingerprint, typically encrypted, that verifies the authenticity and integrity of a message or transaction, ensuring it has not been tampered with during transmission.",
          "type": "text/plain"
        },
        "key": "x-signature",
        "value": ""
      },
      {
        "key": "Accept",
        "value": "application/json"
      }
    ],
    "method": "GET"
  }
}
```
