curl --request GET \
--url https://api.tilt.io/api/v1/custom/org/{organization_uuid}/portfolio_configs/{config_uuid}/ \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.tilt.io/api/v1/custom/org/{organization_uuid}/portfolio_configs/{config_uuid}/"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://api.tilt.io/api/v1/custom/org/{organization_uuid}/portfolio_configs/{config_uuid}/', 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.tilt.io/api/v1/custom/org/{organization_uuid}/portfolio_configs/{config_uuid}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$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.tilt.io/api/v1/custom/org/{organization_uuid}/portfolio_configs/{config_uuid}/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
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.tilt.io/api/v1/custom/org/{organization_uuid}/portfolio_configs/{config_uuid}/")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tilt.io/api/v1/custom/org/{organization_uuid}/portfolio_configs/{config_uuid}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"asset_allocations": [
{
"asset_class_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"asset_class_name": "<string>",
"asset_class_description": "<string>",
"benchmark_index_identifier": "<string>",
"benchmark_index_name": "<string>",
"benchmark_symbol": "<string>",
"single_security_tilt_asset_id": "<string>",
"single_security_symbol": "<string>",
"is_composite": true,
"child_asset_allocations": "<array>",
"archived_at": "2023-11-07T05:31:56Z",
"target_allocation": "<string>",
"direct_indexing_enabled": true,
"tilts": [
{
"weight_adjustment": "<string>",
"tilt": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"published_at": "2023-11-07T05:31:56Z"
},
"index": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "IN_PROGRESS"
}
}
]
}
],
"evaluation_rules": [
{
"rule_type": "model_drift",
"rules": [
{
"value": "<unknown>",
"cron": "",
"condition": "",
"starts_from": "2023-12-25",
"expires_at": "2023-12-25",
"priority": 0
}
],
"version": "<string>",
"enabled": true
}
],
"status": "<string>",
"name": "<string>",
"optimization_mode": "LONG_ONLY",
"long_weight_sum": "<string>",
"short_weight_sum": "<string>",
"risk_model_name": "custom",
"no_hold_tickers": [
{
"ticker": {
"tilt_asset_id": "<string>",
"symbol": "<string>",
"exchange": "<string>",
"name": "<string>",
"description": "<string>",
"image_url": "<string>",
"ticker_url": "<string>",
"ticker_type": "<string>",
"market_cap": 123,
"sic_description": "<string>"
},
"starts_from": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"condition": "<string>"
}
],
"no_trade_tickers": [
{
"ticker": {
"tilt_asset_id": "<string>",
"symbol": "<string>",
"exchange": "<string>",
"name": "<string>",
"description": "<string>",
"image_url": "<string>",
"ticker_url": "<string>",
"ticker_type": "<string>",
"market_cap": 123,
"sic_description": "<string>"
},
"starts_from": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"condition": "<string>"
}
],
"target_ticker_weights": [
{
"ticker": {
"tilt_asset_id": "<string>",
"symbol": "<string>",
"exchange": "<string>",
"name": "<string>",
"description": "<string>",
"image_url": "<string>",
"ticker_url": "<string>",
"ticker_type": "<string>",
"market_cap": 123,
"sic_description": "<string>"
},
"target_weight": "<string>",
"lower_bound": "<string>",
"upper_bound": "<string>",
"min_active": "<string>",
"max_active": "<string>",
"condition": "<string>"
}
],
"min_weight": "<string>",
"max_weight": "<string>",
"min_active_weight": "<string>",
"max_active_weight": "<string>",
"use_active_risk_bounds": true,
"max_active_risk_pct": "<string>",
"scaling_factor": "<string>",
"use_mean_variance": true,
"factor_exposure_bounds": [
{
"factor": "<string>",
"min_bound": "<string>",
"max_bound": "<string>",
"min_active_bound": "<string>",
"max_active_bound": "<string>"
}
],
"tax_preferences": {
"tax_region": "USA",
"short_term_rate": "<string>",
"long_term_rate": "<string>",
"tax_algorithm": "AVG_COST",
"tracking_error_threshold": "<string>",
"wash_sale_threshold": 1073741823,
"long_term_threshold": 1073741823,
"ordinary_income_tax_rate": "<string>",
"n_high_loss_lots": 1073741823,
"tax_gamma": "<string>",
"tax_use_tax_alpha": true,
"include_positive_tax_alpha_lots": true,
"positive_tax_alpha_scaling_factor": "<string>",
"prevent_tlh_invalidating_purchase": true,
"prevent_tlh_invalidating_sale": true,
"tax_gamma_min": "<string>",
"tax_gamma_max": "<string>",
"tax_gain_target": "<string>",
"tax_gain_target_tolerance": "<string>"
},
"bid_ask_spread_ref_volume": "<string>",
"market_impact_parameter": "<string>",
"bid_ask_spread_parameter": "<string>",
"tcost_bps": "<string>",
"cash_buffer_usd": "<string>",
"cash_buffer_cad": "<string>",
"cash_buffer_usd_amount": "<string>",
"cash_buffer_cad_amount": "<string>",
"drift_warning_threshold": "<string>",
"drift_breach_threshold": "<string>",
"asset_drift_breach_threshold": "<string>",
"dynamic_rules": [
{
"field_name": "<string>",
"rules": [
{
"value": "<unknown>",
"cron": "",
"condition": "",
"starts_from": "2023-12-25",
"expires_at": "2023-12-25",
"priority": 0
}
]
}
],
"risk_aversion": "<string>",
"risk_free_rate_pct": "<string>",
"spectral_shift": "<string>",
"risk_bound_increase_factor": "<string>",
"risk_bound_max_iterations": 1073741823,
"use_regula_falsi": true,
"use_turnover_constraint": true,
"max_turnover_pct": "<string>",
"require_whole_shares": true,
"whole_share_assets": "<unknown>",
"substitution_pairs": "<unknown>",
"capital_gains_reductions": "<unknown>",
"capital_gains_reductions_units": "DOLLARS",
"use_cash_benchmark": true,
"linear_tcaf": "<string>",
"commission_rate": "<string>",
"broker_spread_bps": "<string>",
"min_trading_volume_dollars": "<string>"
}Get Portfolio Config
Retrieve a portfolio config for the organization
curl --request GET \
--url https://api.tilt.io/api/v1/custom/org/{organization_uuid}/portfolio_configs/{config_uuid}/ \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.tilt.io/api/v1/custom/org/{organization_uuid}/portfolio_configs/{config_uuid}/"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://api.tilt.io/api/v1/custom/org/{organization_uuid}/portfolio_configs/{config_uuid}/', 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.tilt.io/api/v1/custom/org/{organization_uuid}/portfolio_configs/{config_uuid}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$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.tilt.io/api/v1/custom/org/{organization_uuid}/portfolio_configs/{config_uuid}/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
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.tilt.io/api/v1/custom/org/{organization_uuid}/portfolio_configs/{config_uuid}/")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tilt.io/api/v1/custom/org/{organization_uuid}/portfolio_configs/{config_uuid}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"asset_allocations": [
{
"asset_class_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"asset_class_name": "<string>",
"asset_class_description": "<string>",
"benchmark_index_identifier": "<string>",
"benchmark_index_name": "<string>",
"benchmark_symbol": "<string>",
"single_security_tilt_asset_id": "<string>",
"single_security_symbol": "<string>",
"is_composite": true,
"child_asset_allocations": "<array>",
"archived_at": "2023-11-07T05:31:56Z",
"target_allocation": "<string>",
"direct_indexing_enabled": true,
"tilts": [
{
"weight_adjustment": "<string>",
"tilt": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"published_at": "2023-11-07T05:31:56Z"
},
"index": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "IN_PROGRESS"
}
}
]
}
],
"evaluation_rules": [
{
"rule_type": "model_drift",
"rules": [
{
"value": "<unknown>",
"cron": "",
"condition": "",
"starts_from": "2023-12-25",
"expires_at": "2023-12-25",
"priority": 0
}
],
"version": "<string>",
"enabled": true
}
],
"status": "<string>",
"name": "<string>",
"optimization_mode": "LONG_ONLY",
"long_weight_sum": "<string>",
"short_weight_sum": "<string>",
"risk_model_name": "custom",
"no_hold_tickers": [
{
"ticker": {
"tilt_asset_id": "<string>",
"symbol": "<string>",
"exchange": "<string>",
"name": "<string>",
"description": "<string>",
"image_url": "<string>",
"ticker_url": "<string>",
"ticker_type": "<string>",
"market_cap": 123,
"sic_description": "<string>"
},
"starts_from": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"condition": "<string>"
}
],
"no_trade_tickers": [
{
"ticker": {
"tilt_asset_id": "<string>",
"symbol": "<string>",
"exchange": "<string>",
"name": "<string>",
"description": "<string>",
"image_url": "<string>",
"ticker_url": "<string>",
"ticker_type": "<string>",
"market_cap": 123,
"sic_description": "<string>"
},
"starts_from": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"condition": "<string>"
}
],
"target_ticker_weights": [
{
"ticker": {
"tilt_asset_id": "<string>",
"symbol": "<string>",
"exchange": "<string>",
"name": "<string>",
"description": "<string>",
"image_url": "<string>",
"ticker_url": "<string>",
"ticker_type": "<string>",
"market_cap": 123,
"sic_description": "<string>"
},
"target_weight": "<string>",
"lower_bound": "<string>",
"upper_bound": "<string>",
"min_active": "<string>",
"max_active": "<string>",
"condition": "<string>"
}
],
"min_weight": "<string>",
"max_weight": "<string>",
"min_active_weight": "<string>",
"max_active_weight": "<string>",
"use_active_risk_bounds": true,
"max_active_risk_pct": "<string>",
"scaling_factor": "<string>",
"use_mean_variance": true,
"factor_exposure_bounds": [
{
"factor": "<string>",
"min_bound": "<string>",
"max_bound": "<string>",
"min_active_bound": "<string>",
"max_active_bound": "<string>"
}
],
"tax_preferences": {
"tax_region": "USA",
"short_term_rate": "<string>",
"long_term_rate": "<string>",
"tax_algorithm": "AVG_COST",
"tracking_error_threshold": "<string>",
"wash_sale_threshold": 1073741823,
"long_term_threshold": 1073741823,
"ordinary_income_tax_rate": "<string>",
"n_high_loss_lots": 1073741823,
"tax_gamma": "<string>",
"tax_use_tax_alpha": true,
"include_positive_tax_alpha_lots": true,
"positive_tax_alpha_scaling_factor": "<string>",
"prevent_tlh_invalidating_purchase": true,
"prevent_tlh_invalidating_sale": true,
"tax_gamma_min": "<string>",
"tax_gamma_max": "<string>",
"tax_gain_target": "<string>",
"tax_gain_target_tolerance": "<string>"
},
"bid_ask_spread_ref_volume": "<string>",
"market_impact_parameter": "<string>",
"bid_ask_spread_parameter": "<string>",
"tcost_bps": "<string>",
"cash_buffer_usd": "<string>",
"cash_buffer_cad": "<string>",
"cash_buffer_usd_amount": "<string>",
"cash_buffer_cad_amount": "<string>",
"drift_warning_threshold": "<string>",
"drift_breach_threshold": "<string>",
"asset_drift_breach_threshold": "<string>",
"dynamic_rules": [
{
"field_name": "<string>",
"rules": [
{
"value": "<unknown>",
"cron": "",
"condition": "",
"starts_from": "2023-12-25",
"expires_at": "2023-12-25",
"priority": 0
}
]
}
],
"risk_aversion": "<string>",
"risk_free_rate_pct": "<string>",
"spectral_shift": "<string>",
"risk_bound_increase_factor": "<string>",
"risk_bound_max_iterations": 1073741823,
"use_regula_falsi": true,
"use_turnover_constraint": true,
"max_turnover_pct": "<string>",
"require_whole_shares": true,
"whole_share_assets": "<unknown>",
"substitution_pairs": "<unknown>",
"capital_gains_reductions": "<unknown>",
"capital_gains_reductions_units": "DOLLARS",
"use_cash_benchmark": true,
"linear_tcaf": "<string>",
"commission_rate": "<string>",
"broker_spread_bps": "<string>",
"min_trading_volume_dollars": "<string>"
}Authorizations
Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
255Optimization mode to use for portfolio optimization, this can be LONG_ONLY, LONG_SHORT, or LONG_BIASED.
LONG_ONLY- Long OnlyLONG_SHORT- Long ShortLONG_BIASED- Long Biased
LONG_ONLY, LONG_SHORT, LONG_BIASED Target sum of long weights for LONG_SHORT or LONG_BIASED optimization modes (e.g., 2.5 for 250% long).
^-?\d{0,3}(?:\.\d{0,2})?$Target sum of short weights for LONG_SHORT or LONG_BIASED optimization modes (e.g., -2.5 for -250% short).
^-?\d{0,3}(?:\.\d{0,2})?$Risk model to use for portfolio optimization
custom- Custompca- Pcacharacteristics- Characteristicsaxioma- Axioma
custom, pca, characteristics, axioma Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
^-?\d{0,3}(?:\.\d{0,2})?$^-?\d{0,3}(?:\.\d{0,2})?$^-?\d{0,3}(?:\.\d{0,2})?$^-?\d{0,3}(?:\.\d{0,2})?$Whether to enforce the active-risk cap during optimization
Maximum portfolio active risk as a percentage (0–100). Only enforced when use_active_risk_bounds is True.
^-?\d{0,3}(?:\.\d{0,2})?$^-?\d{0,3}(?:\.\d{0,2})?$Show child attributes
Show child attributes
Show child attributes
Show child attributes
^-?\d{0,8}(?:\.\d{0,2})?$^-?\d{0,8}(?:\.\d{0,2})?$^-?\d{0,8}(?:\.\d{0,2})?$^-?\d{0,8}(?:\.\d{0,2})?$USD cash buffer as a percentage of portfolio value (0.0 to 1.0, e.g., 0.05 for 5%)
^-?\d{0,1}(?:\.\d{0,4})?$CAD cash buffer as a percentage of portfolio value (0.0 to 1.0, e.g., 0.05 for 5%)
^-?\d{0,1}(?:\.\d{0,4})?$Absolute USD cash buffer. When set, overrides cash_buffer_usd percentage.
^-?\d{0,10}(?:\.\d{0,2})?$Absolute CAD cash buffer. When set, overrides cash_buffer_cad percentage.
^-?\d{0,10}(?:\.\d{0,2})?$Optional total-drift warning threshold as a fractional weight.
^-?\d{0,2}(?:\.\d{0,10})?$Required total-drift breach threshold as a fractional weight.
^-?\d{0,2}(?:\.\d{0,10})?$Required absolute per-asset drift breach threshold.
^-?\d{0,2}(?:\.\d{0,10})?$Show child attributes
Show child attributes
Risk aversion lambda. App default is 2; library default is 1.0.
^-?\d{0,3}(?:\.\d{0,3})?$Risk-free rate percentage used in Sharpe calculations. Library default 4.0.
^-?\d{0,3}(?:\.\d{0,4})?$Risk matrix conditioning parameter. Library default 0.0.
^-?\d{0,5}(?:\.\d{0,10})?$Factor to increase risk bounds on infeasibility. Library default 2.0.
^-?\d{0,4}(?:\.\d{0,4})?$Max iterations for risk bound adaptation. Library default 10.
0 <= x <= 2147483647Enable Regula Falsi method for tax gamma search. Library default True.
Enable maximum turnover constraint. Library default False.
Maximum portfolio turnover as a percentage. Library default 100.0.
^-?\d{0,4}(?:\.\d{0,4})?$Enforce whole share constraints for all assets. Library default False.
List of tilt_asset_ids that must be whole shares. Null = all when require_whole_shares is True.
List of lists of tilt_asset_ids that are mutually exclusive substitution pairs.
Dict mapping tilt_asset_id to per-asset capital gains reduction amount.
Units for capital_gains_reductions. Library default 'DOLLARS'.
DOLLARS- DollarsPERCENT- Percent
DOLLARS, PERCENT Include cash as a benchmark component. Library default False.
Linear transaction cost fraction. Library default 0.0.
^-?\d{0,4}(?:\.\d{0,6})?$Commission rate. Library default 0.75.
^-?\d{0,4}(?:\.\d{0,4})?$Broker spread in basis points. Library default 30.0.
^-?\d{0,6}(?:\.\d{0,4})?$Minimum trading volume in dollars for market impact calculation. Library default 1,000,000.
^-?\d{0,14}(?:\.\d{0,2})?$