Change Log
All notable changes to the TradeZero API will be documented on this page.
September 30, 2026
New
-
Historical Positions endpoint added - retrieve account holdings as of a calendar date:
GET /v1/api/accounts/{accountId}/positions/historical?date=YYYY-MM-DD- returns{ "historicalPositions": [...] }with trade-date quantity, market value, average cost, closing price, and unrealized P&L per lot.- See Positions & P&L → Historical positions.
September 29, 2026
New
- TradeZero Canada (TZC) — Developer API and TradeZero MCP - TradeZero Canada Securities ULC clients can use the Trading API and TradeZero MCP the same way as other TradeZero firms. Start with Authentication for REST keys, or the TradeZero MCP setup guide for assistants.
August 8, 2026
New
- TradeZero MCP - connect Claude, Claude Code, ChatGPT, Perplexity, Grok, Cursor, or VS Code to your TradeZero account and manage orders, positions, and short locates in natural language. Paste the hosted server URL and sign in with OAuth 2.0. ChatGPT requires Business, Enterprise, or Edu with Developer mode on the web (Free, Plus, and Pro do not support TradeZero MCP). See TradeZero MCP.
- OAuth 2.0 Partner Integration - new guide for platforms that connect TradeZero customer accounts. Prefer Connect Trade unless TradeZero has provisioned a direct partner program for your product. Covers onboarding, token exchange, and support expectations. See OAuth 2.0 Partner Integration.
July 7, 2026
New
-
Closed Positions endpoint added - retrieve fully-closed position lifecycles for an account, with realized P&L and cumulative share accounting:
GET /v1/api/accounts/{accountId}/positions/closed- returns flat lifecycles under theclosedPositionskey, each withrealized,sharesIn,sharesOut, and blendedpriceOpen/priceClose.- See Positions & P&L → Closed positions for the aggregation model,
positionIdhandling, update patterns, and worked examples.
March 3, 2026
New
- Enabled support for multi-leg options trading - see Options Trading Documentation for details
- Added support for WebSocket clients - see WebSocket API Documentation for details
February 10, 2026
New
-
New Order Endpoint Added - new endpoint to retrieve an individual order by
clientOrderIdfor the account:GET /v1/api/accounts/{accountId}/order/{clientOrderId}- retrieves the details of a specific order using itsclientOrderId- This endpoint provides a more efficient way to access order details without having to filter through all orders
January 14, 2026
Changed
-
Order Response Structure - The API no longer returns the
orderIdfield in order responses- All order operations now exclusively use
clientOrderIdfor identification and tracking - If no
clientOrderIdis provided during order creation, the system will auto-generate one
- All order operations now exclusively use
-
Cancel Order Endpoint - The
DELETE /v1/api/accounts/{accountId}/orders/{clientOrderId}endpoint now usesclientOrderIdin the URL path- This change ensures consistency with the updated response structure
- All order management now centers around the
clientOrderIdfield
Migration Guide
For Order Management:
- Update your code to use only
clientOrderIdfor order tracking and identification - Remove any references to
orderIdfrom response parsing logic - Ensure your order creation requests include a unique
clientOrderIdfor better tracking - All cancellation requests should use the
clientOrderIdfrom your order tracking system
For Sell Locate Requests: Update your sell locate requests to use the new string format:
- Old:
"locateType": 1 - New:
"locateType": "Locate"
String Value Mapping (as of this release):
0(Unknown) →"Unknown"1(Locate) →"Locate"2(Intraday Only) →"IntraDay"(legacy alias - deprecated; send"Locate"for both1and2. See Locates → locate type codes.)3(Pre-Borrow) →"PreBorrow"4(Single Use) →"SingleUse"
December 11, 2025
Changed
-
Locates Endpoints - The
GET /v1/api/accounts/{accountId}/locatesendpoint has been split into two more specific endpoints:GET /v1/api/accounts/{accountId}/locates/inventory- Returns only active locate inventory for the current trading dayGET /v1/api/accounts/{accountId}/locates/history- Returns all open/closed/expired locates for the day
This change provides better performance and more granular control over the data you retrieve. Please update your integrations to use the appropriate endpoint.
Removed
- Locates Endpoint -
GET /v1/api/accounts/{accountId}/locateshas been removed and replaced with the two new endpoints above.
November 24, 2025
Changed
- Order Cancellation Response - Order cancel requests now return full order details in the response instead of just a confirmation message. This provides better visibility into the canceled order's final state without having to make an additional REST call for order status.
Legend
| Type | Description |
|---|---|
| New | New features, endpoints, or capabilities added to the API |
| Changed | Modifications to existing functionality or behavior |
| Fixed | Issue fixes and behavior corrections |
| Deprecated | Features that will be removed in a future version |
| Removed | Features that have been removed from the API |
| Security | Security-related updates and improvements |
For breaking changes, migration guides, or questions about updates, contact TradeZero Support — phone and email for your region are in the Support column of the site footer.