Reports
The reporting endpoints contain a small and simplified sample set of available data requests.
Composite Allocation
POST /reports/composite-allocation
This endpoint allows you to retrieve market values, accruals, and allocations for the specified composite and its underlying constituents.
Request attributes
composite(string) — A unique composite account identifier. All composite accounts begin with either 'AGG' or 'AGE'.asOfDate(string) — The 'as of' date for the reporting period in YYYYMMDD format. For the current processing month use the date of the last data load, otherwise use the end-of-month date.
Request
curl -X POST "/reports/composite-allocation" \
-H "Content-Type: application/json" \
-H "x-api-key: secret_test_key" \
-d '{
"composite": "AGGAPRILTEST2",
"asOfDate": "20240630"
}'
Response
[
{
"compositeId": "APRILTEST2",
"compositeName": "Authors and Scientists Composite",
"compositeInceptionDate": "2011/10/15",
"accountId": "22-222233",
"accountName": "Model Portfolio A",
"accountInceptionDate": "2024/06/30",
"asOfDate": "2024/07/31",
"market": 2634780.85,
"accrual": 3647.6,
"marketValue": 2638428.45,
"allocation": 1.734406
}
]
Composite Performance
POST /reports/composite-performance
This report lists composite and constituent performance and allocation, as well as inception dates for the composite and its constituents.
Attributes
composite(string) — A unique composite account identifier. All composite accounts begin with either 'AGG' or 'AGE'.asOfDate(string) — The 'as of' date for the reporting period in YYYYMMDD format. For the current processing month use the date of the last data load, otherwise use the end-of-month date.periods(array) — A list of valid periods to report on.segments(array) — A list of sectors identifiers for which to retrieve data.benchmarks(array) — An optional list of benchmark identifiers.
Request
curl -X POST "/reports/composite-performance" \
-H "Content-Type: application/json" \
-H "x-api-key: secret_test_key" \
-d '{
"composite": "AGGAPRILTEST2",
"asOfDate": "20240630",
"periods": [ "1", "ITD" ],
"sectors": [ "EQ", "01" ],
"benchmarks": [ "01", "42" ]
}'
Response
[
{
"compositeId": "APRILTEST2",
"compositeName": "Authors and Scientists Composite",
"compositeInceptionDate": "2011/10/15",
"accountId": "22-222233",
"accountName": "Model Portfolio A",
"accountInceptionDate": "2024/06/30",
"asOfDate": "2024/07/31",
"segmentId": "TF",
"segmentName": "Total Fund",
"segmentType": "sector",
"sectorMarket": 2634780.85,
"sectorAccrual": 3647.65,
"sectorMarketValue": 2638428.45,
"sectorAllocation": 1.734406,
"periodIndex": 1,
"period": "ITD",
"periodFromDate": "2024/06/30",
"periodToDate": "2024/07/31",
"periodFromDateAdjusted": "N",
"totalUvr": 0.981646,
"annualizedROR": -1.84
}
]
Demographics
POST /reports/demographics
This report lists values for requested portfolio demographics fields as of the specified date.
Request attributes
account(string) — A unique account identifier.asOfDate(string) — The 'as of' date for the reporting period in YYYYMMDD format. For the current processing month use the date of the last data load, otherwise use the end-of-month date.demographics(array) — A list of valid periods to report on.
Request
curl -X POST "/reports/demographics" \
-H "Content-Type: application/json" \
-H "x-api-key: secret_test_key" \
-d '{
"accounts": [ "22-222233" ],
"asOfDate": "20240630",
"demographics": [ "ACCT" ]
}'
Response
[
{
"accountId": "22-222233",
"fieldId": "ACCT",
"fieldName": "ACCT",
"fieldDescription": "Account ID",
"value": "22-222233",
"valueDescription": "Account 22-222233"
}
]
Fixed Income Details
POST /reports/fixed-income
This report displays characteristic averages of fixed income securities including coupons, yields, maturities, durations, in addition to market values, accruals and other values.
Request attributes
account(string) — A unique account identifier.asOfDate(string) — The 'as of' date for the reporting period in YYYYMMDD format. For the current processing month use the date of the last data load, otherwise use the end-of-month date.periods(array) — A list of valid periods to report on.
Request
curl -X POST "/reports/fixed-income" \
-H "Content-Type: application/json" \
-H "x-api-key: secret_test_key" \
-d '{
"account": "22-222233",
"asOfDate": "20240630",
"periods": ["1","YTD"]
}'
Response
[
{
"accountId": "22-222233",
"accountName": "Model Portfolio A",
"accountInceptionDate": "2024/06/30",
"classId": "FX",
"className": "Fixed Income",
"sectorId": "24",
"sectorName": "Communications",
"assetId": "1845402H4",
"acquisitionDate": "2024/01/31",
"periodIndex": 1,
"periodFromDate": "2024/06/30",
"periodToDate": "2024/07/31",
"periodFromDateAdjusted": "N",
"price": 108.537,
"units": 45.15,
"principal": 99.99,
"accrual": 15.25,
"coupon": 4.125,
"cost": 4999.55,
"daysToMaturity": 1322,
"maturityDescription": "Short (1-5 Years)",
"maturityDate": "2028/01/31",
"yieldToMaturity": 1.634,
"duration": 3.378,
"quality": "AAA"
}
]
Holdings Listing
POST /reports/holdings
Lists the asset-level financial data as of the specified date. Data returned includes asset names, ids, units, accruals and market values.
Request attributes
account(string) — A unique account identifier.asOfDate(string) — The 'as of' date for the reporting period in YYYYMMDD format. For the current processing month use the date of the last data load, otherwise use the end-of-month date.schema(string) — Selects segment schema 1, 2, or 3. Defaults to 1.
Request
curl -X POST "/reports/holdings" \
-H "Content-Type: application/json" \
-H "x-api-key: secret_test_key" \
-d '{
"account": "22-222233",
"asOfDate": "20240630",
"schema": "1"
}'
Response
[
{
"accountId": "22-222233",
"accountName": "Model Portfolio A",
"accountInceptionDate": "2024/06/30",
"asOfDate": "2024/07/31",
"toDate": "2024/07/31",
"fromDate": "2024/06/30",
"fromDateAdjusted": "N",
"classId": "FX",
"className": "Fixed Income",
"sectorId": "88",
"sectorName": "Municipal Bonds",
"assetId": "1845402H4",
"assetName": "CLEAR CRK ISD-REF 2.5 2/15/2021",
"ticker": "1845402H4",
"cusip": "1845402H4",
"units": 45.15,
"principal": 99.99,
"accrual": 15.25,
"marketValue": 99.99
}
]
Investment Summary
POST /reports/investment-summary
Financial information for the selected sectors and period. Data points include beginning portfolio value, contributions/withdrawals, fees, income, and gains and losses.
Request attributes
account(string) — A unique account identifier.asOfDate(string) — The 'as of' date for the reporting period in YYYYMMDD format. For the current processing month use the date of the last data load, otherwise use the end-of-month date.period(string) — A valid period to report on.segment(string) — A sector identifier for which to retrieve data. Usually a total fund sector for this report.
Request
curl -X POST "/reports/investment-summary" \
-H "Content-Type: application/json" \
-H "x-api-key: secret_test_key" \
-d '{
"account": "22-222233",
"asOfDate": "20240630",
"periods": [ "1", "ITD" ],
"sectors": [ "EQ", "01" ]
}'
Response
[
{
"accountId": "22-222233",
"accountName": "Model Portfolio A",
"accountInceptionDate": "2024/06/30",
"asOfDate": "2024/07/31",
"sectorId": "24",
"sectorName": "Communication Services",
"period": "ITD",
"periodFromDate": "2024/06/30",
"periodToDate": "2024/07/31",
"periodFromDateAdjusted": "N",
"beginMarket": 160922.48,
"beginAccrual": 0,
"beginNAV": 160922.48,
"fees": 0,
"contributions": 0,
"withdrawals": 0,
"withdrawalsLessFees": 0,
"netContributionsWithdrawals": 0,
"netContributionsWithdrawalsLessFees": 0,
"income": 125.78,
"incomeEarned": 5.75,
"incomeDividends": 7.62,
"incomeInterest": 1.85,
"incomeShortTerm": 4.5,
"incomeOther": 1.25,
"endMarket": 164699.85,
"endAccrual": 0,
"netAccrual": 0,
"endNAV": 164699.81,
"gainLoss": 3777.32,
"gainLossWithAccrual": 3777.32,
"shortRealizedGainLoss": 1000.03,
"longRealizedGainLoss": 780.85,
"totalRealizedGainLoss": 1780.88,
"totalInvestmentReturn": 3880.32
}
]
Largest Holdings
POST /reports/largest-holdings
Lists the largest assets by market value on the specified date.
Request attributes
account(string) — A unique account identifier.asOfDate(string) — The 'as of' date for the reporting period in YYYYMMDD format. For the current processing month use the date of the last data load, otherwise use the end-of-month date.period(string) — A valid period to report on.recordLimit(string) — The maximum number of records to return. Assign 0 for no record limit.
Request
curl -X POST "/reports/largest-holdings" \
-H "Content-Type: application/json" \
-H "x-api-key: secret_test_key" \
-d '{
"account": "22-222233",
"asOfDate": "20240630",
"period": "YTD",
"schema": "1",
"recordLimit": "10"
}'
Response
[
{
"accountId": "22-222233",
"accountName": "Model Portfolio A",
"accountInceptionDate": "2024/06/30",
"asOfDate": "2024/07/31",
"classId": "FX",
"className": "Fixed Income",
"sectorId": "24",
"sectorName": "Communications",
"assetId": "1845402H4",
"assetName": "CLEAR CRK ISD-REF 2.5 2/15/2021",
"ticker": "1845402H4",
"cusip": "1845402H4",
"periodIndex": 1,
"period": "ITD",
"periodFromDate": "2024/06/30",
"periodToDate": "2024/07/31",
"periodFromDateAdjusted": "N",
"marketValue": 26877.69,
"allocation": 1.734406,
"totalUVR": 1.007632,
"annualizedROR": 0.76
}
]
Performance - Money Weighted
POST /reports/performance-mw
The Money-Weighted Performance report lists the market values and money-weighted performance for selected portfolios and benchmarks for the specified periods.
Request attributes
account(string) — A unique account identifier.asOfDate(string) — The 'as of' date for the reporting period in YYYYMMDD format. For the current processing month use the date of the last data load, otherwise use the end-of-month date.periods(array) — A list of valid periods to report on.sectors(array) — A list of sectors identifiers for which to retrieve data.
Request
curl -X POST "/reports/performance-si" \
-H "Content-Type: application/json" \
-H "x-api-key: secret_test_key" \
-d '{
"account": "22-222233",
"asOfDate": "20240630",
"periods": [ "1", "ITD" ],
"sectors": [ "EQ", "01" ]
}'
Response
[
{
"accountId": "22-222233",
"accountName": "Model Portfolio A",
"accountInceptionDate": "2024/06/30",
"asOfDate": "2024/07/31",
"sectorId": "TF",
"sectorName": "Total Fund",
"sectorMarket": 2634780.85,
"sectorAccrual": 3647.65,
"sectorMarketValue": 2638428.45,
"periodIndex": 1,
"period": "ITD",
"months": 12,
"periodFromDate": "2024/06/30",
"annualizedROR": -1.84
}
]
Performance - Sector Inception
POST /reports/performance-si
The Sector Inception Selected Period Performance report lists the market values and rates of return for selected sectors and benchmarks for the specified periods, including inception-to-date performance for sectors and benchmarks.
Request attributes
account(string) — A unique account identifier.asOfDate(string) — The 'as of' date for the reporting period in YYYYMMDD format. For the current processing month use the date of the last data load, otherwise use the end-of-month date.periods(array) — A list of valid periods to report on.segments(array) — A list of sectors identifiers for which to retrieve data.benchmarks(array) — An optional list of benchmark identifiers.
Request
curl -X POST "/reports/performance-si" \
-H "Content-Type: application/json" \
-H "x-api-key: secret_test_key" \
-d '{
"account": "22-222233",
"asOfDate": "20240630",
"periods": [ "1", "ITD" ],
"sectors": [ "EQ", "01" ],
"benchmarks": [ "01", "42" ]
}'
Response
[
{
"accountId": "22-222233",
"accountName": "Model Portfolio A",
"accountInceptionDate": "2024/06/30",
"asOfDate": "2024/07/31",
"segmentId": "TF",
"segmentName": "Total Fund",
"segmentType": "sector",
"segmentInceptionDate": "2024/01/31",
"sectorMarketValue": 2638428.45,
"periodIndex": 1,
"period": "ITD",
"periodFromDate": "2024/06/30",
"periodToDate": "2024/07/31",
"periodFromDateAdjusted": "N",
"totalUvr": 0.981646,
"annualizedROR": -1.84
}
]
Performance - Time Weighted
POST /reports/performance-tw
The Time-Weighted Performance report lists the market values and rates of return for selected portfolios and benchmarks for the specified periods.
Request attributes
account(string) — A unique account identifier.asOfDate(string) — The 'as of' date for the reporting period in YYYYMMDD format. For the current processing month use the date of the last data load, otherwise use the end-of-month date.periods(array) — A list of valid periods to report on.segments(array) — A list of sectors identifiers for which to retrieve data.benchmarks(array) — An optional list of benchmark identifiers.
Request
curl -X POST "/reports/performance-si" \
-H "Content-Type: application/json" \
-H "x-api-key: secret_test_key" \
-d '{
"account": "22-222233",
"asOfDate": "20240630",
"periods": [ "1", "ITD" ],
"sectors": [ "EQ", "01" ],
"benchmarks": [ "01", "42" ]
}'
Response
[
{
"accountId": "22-222233",
"accountName": "Model Portfolio A",
"accountInceptionDate": "2024/06/30",
"asOfDate": "2024/07/31",
"segmentId": "TF",
"segmentName": "Total Fund",
"segmentType": "sector",
"sectorMarket": 2634780.85,
"sectorAccrual": 3647.65,
"sectorMarketValue": 2638428.45,
"periodIndex": 1,
"period": "ITD",
"months": 12,
"periodFromDate": "2024/06/30",
"periodToDate": "2024/07/31",
"totalUvr": 0.981646,
"annualizedROR": -1.84
}
]
Risk Statistics
POST /reports/risk-statistics
This report shows risk measurements for the selected portfolios. The report includes risk measurements for a model sector or category compared with a model benchmark.
Request attributes
account(string) — A unique account identifier.asOfDate(string) — The 'as of' date for the reporting period in YYYYMMDD format. For the current processing month use the date of the last data load, otherwise use the end-of-month date.period(string) — A valid period to report on.segment(string) — The identifier of the model sector for the report.benchmark(string) — The identifier of the benchmark to compare with the selected model sector.benchmarkRiskFree(string) — A benchmark representing the risk-free rate of return, used in the Sharpe and Treynor ratio calculations.
Request
curl -X POST "/reports/risk-statistics" \
-H "Content-Type: application/json" \
-H "x-api-key: secret_test_key" \
-d '{
"account": "22-222233",
"asOfDate": "20240630",
"period": "YTD",
"sector": "01",
"benchmark": "01",
"benchmarkRiskFree": "42"
}'
Response
[
{
"accountId": "22-222233",
"accountName": "Model Portfolio A",
"accountInceptionDate": "2024/06/30",
"asOfDate": "2024/07/31",
"fromDate": "2024/06/30",
"toDate": "2024/07/31",
"segmentFromDate": "2024/06/30",
"segmentId": "TF",
"segmentName": "Total Fund",
"segmentType": "sector",
"statisticType": "BETA",
"statisticDescription": "Beta",
"statisticValue": 0.8
}
]
Sector Allocation
POST /reports/sector-allocation
This report lists the portfolio's market values and allocations by asset class and/or sector.
Request attributes
account(string) — A unique account identifier.asOfDate(string) — The 'as of' date for the reporting period in YYYYMMDD format. For the current processing month use the date of the last data load, otherwise use the end-of-month date.periods(array) — A list of valid periods to report on.segments(array) — A list of sectors identifiers for which to retrieve data.
Request
curl -X POST "/reports/sector-allocation" \
-H "Content-Type: application/json" \
-H "x-api-key: secret_test_key" \
-d '{
"accounts": [ "22-222233" ],
"asOfDate": "20240630",
"periods": [ "1", "ITD" ],
"sectors": [ "EQ", "01" ]
}'
Response
[
{
"accountId": "22-222233",
"accountName": "Model Portfolio A",
"accountInceptionDate": "2024/06/30",
"asOfDate": "2024/07/31",
"sectorId": "24",
"sectorName": "Communications",
"periodIndex": 1,
"period": "ITD",
"periodFromDate": "2024/06/30",
"periodFromDateAdjusted": "N",
"totalUvr": 0.981646,
"annualizedROR": -1.84
}
]
Top Performing Assets
POST /reports/top-performers
Lists the largest assets by market value on the specified date.
Request attributes
account(string) — A unique account identifier.asOfDate(string) — The 'as of' date for the reporting period in YYYYMMDD format. For the current processing month use the date of the last data load, otherwise use the end-of-month date.period(string) — A valid period to report on.recordLimit(string) — The maximum number of records to return. Assign 0 for no record limit.
Request
curl -X POST "/reports/largest-holdings" \
-H "Content-Type: application/json" \
-H "x-api-key: secret_test_key" \
-d '{
"account": "22-222233",
"asOfDate": "20240630",
"period": "YTD",
"schema": "1",
"recordLimit": "10"
}'
Response
[
{
"accountId": "22-222233",
"accountName": "Model Portfolio A",
"accountInceptionDate": "2024/06/30",
"asOfDate": "2024/07/31",
"classId": "FX",
"className": "Fixed Income",
"sectorId": "24",
"sectorName": "Communications",
"assetId": "1845402H4",
"assetName": "CLEAR CRK ISD-REF 2.5 2/15/2021",
"ticker": "1845402H4",
"cusip": "1845402H4",
"periodIndex": 1,
"period": "ITD",
"periodFromDate": "2024/06/30",
"periodToDate": "2024/07/31",
"periodFromDateAdjusted": "N",
"marketValue": 26877.69,
"allocation": 1.734406,
"totalUVR": 1.007632,
"annualizedROR": 0.76
}
]
Transactions
POST /reports/transactions
This report shows asset-level transaction details for individual portfolios or composite constituents.
Request attributes
account(string) — A unique account identifier.asOfDate(string) — The 'as of' date for the reporting period in YYYYMMDD format. For the current processing month use the date of the last data load, otherwise use the end-of-month date.period(string) — A valid period for which to return transactions.
Request
curl -X POST "/reports/transactions" \
-H "Content-Type: application/json" \
-H "x-api-key: secret_test_key" \
-d '{
"account": "22-222233",
"asOfDate": "20240630",
"period": "YTD"
}'
Response
[
{
"accountId": "22-222233",
"accountName": "Model Portfolio A",
"accountInceptionDate": "2024/06/30",
"asOfDate": "2024/07/31",
"toDate": "2024/07/31",
"fromDate": "2024/06/30",
"fromDateAdjusted": "N",
"classId": "FX",
"className": "Fixed Income",
"sectorId": "24",
"sectorName": "Communications",
"assetId": "1845402H4",
"assetName": "CLEAR CRK ISD-REF 2.5 2/15/2021",
"ticker": "1845402H4",
"cusip": "1845402H4",
"transactionDate": "2024/01/31",
"transactionCategoryId": "02",
"transactionCategory": "Income Received",
"transactionCode": "47",
"transactionCodeDescription": "INTEREST",
"transactionUnits": 50,
"transactionUnitPrice": 99.99,
"transactionPrincipal": 4999.5,
"transactionIncome": 123.45,
"transactionFees": 9.95,
"transactionStory": "Free receipt to open account."
}
]