Demo API Docs

This is API documentation for the First Rate Demo environment. It provides access to various reports related to portfolio management and performance.

The Try it buttons below send requests to a local mock server that returns example responses from this spec. No live data is involved.

Reports

POST/reports/composite-allocation

Composite Allocation

This report returns market values, accruals, and allocations for the specified composite and its underlying constituents.

Request body

A JSON object containing the following request parameters:

  • compositestringrequired

    A unique composite account identifier. All composite accounts begin with either 'AGG' or 'AGE'.

    Example: "AGGAPRILTEST2"

  • asOfDatestring<date>required

    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.

    Example: "20240630"

Response

Array ofobject
  • compositeIdstring

    The unique identifier for the composite. All constituents share this ID. This ID is derived from the composite account's unique account ID by removing the 'AGG' or 'AGE' prefix.

    Example: "APRILTEST2"

  • compositeNamestring

    The name or title assigned to the composite.

    Example: "Authors and Scientists Composite"

  • compositeInceptionDatestring<date>

    The date when the composite was established, in YYYY/MM/DD format.

    Example: "2011/10/15"

  • accountIdstring

    The unique identifier for the underlying constituent account. The composite account can also be included and is identified as the accountId matching the user input accountId (or without the AGG/AGE prefix being equal to the compositeId).

    Example: "22-222233"

  • accountNamestring

    The name or title assigned to the constituent account. Standard account names can be up to 50 characters. Alternate reporting account names can be used (based on system settings) and can be up to 100 characters.

    Example: "Model Portfolio A"

  • accountInceptionDatestring<date>

    The date when the constituent account was established, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • asOfDatestring<date>

    The reporting date, in YYYY/MM/DD format, reflecting the date specified in the request.

    Example: "2024/07/31"

  • marketnumber<float>

    The sum of the account's asset values as of the specified date.

    Example: 2634780.85

  • accrualnumber<float>

    The sum of the account's asset accrued earnings as of the specified date.

    Example: 3647.6

  • marketValuenumber<float>

    The sum of the account's asset values including any accrued earnings as of the specified date.

    Example: 2638428.45

  • allocationnumber<float>

    The percentage of the account within the composite as of the specified date.

    Example: 1.734406

Example requestjson
{
  "composite": "AGGAPRILTEST2",
  "asOfDate": "20240630"
}
Example responsejson
[
  {
    "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
  }
]
POST/reports/composite-performance

Composite Performance

This report lists composite and constituent performance and allocation, as well as inception dates for the composite and its constituents.

Request body

A JSON object containing the following request parameters:

  • compositestringrequired

    A unique composite account identifier. All composite accounts begin with either 'AGG' or 'AGE'.

    Example: "AGGAPRILTEST2"

  • asOfDatestring<date>required

    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.

    Example: "20240630"

  • periodsarray<string>required

    A valid period to report on. Valid period values include: 1-999
     QTR1-999
     CMP1-12
     MPP1-999
     FMP1-12
     APP1-999
     FAP1-999
     MTD
     YTD
     FTD
     FQD
     FQD1-999
     QTD
     QTD1-999
     ITD
     PTP
     SPD
     ICM

    Array ofstring
    string
  • sectorsarray<string>

    A list of sector identifiers for which to retrieve data.

    Array ofstring
    string
  • benchmarksarray<string>

    An optional list of benchmark identifiers.

    Array ofstring
    string

Response

Array ofobject
  • compositeIdstring

    The unique identifier for the composite. All constituents share this ID. This ID is derived from the composite account's unique account ID by removing the 'AGG' or 'AGE' prefix.

    Example: "APRILTEST2"

  • compositeNamestring

    The name or title assigned to the composite.

    Example: "Authors and Scientists Composite"

  • compositeInceptionDatestring<date>

    The date when the composite was established, in YYYY/MM/DD format.

    Example: "2011/10/15"

  • accountIdstring

    The unique identifier for the underlying constituent account. The composite account can also be included and is identified as the accountId matching the user input accountId (or without the AGG/AGE prefix being equal to the compositeId).

    Example: "22-222233"

  • accountNamestring

    The name or title assigned to the constituent account. Standard account names can be up to 50 characters. Alternate reporting account names can be used (based on system settings) and can be up to 100 characters.

    Example: "Model Portfolio A"

  • accountInceptionDatestring<date>

    The date when the constituent account was established, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • asOfDatestring<date>

    The reporting date, in YYYY/MM/DD format, reflecting the date specified in the request.

    Example: "2024/07/31"

  • segmentIdstring

    The identifier for the segment. A segment can be either a benchmark, sector, or groups of sectors(asset class)

    Example: "TF"

  • segmentNamestring

    The benchmark or sector name assigned to the segment.

    Example: "Total Fund"

  • segmentTypestring enum

    Indicates whether the data record represents a benchmark or a sector.

    Example: "sector"

    Allowed: benchmark, sector

  • sectorMarketnumber

    The sum of the sector's asset values as of the specified date. If the segment is a benchmark, this value is null.

    Example: 2634780.85

  • sectorAccrualnumber

    The accrued earnings of the sector as of the specified date. If the segment is a benchmark, this value is null.

    Example: 3647.65

  • sectorMarketValuenumber

    The sum of the sector's asset values and accrued earnings as of the specified date. If the segment is a benchmark, this value is null.

    Example: 2638428.45

  • sectorAllocationnumber

    The allocation percentage of the sector as of the specified date. If the segment is a benchmark, this value is null.

    Example: 1.734406

  • periodIndexinteger

    The index of the current period from the list provided in the input parameter periods. For example, if the periods provided are ['YTD', 'ITD'], the indexes will be 1 and 2, respectively.

    Example: 1

  • periodstring

    The period identifier from the input parameter periods, representing the defined start and end dates for the data record.

    Example: "ITD"

  • periodFromDatestring<date>

    The start date of the period, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • periodToDatestring<date>

    The end date of the period, in YYYY/MM/DD format.

    Example: "2024/07/31"

  • periodFromDateAdjustedstring enum

    If Y, this indicates that the period's start date (fromDate) was adjusted forward to match the account's inception date.

    Example: "N"

    Allowed: N, Y

  • totalUvrnumber

    The return for the period, expressed as a unit value ratio (UVR).

    Example: 0.981646

  • annualizedRORnumber

    The segment's annualized rate of return for the period, expressed as a percentage (%).

    Example: -1.84

Example requestjson
{
  "composite": "AGGAPRILTEST2",
  "asOfDate": "20240630",
  "periods": [
    "1",
    "ITD"
  ],
  "sectors": [
    "EQ",
    "01"
  ],
  "benchmarks": [
    "01",
    "42"
  ]
}
Example responsejson
[
  {
    "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
  }
]
POST/reports/demographics

Portfolio Demographics

This report lists values for requested portfolio demographics fields as of the specified date.

Request body

A JSON object containing the following request parameters:

  • accountsarray<string>required

    A list of one or more unique account identifiers.

    Array ofstring
    string

    Example: "22-222233"

  • asOfDatestring<date>

    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.

    Example: "20240630"

  • demographicsarray<string enum>

    A list of demographic field identifiers to retrieve.

    Array ofstring enum
    string enum

Response

