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",
"organization": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>"
}
}{
"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
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"retryAfterSeconds": 2
}
}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. With no X-Arena-Org header this is the key’s own main account. With the header it is that organization’s paper sandbox: its cash, positions and resting orders, and organization.slug. An unknown or forbidden organization is refused rather than answered from the personal account. No ticker, title or price while the venue-data switch is off. Not cached.
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",
"organization": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>"
}
}{
"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
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"retryAfterSeconds": 2
}
}Authorizations
Authorization: Bearer arena_sk_... (the x-arena-key header is accepted too). Keys are made in Settings (https://arena-predictions.com/settings#api-keys) or with arena keys create, shown once, stored hashed.
Headers
Organization id. When present, this call uses that organization's paper sandbox. When absent, the key owner's personal paper account. A value that is not an organization id is 400 invalid_request. An unknown organization is 404 organization_not_found and one this key cannot use is 403 organization_forbidden. The personal account is never the fallback. Paper only. This header does not select a Combine evaluation account.
63Response
Your portfolio.