curl --request GET \
--url https://api.engine.usesophic.com/accounts/{account_id}/positions/{position_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.engine.usesophic.com/accounts/{account_id}/positions/{position_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.engine.usesophic.com/accounts/{account_id}/positions/{position_id}', 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.engine.usesophic.com/accounts/{account_id}/positions/{position_id}",
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.engine.usesophic.com/accounts/{account_id}/positions/{position_id}"
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.engine.usesophic.com/accounts/{account_id}/positions/{position_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.engine.usesophic.com/accounts/{account_id}/positions/{position_id}")
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{
"account": "<string>",
"automatic_rollover": true,
"available_for_trading": "1000.00",
"average_price": "98.75",
"can_update_automatic_rollover": true,
"closed_at": "2025-07-15T10:30:00Z",
"created_at": "2025-01-15T10:30:00Z",
"id": "<string>",
"instrument": {
"days_to_maturity": 182,
"decimal_precision": 2,
"enforce_trading_rules": true,
"id": "<string>",
"initial_auction_date": "2024-12-30",
"initial_issue_date": "2025-01-02",
"instrument_type": "bill",
"isin": "US5949181045",
"issuer": "United States Department of the Treasury",
"issuer_country": "US",
"issuer_credit_rating": "AA+",
"latest_auction_date": "2025-01-27",
"latest_issue_date": "2025-01-30",
"maturity_date": "2025-07-03",
"minimum_initial_cash_investment": "1000.00",
"minimum_trading_quantity": "1.00",
"name": "Apple Inc.",
"price_type": "percent",
"pro_traders_only": true,
"required_cash_increment": 100,
"rollout_stage": "ga",
"supports_automatic_rollover": true,
"symbol": "US5949181045",
"trading_currency": "USD",
"trading_increment": "0.01",
"trading_status": "buy_sell",
"about": "Common stock listed on the Nasdaq Global Select Market.",
"exchange": "XNAS",
"icon_url": "https://storage.googleapis.com/sophic-assets/instrument-icons/in_x7GqT.png",
"ticker": "AAPL"
},
"modified_at": "2025-07-01T14:32:18Z",
"most_recent_maturity_period": "3m",
"opened_at": "2025-01-15T10:30:00Z",
"reserved": "50.00",
"settled": "1000.00",
"status": "open",
"total": "1250.00",
"total_buy_trades": 3,
"unsettled": "250.00",
"ytm": "4.25",
"automatic_rollover_cutoff": "2025-09-25"
}{
"code": "<string>",
"detail": "<string>",
"context": {},
"docs": "<string>",
"params": [
{
"code": "<string>",
"detail": "<string>",
"path": [
123
]
}
]
}Retrieve a position
Retrieve a position within an account.
curl --request GET \
--url https://api.engine.usesophic.com/accounts/{account_id}/positions/{position_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.engine.usesophic.com/accounts/{account_id}/positions/{position_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.engine.usesophic.com/accounts/{account_id}/positions/{position_id}', 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.engine.usesophic.com/accounts/{account_id}/positions/{position_id}",
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.engine.usesophic.com/accounts/{account_id}/positions/{position_id}"
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.engine.usesophic.com/accounts/{account_id}/positions/{position_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.engine.usesophic.com/accounts/{account_id}/positions/{position_id}")
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{
"account": "<string>",
"automatic_rollover": true,
"available_for_trading": "1000.00",
"average_price": "98.75",
"can_update_automatic_rollover": true,
"closed_at": "2025-07-15T10:30:00Z",
"created_at": "2025-01-15T10:30:00Z",
"id": "<string>",
"instrument": {
"days_to_maturity": 182,
"decimal_precision": 2,
"enforce_trading_rules": true,
"id": "<string>",
"initial_auction_date": "2024-12-30",
"initial_issue_date": "2025-01-02",
"instrument_type": "bill",
"isin": "US5949181045",
"issuer": "United States Department of the Treasury",
"issuer_country": "US",
"issuer_credit_rating": "AA+",
"latest_auction_date": "2025-01-27",
"latest_issue_date": "2025-01-30",
"maturity_date": "2025-07-03",
"minimum_initial_cash_investment": "1000.00",
"minimum_trading_quantity": "1.00",
"name": "Apple Inc.",
"price_type": "percent",
"pro_traders_only": true,
"required_cash_increment": 100,
"rollout_stage": "ga",
"supports_automatic_rollover": true,
"symbol": "US5949181045",
"trading_currency": "USD",
"trading_increment": "0.01",
"trading_status": "buy_sell",
"about": "Common stock listed on the Nasdaq Global Select Market.",
"exchange": "XNAS",
"icon_url": "https://storage.googleapis.com/sophic-assets/instrument-icons/in_x7GqT.png",
"ticker": "AAPL"
},
"modified_at": "2025-07-01T14:32:18Z",
"most_recent_maturity_period": "3m",
"opened_at": "2025-01-15T10:30:00Z",
"reserved": "50.00",
"settled": "1000.00",
"status": "open",
"total": "1250.00",
"total_buy_trades": 3,
"unsettled": "250.00",
"ytm": "4.25",
"automatic_rollover_cutoff": "2025-09-25"
}{
"code": "<string>",
"detail": "<string>",
"context": {},
"docs": "<string>",
"params": [
{
"code": "<string>",
"detail": "<string>",
"path": [
123
]
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Response
OK
ID of the account that owns the position.
Whether automatic rollover is enabled.
Instrument quantity available for trading.
"1000.00"
Average acquisition price per instrument unit.
"98.75"
Whether automatic rollover can currently be changed.
Time the position was closed.
"2025-07-15T10:30:00Z"
Time the position record was created.
"2025-01-15T10:30:00Z"
ID of the position.
Instrument held in the position.
- Bill
- CurrencyPair
- Bond
- MoneyMarketFund
- AMC
- ETF
Show child attributes
Show child attributes
Time the position record was last modified.
"2025-07-01T14:32:18Z"
Most recent maturity period used for rollover.
"3m"
Time the position was opened.
"2025-01-15T10:30:00Z"
Instrument quantity reserved by pending orders.
"50.00"
Settled instrument quantity.
"1000.00"
Current lifecycle status of the position.
open, closing, closed Total instrument quantity held.
"1250.00"
Number of buy trades contributing to the position.
3
Instrument quantity awaiting settlement.
"250.00"
Yield to maturity as a percentage.
"4.25"
Last date automatic rollover can be changed.
"2025-09-25"