GET
Get Positions
Retrieve all current positions (open holdings) for the authenticated user. Only returns holdings with a quantity greater than zero, ordered by most recently updated.
Endpoint
GET /api/v1/positionsQuery Parameters
This endpoint takes no query parameters.
Response
Returns an object containing an array of position objects (status 200).
| Field | Type | Description |
|---|---|---|
| id | UUID | Holding ID |
| marketId | UUID | The market this position is in |
| marketQuestion | string | The market question |
| marketStatus | string | Market status (OPEN, CLOSED, RESOLVED, CANCELED) |
| outcome | string | YES or NO |
| quantity | number | Number of shares held |
| lockedQuantity | number | Shares locked in open sell orders |
| createdAt | ISO 8601 | When the holding was created |
| updatedAt | ISO 8601 | When the holding was last updated |
{
"positions": [
{
"id": "clxyz...",
"marketId": "clxyz...",
"marketQuestion": "Will the Blue Jays win the World Series?",
"marketStatus": "OPEN",
"outcome": "YES",
"quantity": 50,
"lockedQuantity": 10,
"createdAt": "2026-03-10T12:00:00.000Z",
"updatedAt": "2026-03-17T14:30:00.000Z"
}
]
}Example
import requests
API_KEY = "your_api_key"
BASE_URL = "https://www.vancouverpx.ca/api/v1"
def get_positions() -> dict:
response = requests.get(
f"{BASE_URL}/positions",
headers={"Authorization": f"Bearer {API_KEY}"},
)
response.raise_for_status()
return response.json()
data = get_positions()
for pos in data["positions"]:
print(f"{pos['outcome']} {pos['quantity']}x — {pos['marketQuestion']}")