Array ofobject
  • accountIdstring

    The unique identifier for the account or composite.

    Example: "22-222233"

  • fieldIdstring

    The unique identifier for the demographic field.

    Example: "ACCT"

  • fieldNamestring

    The name of the demographic field.

    Example: "ACCT"

  • fieldDescriptionstring

    The description of the demographic field.

    Example: "Account ID"

  • valuestring

    The value of the demographic field.

    Example: "22-222233"

  • valueDescriptionstring

    The description of the demographic field, if any.

    Example: "Account 22-222233"

Example requestjson
{
  "accounts": [
    "22-222233"
  ],
  "asOfDate": "20240630",
  "demographics": [
    "ACCT",
    "NAME",
    "MVI_ACC",
    "ICPDATED",
    "BNK",
    "ACCTCURR",
    "UDA101"
  ]
}
Example responsejson
[
  {
    "accountId": "22-222233",
    "fieldId": "ACCT",
    "fieldName": "ACCT",
    "fieldDescription": "Account ID",
    "value": "22-222233",
    "valueDescription": "Account 22-222233"
  }
]
POST/reports/fixed-income

Fixed Income Details

This report displays characteristic averages of fixed income securities including coupons, yields, maturities, durations, in addition to market values, accruals and other values.

Request body

A JSON object containing the following request parameters:

  • accountstringrequired

    A unique account identifier.

    Example: "22-222233"

  • asOfDatestring<date>required

    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.

    Example: "20240630"

  • periodsarray<string>required

    A valid period to report on. Valid period values include: 1-999
     QTR1-999
     CMP1-12
     MPP1-999
     FMP1-12
     APP1-999
     FAP1-999
     MTD
     YTD
     FTD
     FQD
     FQD1-999
     QTD
     QTD1-999
     ITD
     PTP
     SPD
     ICM

    Array ofstring
    string

Response

Array ofobject
  • accountIdstring

    The unique identifier for the account or composite.

    Example: "22-222233"

  • accountNamestring

    The name or title assigned to the constituent account. Standard account names can be up to 50 characters. Alternate reporting account names can be used (based on system settings) and can be up to 100 characters.

    Example: "Model Portfolio A"

  • accountInceptionDatestring<date>

    The date when the constituent account was established, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • classIdstring

    The identifier of the asset class.

    Example: "FX"

  • classNamestring

    The name assigned to the asset class.

    Example: "Fixed Income"

  • sectorIdstring

    The identifier of the sector or class

    Example: "24"

  • sectorNamestring

    The benchmark or sector name assigned to the segment.

    Example: "Communications"

  • assetIdstring

    The unique identifier for the asset.

    Example: "1845402H4"

  • acquisitionDatestring<date>

    The acquisition date in YYYY/MM/DD format.

    Example: "2024/01/31"

  • periodIndexinteger

    The index of the current period from the list provided in the input parameter periods. For example, if the periods provided are ['YTD', 'ITD'], the indexes will be 1 and 2, respectively.

    Example: 1

  • periodFromDatestring<date>

    The start date of the period, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • periodToDatestring<date>

    The end date of the period, in YYYY/MM/DD format.

    Example: "2024/07/31"

  • periodFromDateAdjustedstring enum

    If Y, this indicates that the period's start date (fromDate) was adjusted forward to match the account's inception date.

    Example: "N"

    Allowed: N, Y

  • pricenumber

    The unit price of the asset not including any accrued income.

    Example: 108.537

  • unitsnumber

    The number of shares held.

    Example: 45.15

  • principalnumber

    The principal or market value of the asset not including any accrued income.

    Example: 99.99

  • accrualnumber

    Income that has been accrued but not yet been paid.

    Example: 15.25

  • couponnumber

    A coupon or coupon payment is the annual interest rate paid on a bond, expressed as a percentage of the face value and paid from issue date until maturity.

    Example: 4.125

  • costnumber

    The initial cost of the asset.

    Example: 4999.55

  • daysToMaturityinteger

    The number of days until maturity.

    Example: 1322

  • maturityDescriptionstring

    The maturity description or category of the asset.

    Example: "Short (1-5 Years)"

  • maturityDatestring<date>

    The maturity date in YYYY/MM/DD format.

    Example: "2028/01/31"

  • yieldToMaturitynumber

    The initial cost of the asset.

    Example: 1.634

  • durationnumber

    The duration of the asset.

    Example: 3.378

  • qualitystring

    The rating or quality of the asset.

    Example: "AAA"

Example requestjson
{
  "account": "22-222233",
  "asOfDate": "20240630",
  "periods": [
    "1",
    "ITD"
  ]
}
Example responsejson
[
  {
    "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"
  }
]
POST/reports/holdings

Holdings Listing

Lists the asset-level financial data as of the specified date. Data returned includes asset names, ids, units, accruals and market values.

Request body

A JSON object containing the following request parameters:

  • accountstringrequired

    A unique account identifier.

    Example: "22-222233"

  • asOfDatestring<date>required

    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.

    Example: "20240630"

  • schemastring enum

    Selects segment schema 1, 2, or 3. Defaults to 1.

    Example: "1"

    Allowed: 1, 2, 3

Response

Array ofobject
  • accountIdstring

    The unique identifier for the account or composite.

    Example: "22-222233"

  • accountNamestring

    The name or title assigned to the constituent account. Standard account names can be up to 50 characters. Alternate reporting account names can be used (based on system settings) and can be up to 100 characters.

    Example: "Model Portfolio A"

  • accountInceptionDatestring<date>

    The date when the constituent account was established, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • asOfDatestring<date>

    The reporting date, in YYYY/MM/DD format, reflecting the date specified in the request.

    Example: "2024/07/31"

  • toDatestring<date>

    The end date of the period, in YYYY/MM/DD format.

    Example: "2024/07/31"

  • fromDatestring<date>

    The start date of the period, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • fromDateAdjustedstring enum

    If Y, this indicates that the period's start date (fromDate) was adjusted forward to match the account's inception date.

    Example: "N"

    Allowed: N, Y

  • classIdstring

    The identifier of the asset class.

    Example: "FX"

  • classNamestring

    The name assigned to the asset class.

    Example: "Fixed Income"

  • sectorIdstring

    The identifier of the sector or category.

    Example: "88"

  • sectorNamestring

    The benchmark or sector name assigned to the segment.

    Example: "Municipal Bonds"

  • assetIdstring

    The unique identifier for the asset.

    Example: "1845402H4"

  • assetNamestring

    The name assigned to the asset.

    Example: "CLEAR CRK ISD-REF 2.5 2/15/2021"

  • tickerstring

    The ticker symbol assigned to the asset. A ticker symbol or stock symbol is an abbreviation used to uniquely identify publicly traded shares of a particular stock on a particular stock market.

    Example: "1845402H4"

  • cusipstring

    The CUSIP value assigned to the assetId. The CUSIP is a unique identification number assigned to all stocks and registered bonds in the United States and Canada.

    Example: "1845402H4"

  • unitsnumber

    The number of shares held.

    Example: 45.15

  • principalnumber

    The principal or market value of the asset not including any accrued income.

    Example: 99.99

  • accrualnumber

    Income that has been accrued but not yet been paid.

    Example: 15.25

  • marketValuenumber

    The market or principal value of the asset including any accrued income.

    Example: 99.99

