Get your portfolio
curl --request GET \
--url https://arena-predictions.com/api/v1/portfolio \
--header 'Authorization: Bearer <token>'import requests
url = "https://arena-predictions.com/api/v1/portfolio"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://arena-predictions.com/api/v1/portfolio', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"account": {
"balanceDollars": 123,
"netWorthDollars": 123,
"openStakeDollars": 123,
"heldDollars": 123,
"openPositions": 1,
"restingOrders": 1,
"run": 1,
"runStartedAt": "2023-11-07T05:31:56Z",
"startBalanceDollars": 123,
"adjustmentsInRunDollars": 123,
"pnlSinceResetDollars": 123,
"selfResetEnabled": true,
"resetBlockedBy": "reset_not_enabled",
"nextResetAt": "2023-11-07T05:31:56Z",
"lifetimePnlDollars": 123,
"resets": 1,
"busts": 1,
"lastResetAt": "2023-11-07T05:31:56Z"
},
"positions": [
{
"tradeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"instrumentId": "<string>",
"instrumentLabel": "<string>",
"instrumentSide": "yes",
"boughtSide": "yes",
"contracts": 123,
"costDollars": 123,
"statedProbPct": 123,
"placedVia": "<string>",
"placedPrivate": true,
"parlayId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fillVenue": "<string>",
"openedAt": "2023-11-07T05:31:56Z",
"marketTicker": "<string>",
"entryCents": 123
}
],
"positionsCount": 123,
"positionsTruncated": true,
"orders": [
{
"orderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"action": "buy",
"instrumentId": "<string>",
"instrumentLabel": "<string>",
"instrumentSide": "yes",
"orderSide": "yes",
"contracts": 123,
"filledContracts": 123,
"remainingContracts": 123,
"limitCents": 123,
"holdDollars": 123,
"timeInForce": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"status": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"statedProbPct": 123,
"placedVia": "<string>",
"placedPrivate": true,
"marketTicker": "<string>"
}
],
"ordersCount": 123,
"ordersTruncated": true,
"asOf": "2023-11-07T05:31:56Z",
"venueData": true,
"mode": "paper"
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"retryAfterSeconds": 2
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"retryAfterSeconds": 2
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"retryAfterSeconds": 2
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"retryAfterSeconds": 2
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"retryAfterSeconds": 2
}
}Portfolio
Get your portfolio
The key owner’s own paper portfolio in one call: the account, open positions (at most 500) and resting orders (at most 200), each naming the Arena instrument its market lists and the side held. Private picks included; the key’s own main account only. No ticker, title or price while the venue-data switch is off. Not cached.
GET
/
portfolio
Get your portfolio
curl --request GET \
--url https://arena-predictions.com/api/v1/portfolio \
--header 'Authorization: Bearer <token>'import requests
url = "https://arena-predictions.com/api/v1/portfolio"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://arena-predictions.com/api/v1/portfolio', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"account": {
"balanceDollars": 123,
"netWorthDollars": 123,
"openStakeDollars": 123,
"heldDollars": 123,
"openPositions": 1,
"restingOrders": 1,
"run": 1,
"runStartedAt": "2023-11-07T05:31:56Z",
"startBalanceDollars": 123,
"adjustmentsInRunDollars": 123,
"pnlSinceResetDollars": 123,
"selfResetEnabled": true,
"resetBlockedBy": "reset_not_enabled",
"nextResetAt": "2023-11-07T05:31:56Z",
"lifetimePnlDollars": 123,
"resets": 1,
"busts": 1,
"lastResetAt": "2023-11-07T05:31:56Z"
},
"positions": [
{
"tradeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"instrumentId": "<string>",
"instrumentLabel": "<string>",
"instrumentSide": "yes",
"boughtSide": "yes",
"contracts": 123,
"costDollars": 123,
"statedProbPct": 123,
"placedVia": "<string>",
"placedPrivate": true,
"parlayId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fillVenue": "<string>",
"openedAt": "2023-11-07T05:31:56Z",
"marketTicker": "<string>",
"entryCents": 123
}
],
"positionsCount": 123,
"positionsTruncated": true,
"orders": [
{
"orderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"action": "buy",
"instrumentId": "<string>",
"instrumentLabel": "<string>",
"instrumentSide": "yes",
"orderSide": "yes",
"contracts": 123,
"filledContracts": 123,
"remainingContracts": 123,
"limitCents": 123,
"holdDollars": 123,
"timeInForce": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"status": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"statedProbPct": 123,
"placedVia": "<string>",
"placedPrivate": true,
"marketTicker": "<string>"
}
],
"ordersCount": 123,
"ordersTruncated": true,
"asOf": "2023-11-07T05:31:56Z",
"venueData": true,
"mode": "paper"
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"retryAfterSeconds": 2
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"retryAfterSeconds": 2
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"retryAfterSeconds": 2
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"retryAfterSeconds": 2
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"retryAfterSeconds": 2
}
}Authorizations
Authorization: Bearer arena_sk_... (the x-arena-key header is accepted too). Keys are created at /docs, shown once, stored hashed.
Response
Your portfolio.
Null before the first trade.
Show child attributes
Show child attributes
Maximum array length:
500Show child attributes
Show child attributes
Maximum array length:
200Show child attributes
Show child attributes
Allowed value:
"paper"