Hello Alpaca Team,
I believe I’ve encountered a bug with the Get All Orders endpoint when using the symbols query parameter.
Endpoint
GET /v2/orders?status=all&limit=500&symbols=BABA
Environment
-
Paper trading
-
API v2
-
Account contains both equity and options (including multi-leg option orders)
Expected Behavior
When specifying symbols=BABA, I expect the response to include only orders whose underlying symbol is BABA (equities or options tied to BABA).
Actual Behavior
The response includes multi-leg option orders whose legs reference completely different underlying symbols, e.g.:
-
AAPL260102C00265000 -
AAPL260320P00225000 -
AAPL260320C00240000
These appear inside the legs array of an order returned by the request, even though the filter explicitly specifies symbols=BABA.
The top-level order itself also contains:
-
Empty
symbol -
Empty
asset_class -
Option legs tied to AAPL, not BABA
This makes it impossible to reliably filter orders by underlying symbol using this endpoint.
Screenshot proof:
Example Issue
-
Request filtered by
symbols=BABA -
Response includes an order with legs for AAPL option contracts
-
No relationship to BABA exists for that order
Questions
-
Is
symbolsexpected to filter option underlyings, or only top-level equity orders? -
Is this a known limitation or an unintended bug?
-
Is there a recommended way to fetch orders strictly tied to a specific underlying symbol when options are involved?
I’m happy to provide order IDs or additional logs if needed.
Thanks for your help,
Ali
