Skip to main content
GET
/
v1
/
accounts
/
{id}
/
positions
Get Account Positions
curl --request GET \
  --url https://api.aries.com/v1/accounts/{id}/positions \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.aries.com/v1/accounts/{id}/positions"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.aries.com/v1/accounts/{id}/positions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aries.com/v1/accounts/{id}/positions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.aries.com/v1/accounts/{id}/positions"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.aries.com/v1/accounts/{id}/positions")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.aries.com/v1/accounts/{id}/positions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "positions": [
    {
      "accountId": "TEST-ACCOUNT-001",
      "symbol": "AAPL",
      "securityType": "EQUITY",
      "quantity": "100",
      "averagePrice": "170.25",
      "price": "175.40",
      "todayRealizedPnL": "0",
      "unrealizedPl": "515.00",
      "todayPl": "125.00",
      "marketValue": "17540.00",
      "costBasis": "17025.00",
      "createdAt": "2026-01-10T16:00:00Z"
    }
  ]
}

Demo response (all fields)

Position quantities and prices are returned as decimal strings to preserve precision. The sample below includes every JSON field the response object can contain.
{
  "positions": [
    {
      "accountId": "TEST-ACCOUNT-001",
      "symbol": "AAPL",
      "securityType": "EQUITY",
      "quantity": "100",
      "averagePrice": "170.25",
      "price": "175.40",
      "todayRealizedPnL": "0",
      "unrealizedPl": "515.00",
      "todayPl": "125.00",
      "marketValue": "17540.00",
      "costBasis": "17025.00",
      "createdAt": "2026-01-10T16:00:00Z"
    }
  ]
}

Authorizations

Authorization
string
header
required

OAuth2 Bearer token: obtain an access token from the token endpoint and send it in the Authorization header.

Path Parameters

id
string
required

Account whose positions you want to read. Enter the account ID from User Accounts.

Response

Account positions retrieved successfully

Response for GET /v1/accounts/{id}/positions. Cached positions for the account. Numeric amounts are returned as decimal strings.

positions
object[]

Open positions for the account