GET
List your fills
/api/v1/fills · needs an API key
Every execution of your orders, newest first.
Each time one of your orders traded: what, at what price, how many. Cash moved by price × quantity, out on a BUY and in on a SELL; VPX charges no fees. With your settlements (GET /settlements) and starting balance (funded on GET /account), fills account for every cent in your wallets, except YES+NO pairs you split or redeemed, which leave no record.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| marketId | query | string[] | Only these markets (ids or slugs) (comma-separated, at most 100) |
| orderId | query | string | Only this order's fills |
| since | query | string (date-time) | Only fills after this time (ISO 8601, e.g. 2026-10-27T18:00:00Z) |
| until | query | string (date-time) | Only fills at or before this time (ISO 8601, e.g. 2026-10-27T18:00:00Z) |
| limit | query | integer | How many to return (1–1000, default 100) Default 100. |
| cursor | query | string | From a previous page's nextCursor |
Request
curl "https://www.vancouverpx.ca/api/v1/fills?marketId=3f1c0f2e-6a55-4a8e-9b53-2a1f0c9d7e11" \
-H "Authorization: Bearer $VPX_API_KEY"Response
200 with this object:
| Field | Type | Description |
|---|---|---|
| fills | Fill[] | |
| nextCursor | string | null | Pass as cursor to get the next page; null on the last page |
Example
{
"fills": [
{
"id": "trade:5d1e9c2a-7b3f-4e8d-a6c1-2f9b8e7d6c5a:buy",
"kind": "trade",
"orderId": "9b2e5c1d-0f47-4d1e-8a55-6c2b7e3f9a10",
"marketId": "3f1c0f2e-6a55-4a8e-9b53-2a1f0c9d7e11",
"walletId": "clx8w2k3p0001qz8r5t1y7u4v",
"side": "BUY",
"outcome": "YES",
"price": 53,
"quantity": 4,
"executedAt": "2026-10-27T17:05:00.000Z",
"botId": null
}
],
"nextCursor": null
}Errors
The errors every endpoint can answer.