GET /api/v1/workspaces/{workspaceId}/trades is your workspace’s one trade history. It lists the orders placed through the API or the app and the trades on your connected exchange accounts together, newest first. Use it for reconciliation and reporting; to follow one order to the end, read it at its statusUrl instead (Order status).
The API may change until launch. Every change is listed in the Changelog.
workspaceId that GET /api/v1/me answers for your key. Another workspace answers 404 WORKSPACE_NOT_FOUND.
Read a page
Every row carries:
The page also carries
total (rows matching your filters), limit and nextCursor.
Filter with kind (all, order or venueTrade), status, and from and to (RFC 3339 times, placed at or after, at or before). limit sets the page size, 25 by default. Send format=csv for the same rows as CSV.
To read every row, pass nextCursor back as cursor with the same filters until it is null. An unknown parameter or value, or a filter the list cannot apply, answers 400 INVALID_REQUEST naming the parameter.
Output on test networks
Read one trade
GET /api/v1/workspaces/{workspaceId}/trades/{tradeId} reads one row of the list through the same view, with its detail. An order’s settlement says how it ended:
An unknown
tradeId, or one from another workspace, answers 404.
Output on test networks
When a page is partial
Two fields say when the list holds less than it could:coveragelists each kind whose rows could not be read just now, with itsstate. The page shows the other kinds and is partial, not shorter: read it again later rather than treating the missing rows as absent.excludedKindslists each kind a filter or sort left out, with thefilterit could not apply. Drop that filter to see the kind again.
503 TRADE_PROJECTION_UNAVAILABLE means the trade history cannot be read on this deployment right now. Retry later.