Example requestjson
{
  "account": "22-222233",
  "asOfDate": "20240630",
  "schema": "1"
}
Example responsejson
[
  {
    "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
  }
]
POST/reports/investment-summary

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 body

A JSON object containing the following request parameters:

  • accountstringrequired

    A unique account identifier.

    Example: "22-222233"

  • asOfDatestring<date>required

    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.

    Example: "20240630"

  • periodsarray<string>

    A valid period to report on. Valid period values include: 1-999
     QTR1-999
     CMP1-12
     MPP1-999
     FMP1-12
     APP1-999
     FAP1-999
     MTD
     YTD
     FTD
     FQD
     FQD1-999
     QTD
     QTD1-999
     ITD
     PTP
     SPD
     ICM

    Array ofstring
    string
  • sectorsarray<string>

    A list of sector identifiers for which to retrieve data.

    Array ofstring
    string

Response

Array ofobject
  • accountIdstring

    The unique identifier for the account or composite.

    Example: "22-222233"

  • accountNamestring

    The name or title assigned to the constituent account. Standard account names can be up to 50 characters. Alternate reporting account names can be used (based on system settings) and can be up to 100 characters.

    Example: "Model Portfolio A"

  • accountInceptionDatestring<date>

    The date when the constituent account was established, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • asOfDatestring<date>

    The reporting date, in YYYY/MM/DD format, reflecting the date specified in the request.

    Example: "2024/07/31"

  • sectorIdstring

    The identifier of the sector or category.

    Example: "24"

  • sectorNamestring

    The benchmark or sector name assigned to the segment.

    Example: "Communication Services"

  • periodstring

    The period identifier from the input parameter periods, representing the defined start and end dates for the data record.

    Example: "ITD"

  • periodFromDatestring<date>

    The start date of the period, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • periodToDatestring<date>

    The end date of the period, in YYYY/MM/DD format.

    Example: "2024/07/31"

  • periodFromDateAdjustedstring enum

    If Y, this indicates that the period's start date (fromDate) was adjusted forward to match the account's inception date.

    Example: "N"

    Allowed: N, Y

  • beginMarketnumber

    The sum of the sector's asset values as of the end of the month prior to the period start date.

    Example: 160922.48

  • beginAccrualnumber

    The sum of the sector's asset accrued values as of the end of the month prior to the period start date.

    Example: 0

  • beginNAVnumber

    The sum of the sector's asset values as of the end of the month prior to the period start date (periodBeginMarket) and the sum of the sector's asset accrued values as of the end of the month prior to the period start date (periodBeginAccrual).

    Example: 160922.48

  • feesnumber

    Account level fees for the period. If the segment is not a total fund sector then this value is null.

    Example: 0

  • contributionsnumber

    The sum of the transactions identified as contributions for the sector and period.

    Example: 0

  • withdrawalsnumber

    The sum of the transactions identified as withdrawals for the sector and period.

    Example: 0

  • withdrawalsLessFeesnumber

    Period withdrawals less period fees. This is calculated as (periodWithdrawals) - (periodFees). If the segment is not a total fund sector then this value is null.

    Example: 0

  • netContributionsWithdrawalsnumber

    Net contributions and withdrawals. This is calculated as (periodContributions) - (periodWithdrawals).

    Example: 0

  • netContributionsWithdrawalsLessFeesnumber

    Net contributions and withdrawals less fees. This is calculated as (periodNetContributionsWithdrawals) - (periodFees). If the segment is not a total fund sector then this value is null.

    Example: 0

  • incomenumber

    The sum of the transactions identified as income received for the sector and period.

    Example: 125.78

  • incomeEarnednumber

    Income earned for the sector and period. This is calculated as (periodNetAccrual) + (periodIncome).

    Example: 5.75

  • incomeDividendsnumber

    The sum of transactions identified as dividend income for the account and period. If the segment is not a total fund sector then this value is null.

    Example: 7.62

  • incomeInterestnumber

    The sum of transactions identified as interest income for the account and period. If the segment is not a total fund sector then this value is null.

    Example: 1.85

  • incomeShortTermnumber

    The sum of transactions identified as short term interest income for the account and period. If the segment is not a total fund sector then this value is null.

    Example: 4.5

  • incomeOthernumber

    The sum of transactions identified as other income received (not dividend or short term interest) for the account and period. If the segment is not a total fund sector then this value is null.

    Example: 1.25

  • endMarketnumber

    The sum of the sector's asset values at the end of the period.

    Example: 164699.85

  • endAccrualnumber

    The sum of the sector's asset accrued values at the end of the period.

    Example: 0

  • netAccrualnumber

    Net accruals for the sector and period. This is calculated as (periodEndAccrual - (periodBeginAccrual).

    Example: 0

  • endNAVnumber

    The sum of the sector's asset values at the end of the period (periodEndMarket) and the sum of the sector's asset accrued values at the end of the period (periodEndAccrual).

    Example: 164699.81

  • gainLossnumber

    The change in market value, excluding accruals, for the period.

    Example: 3777.32

  • gainLossWithAccrualnumber

    The change in market value and accruals over the period.

    Example: 3777.32

  • shortRealizedGainLossstring

    Short term realized capital gains and losses for the period. Short-term capital gains (losses) are profits (losses) realized from the sale of personal or investment property that has been held for one year or less. If the segment is not a total fund sector then this value is null.

    Example: 1000.03

  • longRealizedGainLossstring

    Long term realized capital gains and losses for the period. Long-term capital gains (losses) are profits (losses) realized from the sale of personal or investment property that has been held for more than one year. If the segment is not a total fund sector then this value is null.

    Example: 780.85

  • totalRealizedGainLossstring

    Realized capital gains and losses for the period. This is calculated as (periodShortRealizedGainLoss) - (periodLongRealizedGainLoss). If the segment is not a total fund sector then this value is null.

    Example: 1780.88

  • totalInvestmentReturnnumber

    Total Investment Return. This is calculated as (GainLossWithAccrual) + (periodIncome).

    Example: 3880.32

Example requestjson
{
  "account": "22-222233",
  "asOfDate": "20240630",
  "periods": [
    "1",
    "ITD"
  ],
  "sectors": [
    "EQ",
    "01"
  ]
}
Example responsejson
[
  {
    "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
  }
]
POST/reports/largest-holdings

Largest Holdings

Lists the largest assets by market value on the specified date.

Request body

A JSON object containing the following request parameters:

  • accountstring

    A unique account identifier.

    Example: "22-222233"

  • asOfDatestring<date>required

    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.

    Example: "20240630"

  • periodstring

    A valid period to report on. Valid period values include:
     1-999
     QTR1-999
     CMP1-12
     MPP1-999
     FMP1-12
     APP1-999
     FAP1-999
     MTD
     YTD
     FTD
     FQD
     FQD1-999
     QTD
     QTD1-999
     ITD
     PTP
     SPD
     ICM

    Example: "YTD"

  • schemastring enum

    Selects segment schema 1, 2, or 3. Defaults to 1.

    Example: "1"

    Allowed: 1, 2, 3

  • recordLimitstring

    The maximum number of records to return. Assign 0 for no record limit.

    Example: "10"

Response

Array ofobject
  • accountIdstring

    The unique identifier for the account or composite.

    Example: "22-222233"

  • accountNamestring

    The name or title assigned to the constituent account. Standard account names can be up to 50 characters. Alternate reporting account names can be used (based on system settings) and can be up to 100 characters.

    Example: "Model Portfolio A"

  • accountInceptionDatestring<date>

    The date when the constituent account was established, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • asOfDatestring<date>

    The reporting date, in YYYY/MM/DD format, reflecting the date specified in the request.

    Example: "2024/07/31"

  • classIdstring

    The identifier of the asset class.

    Example: "FX"

  • classNamestring

    The name assigned to the asset class.

    Example: "Fixed Income"

  • sectorIdstring

    The identifier of the sector or class

    Example: "24"

  • sectorNamestring

    The benchmark or sector name assigned to the segment.

    Example: "Communications"

  • assetIdstring

    The unique identifier for the asset.

    Example: "1845402H4"

  • assetNamestring

    The name assigned to the asset.

    Example: "CLEAR CRK ISD-REF 2.5 2/15/2021"

  • tickerstring

    The ticker symbol assigned to the asset. A ticker symbol or stock symbol is an abbreviation used to uniquely identify publicly traded shares of a particular stock on a particular stock market.

    Example: "1845402H4"

  • cusipstring

    The CUSIP value assigned to the assetId. The CUSIP is a unique identification number assigned to all stocks and registered bonds in the United States and Canada.

    Example: "1845402H4"

  • periodIndexinteger

    The index of the current period from the list provided in the input parameter periods. For example, if the periods provided are ['YTD', 'ITD'], the indexes will be 1 and 2, respectively.

    Example: 1

  • periodstring

    The period identifier from the input parameter periods, representing the defined start and end dates for the data record.

    Example: "ITD"

  • periodFromDatestring<date>

    The start date of the period, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • periodToDatestring<date>

    The end date of the period, in YYYY/MM/DD format.

    Example: "2024/07/31"

  • periodFromDateAdjustedstring enum

    If Y, this indicates that the period's start date (fromDate) was adjusted forward to match the account's inception date.

    Example: "N"

    Allowed: N, Y

  • marketValuenumber<float>

    The asset's market value including any accrued earnings as of the specified date.

    Example: 26877.69

  • allocationnumber<float>

    The allocation percentage of the asset as of the specified date.

    Example: 1.734406

  • totalUVRnumber<float>

    The asset's rate of return for the period, expressed as a unit value ratio (UVR).

    Example: 1.007632

  • annualizedRORnumber<float>

    The asset's annualized rate of return for the period, expressed as a percentage (%).

    Example: 0.76

Example requestjson
{
  "account": "22-222233",
  "asOfDate": "20240630",
  "period": "YTD",
  "schema": "1",
  "recordLimit": "10"
}
Example responsejson
[
  {
    "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
  }
]
POST/reports/performance-mw

Money-Weighted Performance

The Money-Weighted Performance report lists the market values and money-weighted performance for selected portfolios and benchmarks for the specified periods.

Request body

A JSON object containing the following request parameters:

  • accountstringrequired

    A unique composite account identifier. All composite accounts begin with either 'AGG' or 'AGE'.

    Example: "AGGAPRILTEST2"

  • asOfDatestring<date>required

    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.

    Example: "20240630"

  • periodsarray<string>required

    A valid period to report on. Valid period values include: 1-999
     QTR1-999
     CMP1-12
     MPP1-999
     FMP1-12
     APP1-999
     FAP1-999
     MTD
     YTD
     FTD
     FQD
     FQD1-999
     QTD
     QTD1-999
     ITD
     PTP
     SPD
     ICM

    Array ofstring
    string
  • sectorsarray<string>required

    A list of sector identifiers for which to retrieve data.

    Array ofstring
    string

Response

Array ofobject
  • accountIdstring

    The unique identifier for the account or composite.

    Example: "22-222233"

  • accountNamestring

    The name or title assigned to the constituent account. Standard account names can be up to 50 characters. Alternate reporting account names can be used (based on system settings) and can be up to 100 characters.

    Example: "Model Portfolio A"

  • accountInceptionDatestring<date>

    The date when the constituent account was established, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • asOfDatestring<date>

    The reporting date, in YYYY/MM/DD format, reflecting the date specified in the request.

    Example: "2024/07/31"

  • sectorIdstring

    The identifier for the segment. A segment can be either a benchmark, sector, or groups of sectors(asset class)

    Example: "TF"

  • sectorNamestring

    The benchmark or sector name assigned to the segment.

    Example: "Total Fund"

  • sectorMarketnumber

    The sum of the sector's asset values as of the specified date. If the segment is a benchmark, this value is null.

    Example: 2634780.85

  • sectorAccrualnumber

    The accrued earnings of the sector as of the specified date. If the segment is a benchmark, this value is null.

    Example: 3647.65

  • sectorMarketValuenumber

    The sum of the sector's asset values and accrued earnings as of the specified date. If the segment is a benchmark, this value is null.

    Example: 2638428.45

  • periodIndexinteger

    The index of the current period from the list provided in the input parameter periods. For example, if the periods provided are ['YTD', 'ITD'], the indexes will be 1 and 2, respectively.

    Example: 1

  • periodstring

    The period identifier from the input parameter periods, representing the defined start and end dates for the data record.

    Example: "ITD"

  • monthsinteger

    The number of months in the selected time period.

    Example: 12

  • periodFromDatestring<date>

    The start date of the period, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • annualizedRORnumber

    The segment's annualized rate of return for the period, expressed as a percentage (%).

    Example: -1.84

Example requestjson
{
  "account": "AGGAPRILTEST2",
  "asOfDate": "20240630",
  "periods": [
    "1",
    "ITD"
  ],
  "sectors": [
    "EQ",
    "01"
  ]
}
Example responsejson
[
  {
    "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
  }
]
POST/reports/performance-si

Sector Inception Performance

The Sector Inception Performance report lists the market values and time-weighted performance for selected sectors and benchmarks for the specified periods, including inception-to-date performance for sectors and benchmarks.

Request body

A JSON object containing the following request parameters:

  • accountstringrequired

    A unique account identifier.

    Example: "22-222233"

  • asOfDatestring<date>required

    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.

    Example: "20240630"

  • periodsarray<string>required

    A valid period to report on. Valid period values include: 1-999
     QTR1-999
     CMP1-12
     MPP1-999
     FMP1-12
     APP1-999
     FAP1-999
     MTD
     YTD
     FTD
     FQD
     FQD1-999
     QTD
     QTD1-999
     ITD
     PTP
     SPD
     ICM

    Array ofstring
    string
  • sectorsarray<string>

    A list of sector identifiers for which to retrieve data.

    Array ofstring
    string
  • benchmarksarray<string>

    An optional list of benchmark identifiers.

    Array ofstring
    string

Response

Array ofobject
  • accountIdstring

    The unique identifier for the underlying constituent account. The composite account can also be included and is identified as the accountId matching the user input accountId (or without the AGG/AGE prefix being equal to the compositeId).

    Example: "22-222233"

  • accountNamestring

    The name or title assigned to the constituent account. Standard account names can be up to 50 characters. Alternate reporting account names can be used (based on system settings) and can be up to 100 characters.

    Example: "Model Portfolio A"

  • accountInceptionDatestring<date>

    The date when the constituent account was established, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • asOfDatestring<date>

    The reporting date, in YYYY/MM/DD format, reflecting the date specified in the request.

    Example: "2024/07/31"

  • segmentIdstring

    The identifier for the segment. A segment can be either a benchmark, sector, or groups of sectors(asset class)

    Example: "TF"

  • segmentNamestring

    The benchmark or sector name assigned to the segment.

    Example: "Total Fund"

  • segmentTypestring enum

    Indicates whether the data record represents a benchmark or a sector.

    Example: "sector"

    Allowed: benchmark, sector

  • segmentInceptionDatestring<date>

    The inception date of the segment in YYYY/MM/DD format.

    Example: "2024/01/31"

  • sectorMarketValuenumber

    The sum of the sector's asset values and accrued earnings as of the specified date. If the segment is a benchmark, this value is null.

    Example: 2638428.45

  • periodIndexinteger

    The index of the current period from the list provided in the input parameter periods. For example, if the periods provided are ['YTD', 'ITD'], the indexes will be 1 and 2, respectively.

    Example: 1

  • periodstring

    The period identifier from the input parameter periods, representing the defined start and end dates for the data record.

    Example: "ITD"

  • periodFromDatestring<date>

    The start date of the period, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • periodToDatestring<date>

    The end date of the period, in YYYY/MM/DD format.

    Example: "2024/07/31"

  • periodFromDateAdjustedstring enum

    If Y, this indicates that the period's start date (fromDate) was adjusted forward to match the account's inception date.

    Example: "N"

    Allowed: N, Y

  • totalUvrnumber

    The return for the period, expressed as a unit value ratio (UVR).

    Example: 0.981646

  • annualizedRORnumber

    The segment's annualized rate of return for the period, expressed as a percentage (%).

    Example: -1.84

Example requestjson
{
  "account": "22-222233",
  "asOfDate": "20240630",
  "periods": [
    "1",
    "ITD"
  ],
  "sectors": [
    "EQ",
    "01"
  ],
  "benchmarks": [
    "01",
    "42"
  ]
}
Example responsejson
[
  {
    "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
  }
]
POST/reports/performance-tw

Time-Weighted Performance

The Time-Weighted Performance report lists the market values and rates of return for selected portfolios and benchmarks for the specified periods.

Request body

A JSON object containing the following request parameters:

  • accountsarray<string>required

    A list of one or more unique account identifiers.

    Array ofstring
    string

    Example: "22-222233"

  • asOfDatestring<date>required

    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.

    Example: "20240630"

  • periodsarray<string>required

    A valid period to report on. Valid period values include: 1-999
     QTR1-999
     CMP1-12
     MPP1-999
     FMP1-12
     APP1-999
     FAP1-999
     MTD
     YTD
     FTD
     FQD
     FQD1-999
     QTD
     QTD1-999
     ITD
     PTP
     SPD
     ICM

    Array ofstring
    string
  • sectorsarray<string>

    A list of sector identifiers for which to retrieve data.

    Array ofstring
    string
  • benchmarksarray<string>

    An optional list of benchmark identifiers.

    Array ofstring
    string

Response

Array ofobject
  • accountIdstring

    The unique identifier for the account or composite.

    Example: "22-222233"

  • accountNamestring

    The name or title assigned to the constituent account. Standard account names can be up to 50 characters. Alternate reporting account names can be used (based on system settings) and can be up to 100 characters.

    Example: "Model Portfolio A"

  • accountInceptionDatestring<date>

    The date when the constituent account was established, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • asOfDatestring<date>

    The reporting date, in YYYY/MM/DD format, reflecting the date specified in the request.

    Example: "2024/07/31"

  • segmentIdstring

    The identifier for the segment. A segment can be either a benchmark, sector, or groups of sectors(asset class)

    Example: "TF"

  • segmentNamestring

    The benchmark or sector name assigned to the segment.

    Example: "Total Fund"

  • segmentTypestring enum

    Indicates whether the data record represents a benchmark or a sector.

    Example: "sector"

    Allowed: benchmark, sector

  • sectorMarketnumber

    The sum of the sector's asset values as of the specified date. If the segment is a benchmark, this value is null.

    Example: 2634780.85

  • sectorAccrualnumber

    The accrued earnings of the sector as of the specified date. If the segment is a benchmark, this value is null.

    Example: 3647.65

  • sectorMarketValuenumber

    The sum of the sector's asset values and accrued earnings as of the specified date. If the segment is a benchmark, this value is null.

    Example: 2638428.45

  • periodIndexinteger

    The index of the current period from the list provided in the input parameter periods. For example, if the periods provided are ['YTD', 'ITD'], the indexes will be 1 and 2, respectively.

    Example: 1

  • periodstring

    The period identifier from the input parameter periods, representing the defined start and end dates for the data record.

    Example: "ITD"

  • monthsinteger

    The number of months in the selected time period.

    Example: 12

  • periodFromDatestring<date>

    The start date of the period, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • periodToDatestring<date>

    The end date of the period, in YYYY/MM/DD format.

    Example: "2024/07/31"

  • totalUvrnumber

    The return for the period, expressed as a unit value ratio (UVR).

    Example: 0.981646

  • annualizedRORnumber

    The segment's annualized rate of return for the period, expressed as a percentage (%).

    Example: -1.84

Example requestjson
{
  "accounts": [
    "22-222233"
  ],
  "asOfDate": "20240630",
  "periods": [
    "1",
    "ITD"
  ],
  "sectors": [
    "EQ",
    "01"
  ],
  "benchmarks": [
    "01",
    "42"
  ]
}
Example responsejson
[
  {
    "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
  }
]
POST/reports/risk-statistics

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 body

A JSON object containing the following request parameters:

  • accountstring

    A unique account identifier.

    Example: "22-222233"

  • asOfDatestring<date>required

    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.

    Example: "20240630"

  • periodstring

    A valid period to report on. Valid period values include:
     1-999
     QTR1-999
     CMP1-12
     MPP1-999
     FMP1-12
     APP1-999
     FAP1-999
     MTD
     YTD
     FTD
     FQD
     FQD1-999
     QTD
     QTD1-999
     ITD
     PTP
     SPD
     ICM

    Example: "YTD"

  • sectorstringrequired

    The identifier of the model sector for the report.

    Example: "01"

  • benchmarkstringrequired

    The identifier of the benchmark to compare with the selected model sector.

    Example: "01"

  • benchmarkRiskFreestringrequired

    A benchmark representing the risk-free rate of return, used in the Sharpe and Treynor ratio calculations.

    Example: "42"

Response

Array ofobject
  • accountIdstring

    The unique identifier for the account or composite.

    Example: "22-222233"

  • accountNamestring

    The name or title assigned to the constituent account. Standard account names can be up to 50 characters. Alternate reporting account names can be used (based on system settings) and can be up to 100 characters.

    Example: "Model Portfolio A"

  • accountInceptionDatestring<date>

    The date when the constituent account was established, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • asOfDatestring<date>

    The reporting date, in YYYY/MM/DD format, reflecting the date specified in the request.

    Example: "2024/07/31"

  • fromDatestring<date>

    The start date of the period, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • toDatestring<date>

    The end date of the period, in YYYY/MM/DD format.

    Example: "2024/07/31"

  • segmentFromDatestring<date>

    Selected time period start date. If the start date of the specified period precedes the account's inception then this reflects the inception date.

    Example: "2024/06/30"

  • segmentIdstring

    The identifier for the segment. A segment can be either a benchmark, sector, or groups of sectors(asset class)

    Example: "TF"

  • segmentNamestring

    The benchmark or sector name assigned to the segment.

    Example: "Total Fund"

  • segmentTypestring enum

    Indicates whether the data record represents a benchmark or a sector.

    Example: "sector"

    Allowed: benchmark, sector

  • statisticTypestring

    A unique indicator for the risk statistic returned.

    Example: "BETA"

  • statisticDescriptionstring

    The name or description of the risk statistic.

    Example: "Beta"

  • statisticValuenumber<float>

    The value of the risk statistic.

    Example: 0.8

Example requestjson
{
  "account": "22-222233",
  "asOfDate": "20240630",
  "period": "YTD",
  "sector": "01",
  "benchmark": "01",
  "benchmarkRiskFree": "42"
}
Example responsejson
[
  {
    "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
  }
]
POST/reports/sector-allocation

Sector Allocation

This report lists the portfolio's market values and allocations by asset class and/or sector.

Request body

A JSON object containing the following request parameters:

  • accountsarray<string>

    A list of one or more unique account identifiers.

    Array ofstring
    string

    Example: "22-222233"

  • asOfDatestring<date>required

    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.

    Example: "20240630"

  • periodsarray<string>required

    A valid period to report on. Valid period values include: 1-999
     QTR1-999
     CMP1-12
     MPP1-999
     FMP1-12
     APP1-999
     FAP1-999
     MTD
     YTD
     FTD
     FQD
     FQD1-999
     QTD
     QTD1-999
     ITD
     PTP
     SPD
     ICM

    Array ofstring
    string
  • sectorsarray<string>required

    A list of sector identifiers for which to retrieve data.

    Array ofstring
    string

Response

Array ofobject
  • accountIdstring

    The unique identifier for the account or composite.

    Example: "22-222233"

  • accountNamestring

    The name or title assigned to the constituent account. Standard account names can be up to 50 characters. Alternate reporting account names can be used (based on system settings) and can be up to 100 characters.

    Example: "Model Portfolio A"

  • accountInceptionDatestring<date>

    The date when the constituent account was established, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • asOfDatestring<date>

    The reporting date, in YYYY/MM/DD format, reflecting the date specified in the request.

    Example: "2024/07/31"

  • sectorIdstring

    The identifier of the sector or class

    Example: "24"

  • sectorNamestring

    The benchmark or sector name assigned to the segment.

    Example: "Communications"

  • periodIndexinteger

    The index of the current period from the list provided in the input parameter periods. For example, if the periods provided are ['YTD', 'ITD'], the indexes will be 1 and 2, respectively.

    Example: 1

  • periodstring

    The period identifier from the input parameter periods, representing the defined start and end dates for the data record.

    Example: "ITD"

  • periodFromDatestring<date>

    The start date of the period, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • periodFromDateAdjustedstring enum

    If Y, this indicates that the period's start date (fromDate) was adjusted forward to match the account's inception date.

    Example: "N"

    Allowed: N, Y

  • totalUvrnumber

    The return for the period, expressed as a unit value ratio (UVR).

    Example: 0.981646

  • annualizedRORnumber

    The segment's annualized rate of return for the period, expressed as a percentage (%).

    Example: -1.84

Example requestjson
{
  "accounts": [
    "22-222233"
  ],
  "asOfDate": "20240630",
  "periods": [
    "1",
    "ITD"
  ],
  "sectors": [
    "EQ",
    "01"
  ]
}
Example responsejson
[
  {
    "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
  }
]
POST/reports/top-performers

Top Performing Assets

This report lists the top holdings for the selected portfolio or composite for the specified date. Assets mapped to non-performing sectors are excluded.

Request body

A JSON object containing the following request parameters:

  • accountstring

    A unique account identifier.

    Example: "22-222233"

  • asOfDatestring<date>required

    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.

    Example: "20240630"

  • periodstring

    A valid period to report on. Valid period values include:
     1-999
     QTR1-999
     CMP1-12
     MPP1-999
     FMP1-12
     APP1-999
     FAP1-999
     MTD
     YTD
     FTD
     FQD
     FQD1-999
     QTD
     QTD1-999
     ITD
     PTP
     SPD
     ICM

    Example: "YTD"

  • schemastring enum

    Selects segment schema 1, 2, or 3. Defaults to 1.

    Example: "1"

    Allowed: 1, 2, 3

  • recordLimitstring

    The maximum number of records to return. Assign 0 for no record limit.

    Example: "10"

Response

Array ofobject
  • accountIdstring

    The unique identifier for the account or composite.

    Example: "22-222233"

  • accountNamestring

    The name or title assigned to the constituent account. Standard account names can be up to 50 characters. Alternate reporting account names can be used (based on system settings) and can be up to 100 characters.

    Example: "Model Portfolio A"

  • accountInceptionDatestring<date>

    The date when the constituent account was established, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • asOfDatestring<date>

    The reporting date, in YYYY/MM/DD format, reflecting the date specified in the request.

    Example: "2024/07/31"

  • classIdstring

    The identifier of the asset class.

    Example: "FX"

  • classNamestring

    The name assigned to the asset class.

    Example: "Fixed Income"

  • sectorIdstring

    The identifier of the sector or class

    Example: "24"

  • sectorNamestring

    The benchmark or sector name assigned to the segment.

    Example: "Communications"

  • assetIdstring

    The unique identifier for the asset.

    Example: "1845402H4"

  • assetNamestring

    The name assigned to the asset.

    Example: "CLEAR CRK ISD-REF 2.5 2/15/2021"

  • tickerstring

    The ticker symbol assigned to the asset. A ticker symbol or stock symbol is an abbreviation used to uniquely identify publicly traded shares of a particular stock on a particular stock market.

    Example: "1845402H4"

  • cusipstring

    The CUSIP value assigned to the assetId. The CUSIP is a unique identification number assigned to all stocks and registered bonds in the United States and Canada.

    Example: "1845402H4"

  • periodIndexinteger

    The index of the current period from the list provided in the input parameter periods. For example, if the periods provided are ['YTD', 'ITD'], the indexes will be 1 and 2, respectively.

    Example: 1

  • periodstring

    The period identifier from the input parameter periods, representing the defined start and end dates for the data record.

    Example: "ITD"

  • periodFromDatestring<date>

    The start date of the period, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • periodToDatestring<date>

    The end date of the period, in YYYY/MM/DD format.

    Example: "2024/07/31"

  • periodFromDateAdjustedstring enum

    If Y, this indicates that the period's start date (fromDate) was adjusted forward to match the account's inception date.

    Example: "N"

    Allowed: N, Y

  • marketValuenumber

    The asset's market value including any accrued earnings as of the specified date.

    Example: 26877.69

  • allocationnumber

    The allocation of the asset as of the specified date, expressed as a percentage (%).

    Example: 1.734406

  • totalUVRnumber

    The asset's return for the period, expressed as a unit value ratio (UVR).

    Example: 1.007632

  • annualizedRORnumber

    The asset's annualized rate of return for the period, expressed as a percentage (%).

    Example: 0.76

Example requestjson
{
  "account": "22-222233",
  "asOfDate": "20240630",
  "period": "YTD",
  "schema": "1",
  "recordLimit": "10"
}
Example responsejson
[
  {
    "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
  }
]
POST/reports/transactions

Transaction Listing

This report shows asset-level transaction details for individual portfolios or composite constituents.

Request body

A JSON object containing the following request parameters:

  • accountstringrequired

    A unique account identifier.

    Example: "22-222233"

  • asOfDatestring<date>required

    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.

    Example: "20240630"

  • periodstring

    A valid period to report on. Valid period values include:
     1-999
     QTR1-999
     CMP1-12
     MPP1-999
     FMP1-12
     APP1-999
     FAP1-999
     MTD
     YTD
     FTD
     FQD
     FQD1-999
     QTD
     QTD1-999
     ITD
     PTP
     SPD
     ICM

    Example: "YTD"

Response

Array ofobject
  • accountIdstring

    The unique identifier for the account or composite.

    Example: "22-222233"

  • accountNamestring

    The name or title assigned to the constituent account. Standard account names can be up to 50 characters. Alternate reporting account names can be used (based on system settings) and can be up to 100 characters.

    Example: "Model Portfolio A"

  • accountInceptionDatestring<date>

    The date when the constituent account was established, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • asOfDatestring<date>

    The reporting date, in YYYY/MM/DD format, reflecting the date specified in the request.

    Example: "2024/07/31"

  • toDatestring<date>

    The end date of the period, in YYYY/MM/DD format.

    Example: "2024/07/31"

  • fromDatestring<date>

    The start date of the period, in YYYY/MM/DD format.

    Example: "2024/06/30"

  • fromDateAdjustedstring enum

    If Y, this indicates that the period's start date (fromDate) was adjusted forward to match the account's inception date.

    Example: "N"

    Allowed: N, Y

  • classIdstring

    The identifier of the asset class.

    Example: "FX"

  • classNamestring

    The name assigned to the asset class.

    Example: "Fixed Income"

  • sectorIdstring

    The identifier of the sector or class

    Example: "24"

  • sectorNamestring

    The benchmark or sector name assigned to the segment.

    Example: "Communications"

  • assetIdstring

    The unique identifier for the asset.

    Example: "1845402H4"

  • assetNamestring

    The name assigned to the asset.

    Example: "CLEAR CRK ISD-REF 2.5 2/15/2021"

  • tickerstring

    The ticker symbol assigned to the asset. A ticker symbol or stock symbol is an abbreviation used to uniquely identify publicly traded shares of a particular stock on a particular stock market.

    Example: "1845402H4"

  • cusipstring

    The CUSIP value assigned to the assetId. The CUSIP is a unique identification number assigned to all stocks and registered bonds in the United States and Canada.

    Example: "1845402H4"

  • transactionDatestring<date>

    The transaction or trade date in YYYY/MM/DD format.

    Example: "2024/01/31"

  • transactionCategoryIdstring

    The transaction category identifier that identifies the category of transaction.

    Examples include:
     02 Income Received
     20 Deliver Long

    Valid values are defined by the client.

    Example: "02"

  • transactionCategorystring

    The name assigned to the transaction category corresponding to the transactionCategoryId

    Example: "Income Received"

  • transactionCodestring

    The transaction identifier that identifies the type of transaction.

    Examples include:
     FRBUY Purchase
     FRPIN Income

    Valid values are defined by the client.

    Example: "47"

  • transactionCodeDescriptionstring

    The description associated with the transactionCode

    Example: "INTEREST"

  • transactionUnitsnumber

    The absolute value of the number of shares in the transaction.

    Example: 50

  • transactionUnitPricenumber

    The price per unit assigned to the transaction.

    Example: 99.99

  • transactionPrincipalnumber

    The principal value of the transaction.

    Example: 4999.5

  • transactionIncomenumber

    Cash income received (or purchased)

    Example: 123.45

  • transactionFeesnumber

    Transaction fees associated with the transaction.

    Example: 9.95

  • transactionStorystring

    Freeform text notes or description of the transaction.

    Example: "Free receipt to open account."

Example requestjson
{
  "account": "22-222233",
  "asOfDate": "20240630",
  "period": "YTD"
}
Example responsejson
[
  {
    "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."
  }
]

Household Management

POST/households/create

Create Household

This operation creates a new household in the system. Required parameters include a unique aggregate identifier and a list of accounts and entry participation dates in YYYYMM format. Demographic fields for the household can be set by providing them in the optional demographics parameter.

Request body

A JSON object containing the following request parameters:

  • aggIdstringrequired

    A unique aggregate/household identifier.

    Example: "AGGJULYTEST"

  • accountsarray<object>required

    A list of paired account identifiers and entry dates to include in the new household composite.

    Array ofobject
    • idstring

      A unique account identifier.

      Example: "22-222233"

    • datestring

      The month in YYYYMM format.

      Example: "202407"

  • demographicsobject

    Optional account demographic fields to set for the new household composite account.

    • FYEstring

      Ending month of fiscal year.

    • BNKstring

      Bank ID.

    • NAMEstring

      Household composite account name.

    • FREQXstring

      Reporting frequency.

    • SECPKGstring

      Sec package ID.

    • INDXPKGstring

      Index package ID.

    • REPTPKGstring

      Report package ID.

    • SECTPKGstring

      User defined field 6.

    • ADMstring

      Administrator ID.

    • OFFNstring

      Officer ID.

    • OBJstring

      Objective ID.

    • PWRstring

      Power ID.

    • TYPstring

      Account type ID.

    • STATUSstring

      Reporting status.

    • MVI_ACCstring enum

      Market Values + Accrual indicator flag.

      Allowed: Y, N

    • ICPDATEDstring

      Account inception date.

    • RPTDATEstring

      Records the reporting date for each account.

    • MR_INDstring enum

      Include in scheduled reporting.

      Allowed: Y, N

    • MRRPTFRQstring enum

      Scheduled reporting frequency.

      Allowed: M, Q, S, A

    • MRACTVRNstring enum

      Included in off-scheduled batch.

      Allowed: Y, N

    • MRLRPDTstring

      Most recent scheduled report as-of date.

    • MRLFRPDTstring

      Last failed report as-of date.

    • ACCTBASEstring

      Base currency indicator for global accounts.

    • AGGTYPstring

      Household composite aggregation type.

    • AGGOWNERstring

      Household composite creator/owner.

    • GLOBALFLstring

      Domestic or Global Account indicator.

    • UDA101string

      User defined field.

    • TOLERPKGstring

      Tolerance package ID.

    • PF_TIERinteger

      Portfolio reporting tier.

Response

  • statusstring enum

    The status of the operation, indicating whether it was successful or not.

    Allowed: success, error

  • messagestring

    A message providing details about the successful operation.

Example requestjson
{
  "aggId": "AGGJULYTEST",
  "accounts": [
    {
      "id": "22-222233",
      "date": "202407"
    }
  ],
  "demographics": {
    "NAME": "July Household",
    "ICPDATED": "20240701"
  }
}
Example responsejson
{
  "status": "success",
  "message": "string"
}
POST/households/delete

Delete Household

This operation deletes a household from the system.

Request body

A JSON object containing the following request parameters:

  • aggIdstringrequired

    A unique aggregate/household identifier.

    Example: "AGGJULYTEST"

Response

  • statusstring enum

    The status of the operation, indicating whether it was successful or not.

    Allowed: success, error

  • messagestring

    A message providing details about the successful operation.

Example requestjson
{
  "aggId": "AGGJULYTEST"
}
Example responsejson
{
  "status": "success",
  "message": "AGGJULYTEST deleted."
}
POST/households/update

Update Household

This operation allows updating any of the selected demographic fields listed below for the specified household account.

Request body

A JSON object containing the following request parameters:

  • aggIdstringrequired

    A unique aggregate/household identifier.

    Example: "AGGJULYTEST"

  • demographicsobjectrequired

    Demographic fields to update for the household composite account.

    • FYEstring

      Ending month of fiscal year.

    • BNKstring

      Bank ID.

    • NAMEstring

      Household composite account name.

    • FREQXstring

      Reporting frequency.

    • SECPKGstring

      Sec package ID.

    • INDXPKGstring

      Index package ID.

    • REPTPKGstring

      Report package ID.

    • SECTPKGstring

      User defined field 6.

    • ADMstring

      Administrator ID.

    • OFFNstring

      Officer ID.

    • OBJstring

      Objective ID.

    • PWRstring

      Power ID.

    • TYPstring

      Account type ID.

    • STATUSstring

      Reporting status.

    • MVI_ACCstring enum

      Market Values + Accrual indicator flag.

      Allowed: Y, N

    • ICPDATEDstring

      Account inception date.

    • RPTDATEstring

      Records the reporting date for each account.

    • MR_INDstring enum

      Include in scheduled reporting.

      Allowed: Y, N

    • MRRPTFRQstring enum

      Scheduled reporting frequency.

      Allowed: M, Q, S, A

    • MRACTVRNstring enum

      Included in off-scheduled batch.

      Allowed: Y, N

    • MRLRPDTstring

      Most recent scheduled report as-of date.

    • MRLFRPDTstring

      Last failed report as-of date.

    • ACCTBASEstring

      Base currency indicator for global accounts.

    • AGGTYPstring

      Household composite aggregation type.

    • AGGOWNERstring

      Household composite creator/owner.

    • GLOBALFLstring

      Domestic or Global Account indicator.

    • UDA101string

      User defined field.

    • TOLERPKGstring

      Tolerance package ID.

    • PF_TIERinteger

      Portfolio reporting tier.

Response

  • statusstring enum

    The status of the operation, indicating whether it was successful or not.

    Allowed: success, error

  • messagestring

    A message providing details about the successful operation.

Example requestjson
{
  "aggId": "AGGJULYTEST",
  "demographics": {
    "NAME": "July Family Trust",
    "ICPDATED": "20240701"
  }
}
Example responsejson
{
  "status": "success",
  "message": "AGGJULYTEST demographics updated."
}
POST/households/accounts-enter

Accounts Enter

This operation updates an existing household composite to include one or more underlying accounts as of the specified entry participation date(s). Account performance is included in the household beginning on the first day of the month entered.

Request body

A JSON object containing the following request parameters:

  • aggIdstringrequired

    A unique aggregate/household identifier.

    Example: "AGGJULYTEST"

  • accountsarray<object>required

    A list of paired account identifiers and entry dates to include in the household composite.

    Array ofobject
    • idstring

      A unique account identifier.

      Example: "22-222233"

    • datestring

      The month in YYYYMM format.

      Example: "202407"

Response

  • statusstring enum

    The status of the operation, indicating whether it was successful or not.

    Allowed: success, error

  • messagestring

    A message providing details about the successful operation.

Example requestjson
{
  "aggId": "AGGJULYTEST",
  "accounts": [
    {
      "id": "22-00322F",
      "date": "202407"
    },
    {
      "id": "22-00544A",
      "date": "202407"
    }
  ]
}
Example responsejson
{
  "status": "success",
  "message": "Account(s) 22-00322F, 22-00544A have been added to aggregate AGGJULYTEST."
}
POST/households/accounts-exit

Accounts Exit

This operation updates an existing household composite to exclude performance from the specified accounts at the end of period(s) specified by the exit dates.

Request body

A JSON object containing the following request parameters:

  • aggIdstringrequired

    A unique aggregate/household identifier.

    Example: "AGGJULYTEST"

  • accountsarray<object>required

    A list of paired account identifiers and exit dates after which the accounts are to be excluded from the household composite.

    Array ofobject
    • idstring

      A unique account identifier.

      Example: "22-222233"

    • datestring

      The month in YYYYMM format.

      Example: "202407"

Response

  • statusstring enum

    The status of the operation, indicating whether it was successful or not.

    Allowed: success, error

  • messagestring

    A message providing details about the successful operation.

Example requestjson
{
  "aggId": "AGGJULYTEST",
  "accounts": [
    {
      "id": "22-00322F",
      "date": "202408"
    },
    {
      "id": "22-00544A",
      "date": "202408"
    }
  ]
}
Example responsejson
{
  "status": "success",
  "message": "Account(s) 22-00322F, 22-00544A have been removed from aggregate AGGJULYTEST."
}
POST/households/accounts-remove

Accounts Remove

This operation removes one or more accounts from an existing household composite.

Request body

A JSON object containing the following request parameters:

  • aggIdstringrequired

    A unique aggregate/household identifier.

    Example: "AGGJULYTEST"

  • accountsarray<string>required

    A list of one or more unique account identifiers.

    Array ofstring
    string

    Example: "22-00322F"

Response

  • statusstring enum

    The status of the operation, indicating whether it was successful or not.

    Allowed: success, error

  • messagestring

    A message providing details about the successful operation.

Example requestjson
{
  "aggId": "AGGJULYTEST",
  "accounts": [
    "22-222233"
  ]
}
Example responsejson
{
  "status": "success",
  "message": "Account(s) 22-223333 have been removed from aggregate AGGJULYTEST."
}

Status

GET/hello

Hello

Query the API to see if it is up and running.

Response

  • statusstring enum

    You will always get a 'pass' just for being here.

    Example: "pass"

    Allowed: pass

  • versionstring

    The version of the API.

    Example: "1.0.0"

  • descriptionstring

    A brief description of the API gateway.

    Example: "Core 2.0 Demo API Gateway"

  • messagestring

    A delightfully timeless greeting.

    Example: "Hello, World!"

  • timestampstring<date-time>

    The time and date of our memorable interaction.

    Example: "2025-06-16T05:14:49.203Z"

Example responsejson
{
  "status": "pass",
  "version": "1.0.0",
  "description": "Core 2.0 Demo API Gateway",
  "message": "Hello, World!",
  "timestamp": "2025-06-16T05:14:49.203Z"
}