The AtlasFive Business REST API

Main Documentation

Table of Content

1 Authorization
2 Header Information
3 Common Body Format for POST Requests
4 Accounting APIs
  4.1 Chart of Accounts Information: POST/GetCOADetails
  4.2 Custom Report Configuration: POST/GetCRC
  4.3 Financial Statement Groupings: POST/GetFSG and POST/GetMinFSG
     4.3.1 GetFSG
     4.3.2 GetMinFSG
  4.4 General Ledger: POST/GetGLData
5 Asset APIs
  5.1 Asset Information: GET/GetAssets
6 CRM APIs
  6.1 Get Account Information: POST/GetAccounts
  6.2 Get Portfolio Account Information: POST/GetPortfolioAccounts
  6.3 Get Portfolio Group Information: POST/GetPortfolioGroups
  6.4 Get Portfolio Information: POST/GetPortfolios
  6.5 Get Entity Information: POST/GetRptEntities
7 Investment Reporting APIs
  7.1 Get Daily Performance Information: POST/GetDailyPerformanceLT
  7.2 Get Partnership Information: POST/GetPartnerships
  7.3 Get Transaction Information: POST/GetTransactions
8 Investment APIs
  8.1 Get Net Worth Summary Information: POST/GetNetWorthSummary
  8.2 Get Net Worth By Asset Class Information: POST/GetNetWorthByAssetClass
  8.3 Get Net Worth Growth Information: POST/GetNetWorthGrowth
  8.4 Get Returns Information: Get/GetReturnsByPeriod
  8.5 Get Holdings Information: Get/GetRptHoldings
  8.6 Get Cumulative Return Information: Get/GetCumulativeReturn
  8.7 Get Profit and Loss Information: POST/GetPLByAssetClass
  8.8 Get Time Liquidity Information: POST/GetTimeLiquidity
9 Relationship APIs
  9.1 Get Time Liquidity Information: POST/GetRelationships
10 Security Master APIs
  10.1 Get Funds Information: POST/GetFunds
  10.2 Get Securities Information: POST/GetSecurities
11 Transactions APIs
  11.1 Get Global Transactions Information: POST/GetGlobalTransactions
  11.2 Get Global Transactions History Information: POST/GetTransactionHistory
12 How to Request Help?

1 Authorization

All AtlasFive Business API requests require authentication. The current authentication method accepted is OAuth2. The access token is obtained through a token generation API that sends a request to Microsoft Azure Active Directory. The token can be obtained manually or by utilizing the AtlasFive Business API Multi-Factor Authentication add-in for Excel. Please refer to the Documentation supplement for additional information on how to download and install the MFA add-in.

Authorization Body Elements

scope
api://xxx
grant_type
Password
userName
apiservice@xxx.onmicrosoft.com
password
xxx

2 Header Information

After successful authorization, the following header information is required. Note that the AtlasFive Business API sends and receives the media type “application/json”.

Key
Value
Ocp-Apim-Subscription-Key
xxxyour subscription keyxxx
Content-Type
application/json
Accept
application/json

3 Common Body Format for POST Requests

Many of the POST requests have he same body format, represented below in the json format. Whenever the common body format specified below is used in the AtlasFive Business APIs, this documentation will omit the “Request Example” section. However, should the body format differ from the one specified below, the documentation will provide specific details and explanation of the body elements in the “Request Example” section.

1.  {
2. "version" : 1,
3. "entityKey" : -9999,
4. "filters" : null,
5. "sort" : null,
6. "offset" : 0,
7. "limit" : 100
8. }

The elements of the body are explained in more detail below, as well as in the API Documentation Supplement.

  • Version: The AtlasFive business API version. This version is related to the AtlasFive release version you are currently on. 

  • EntityKey: This is the unique identifier of each entity. The default value is -9999, which will return all the entity values available. However, if you want to make a request for a specific entity, you should replace -9999 with the respective entity key value.

  • Filters: The filters allow the user to make specific requests. For example, if you have 10 financial statement groups in total, but only want the FSG API to return 1 or 2 specific financial groups, you can specify this in the filters as follows:

    1. The default value is null: ""filters"" : null,

    2. To edit the query, specify the FSG names in the filters row as follows:

      1 FSG Example:
      1.  ""filters"":  "" AND [FS Custom Group] IN ( xxx Financial Statement Summary')"",
      2 FSG Example:
      1.  ""filters"":  "" AND [FS Custom Group] IN ( xxx Financial Statement Summary', 'Estate Planning Financial Statement' )"",
  • Sort: This element allows you to specify which column you would like the data to be sorted by. For example, if in the GetCOADetails request, you would like to sort by the GLCategoryCode column in the ascending order for a particular entity, all you need to do is specify the entityKey and replace the default value of the “sort” element with the following:

    1.   "sort" : "order by GLCategoryCode asc",
  • Offset and Limit: All APIs contain are configured to have a maximum amount of data that can be transmitted through 1 API request. Please refer to Section 6 for a list of technical specifications and limitations of the AtlasFive Business APIs. Currently the maximum limit is 99,999 or less or a response size limit of 100 MB. If the dataset contains more than the configured limit, the user must make 2 requests and use the “offset” and “limit” elements of the body to obtain the data needed first, and then concatenate the results into one table using PowerBI, if the user requires all data to be present in one table.

4 Accounting APIs

4.1 Chart of Accounts Information: POST/GetCOADetails

This API returns the chart of accounts data (COA). The data provides information including the General Ledger (GL) category code and General Ledger category description (such as Income, Equity, Expense etc.) , the name of the chart of accounts, the GL Account Number,   and the respective GL Categories/Sub Categories, GL  Types/Sub Types, and GL Account detail. 

COA data is associated with the GetGLData table through the GLAccountNumber field, which returns additional information at the GL Account Number level, such as entity details, asset details, cusip details, journal entry (JE) code and description,  transaction information, debit and credit amounts, and counterparty details.

GetCOADetails Response Example:
1.  GLCategoryCode: 01
2. COABK: 1
3. ChartOfAccounts: Personal
4. GLAccountNumber: 0114-01-05
5. GLAccountDescription: Performance Fee Receivable
6. GLAssetDescription:
7. GLAccountShortName:
8. GLAccountComment:
9. GLCategoryDescription: Assets
10. GLSubCategoryCode: 11
11. GLSubCategoryDecription: Current Assets
12. GLTypeCode: 114
13. GLTypeDescription: Accounts Receivable
14. GLSubTypeCode: 5
15. GLSubTypeDescription: Income Receivable
16. GLAccountGroup: Not Investment Related

4.2 Custom Report Configuration: POST/GetCRC

This API returns the Custom Report Configuration ( CRC)  mappings used to customize financial statement reports. CRC records are associated to a portfolio, and can be applied at the entity, account, or asset level.

The table contains portfolio, entity, account, and asset business keys that can help associate the data with the respective data tables.

GetCRC Response Example:
1.  CRCBK: 1
2. EntityBK: 1163
3. EntityName: Adam Apple
4. EntityShortName: Adam Apple
5. AccountBK: 1152
6. AccountNumber: 3400
7. AccountName: Adam Apple ANH Account
8. PortfolioBK: 83
9. PortfolioName: Accounting - Adam and Sarah Apple Consolidated Financials
10. ReportCustomCatBK: 1
11. ReportCustomCatValue: Real Estate
12. CRC_Category: Real Estate
13. CRC_Group: North Carolina Real Estate
14. CRC_Title: Test Portfolio
15. CRC_Sort: 2
16. AssetBK: 14747
17. Cusip: PITS0001

4.3 Financial Statement Groupings: POST/GetFSG and POST/GetMinFSG

4.3.1 GetFSG

This API returns a list of Financial Statement Grouping (FSG) mappings used to customize financial statement reports. FSGs allow users to override the default COA grouping and sorting logic.  The FSG table contains data at the journal entry detail level, using the JournalEntryDetailBK field as a primary key.

Although the GetFSG table provides a significant amount of granularity, the amount of data in the table could become rather large, as the number of records returned by the table is a product between the number of JournalEntryDetailBK fields and the number of custom FSGs. For that reason, an alternative and less granular financial statement grouping API is also available. Please refer to the GetMINFSG table below, which provides financial statement data at the less granular GL Account Number level.

1.  GetFSG Response Example:
2. JournalEntryDetailBK: 1
3. TotName1: Current Assets
4. TotName2: Cash and Equivalents
5. DetailLine: Teddy Apple Checking Account
6. FS Custom Group: Cost Centers

4.3.2 GetMinFSG

This API a list of Financial Statement Grouping (FSG) mappings used to customize financial statement reports. FSGs allow users to override the default COA grouping and sorting logic. GetMINFSG provides data at the GL Account Number level and can be associated with  GetCOADetails table through the GLSubTypeCode field, and with the GetGLData table through the GLAccountBK field.

1.  FSCustomGroup: null,
2. TotName1Map: null,
3. TotName2Map: null,
4. DetailLineMap: null,
5. TotName1:  ,
6. TotName2:  ,
7. DetailLine:  ,
8. GLAccountBK: 3994,
9. GLCategoryDescription: Assets,
10. GLCategoryCode: 01,
11. GLSubCategoryDescription: Current Assets,
12. GLSubCategoryCode: 11,
13. AccountTypeDescription: Cash and Equivalents,
14. AccountTypeCode: 111,
15. GLSubTypeDescription: Cash,
16. GLSubTypeCode: 1,
17. GLAccountNumber: xxxx,
18. SortOrder: 01-11-111-1-xxxx

4.4 General Ledger: POST/GetGLData

This API returns financial transaction details from the General Ledger. Contains journal entry (JE) data, such as debit and credit balances, journal entry description, entity and counterparty names and business keys, Eton Transacstion Code values (ETC), asset business key, cusip and cusip description information, GLAccountNumber and description, AccountBK, etc. Associated with the GetTransactions table through TransactionBK field.

GetGLData Response Example:
1.  EntityBK: 1163
2. EntityName: Adam Apple
3. EntityShortName: Adam Apple
4. JeCode: 1163-2-119
5. JEDescription: MSFT Quart Div
6. AssetBK: 14793
7. Cusip: ESMSFT
8. CusipDescription: Equity #2 Microsoft Inc
9. CounterPartyEntityBK:
10. CounterParty:
11. OBOEntityBK:
12. OnBehalfOf:
13. ProjectDeliverableBK:
14. ProjectDeliverable:
15. FunctionBK:
16. Function:
17. TransactionBK: 72
18. GLAccountNumber: 0111-01-01
19. GLAccountDesc: Client Cash Acct 3
20. Amount: 512
21. LocalAmount: 512
22. GLAccountBK: 11
23. JournalEntryDetailBK: 494
24. Credit: 0
25. Debit: 512
26. JEDate: 2019-03-06T00:00:00Z
27. AccountBK: 1148

5 Asset APIs

5.1 Asset Information: GET/GetAssets

This API call retrieves illiquid assets based on a selected portfolio. Information returned includes CUSIP and description, security type, sector, industry, geography, liquidity information, assets categorized as Assets Not Held ("ANH"), GLCategory,  tax information, issuance and maturity information, as well as Account number and EntityName associated with the asset.

Required Parameters:
1.  tenantKey
2. integer
3. portfolioKey
4. integer
5. datatype
6. string
7. relationshipKey
8. integer
9. entityKey
10. integer
11. search (optional)
12. stateFilter (optional)
GetAssets Response Example:
1.  AssetBK: 14784,
2. Cusip Description: Building 1,
3. ANH Type: Client ANH,
4. SuperAssetClass: Personal Assets,
5. AssetClass: Personal Assets,
6.  SubAssetClass: Personal Real Estate,
7.  GLCategory: null,
8.  SecurityType: unknown,
9.  Product Type: Other Assets,
10. Cusip: ESREAL001,
11. CusipTypeDesc: Standard,
12. CusipIsFund: N,
13. Benchmark: Blend_Index_3,
14. Sector: Real Estate,
15. Industry: Real Estate Management & Development,
16. AssetLiquidity: Semi-Annually,
17. LiquidityCategory: Semi - Liquid,
18. AssetVolatility: Low Volatility,
19. VolatilityCategory: Low,
20. Geography: U.S.,
21. SubGeography: U.S.,
22. Volatility: 0,
23. TaxTypeIncome: Taxable Interest,
24. TaxTypeCapitalGain: unknown,
25. TaxTypeCapitalLoss: unknown,
26. PriceMultiplier: 1,
27. InvestmentValuationMethod: Price * Price Multiplier,
28. InvestmentValuationMethodCode: P,
29. IssueDate: 1901-01-01T00:00:00.0000000+00:00,
30. MaturityDate: 1901-01-01T00:00:00.0000000+00:00,
31. FirstPayDate: 1901-01-01T00:00:00.0000000+00:00,
32. InterestRate: 0,
33. Appraisal: 0,
34. Cost: 55000,
35. VarIndex: 0,
36. DayCountMethod: unknown,
37. DayCountCode: unknown,
38. IntAccrMthdCd: unknown,
39. MarketCap: unknown,
40. CAB_Desc: Real Estate,
41. DaysToLiquidity: 183,
42. in_edit: false,
43. dsi_document_id: null,
44. purchasedate: 2019-05-31T00:00:00.0000000+00:00,
45. Address: null

6 CRM APIs

6.1 Get Account Information: POST/GetAccounts

This API returns a list of accounts that exist within a given Entity, as well as the Relationship associated with that Entity.  Recall that each Relationship can own several Entities, and each Entity can own several Accounts. Therefore, an Account is a basket of transaction records owned by an Entity,  which can be aggregated into holdings for reporting. Account types include Brokerage, Checking, Retirement, etc. The data returned also includes the name of the custodian, the currency of the account, ANH status, an investment benchmark information, if applicable.

GetAccounts Example Response:
1.  RelationshipBK: 129,
2. RelationshipName: The Apple Family,
3. EntityBK: 1166,
4.  EntityName: Apple Family Revocable Trust,
5.  AccountBK: 1168,
6.  AccountName: Apple Family Revocable Trust Checking,
7.  AccountNumber: 300,
8.  CustodianName: JP Morgan Chase Bank, NA,
9.  AccountType: DDA,
10. AccountCurrency: USD,
11. AccountStatus: Active / Open,
12. InvestmentBenchmark: null,
13. FundShareClass: null,
14. ANHStatus: Custodian Data - No Feed,
15. RollupStrategy: null

6.2 Get Portfolio Account Information: POST/GetPortfolioAccounts

This API provides a list of accounts within the portfolios of an entity. This data defines the association between GetAccounts and GetPortfolios, including effective and expiration dates.

GetPortfolioAccounts Example Response:
1.  Portfolio_BK: 79,
2. PortfolioName: Adam and Sarah Investment,
3. Portfolio Type: Investment,
4. AccountBK: 1147,
5. AccountNumber: 100,
6. AccountName: Apple Carolina Alliance Custody Account,
7. Portfolio Account Status: Standard,
8. Portfolio Account Prcnt Incl: 1,
9. Effective Date: 1999-01-01T00:00:00.0000000+00:00,
10. Expiration Date: 2999-01-01T00:00:00.0000000+00:00,
11. CAB Description: null

6.3 Get Portfolio Group Information: POST/GetPortfolioGroups

This API returns list of Portfolio Groups from the CRM system. Portfolio Groups allow users to combine and sort portfolios into customized report packs.

GetPortfolioGroups Example Response:
1.  PortfolioGroupBK: 1,
2. PortfolioGroup: Test Portfolio,
3. PortfolioBK: 83,
4. PortfolioGroup

6.4 Get Portfolio Information: POST/GetPortfolios

This API returns a list of Portfolio records from the CRM system. A Portfolio is a group of accounts or entities which can be used for reporting, reconciliation, and compliance purposes. GetPortfolios contains the relationship name portfolio name, description, type, status, currency, benchmark, and  Investment Objective information. 

GetPortfolios Example Response:
1.  RelationshipBK: 129,
2. RelationshipName: The Apple Family,
3. PortfolioBK: 79,
4. PortfolioName: Adam and Sarah Investment,
5. PortfolioDescription: ,
6. PortfolioType: Investment,
7. PortfolioStatus: Report Quarterly,
8. PortfolioCurrency: United States Dollar,
9. PortfolioCurrencyDescription: USD,
10. PortfolioBenchmark: Russell 1000 Growth Index (TR),
11. PortfolioInvestmentObjective: null,
12. PortfolioInvestmentObjectiveEffectiveDate: null,
13. PortfolioInvestmentObjectiveEndDate: null

6.5 Get Entity Information: POST/GetRptEntities

This API returns a list of entities from the system, and the associated relationship information. Recall that an Entity is a single party that exists under a Relationship. Examples of Entity types include Individuals, Partnerships, Trusts, and Corporations. Associates with the GetCOA data through COABK column.

GetRptEntities Example Response:
1.  RelationshipBK: 128,
2. RelationshipName: Family Office,
3. RelationshipType: Tenant,
4. RelationshipStatus: Active / Open,
5. EntityBK: 1319,
6. EntityName: Employee23,
7. EntityShortName: Employee23,
8. EntityType: Individual,
9. EntityDescription: Employee,
10. EntityTaxStatus: Fully Taxable,
11. EntityCurrency: USD,
12. ChartOfAccounts: null,
13. AccountingMethod: No GL,
14. COABK: null

7 Investment Reporting APIs

7.1 Get Daily Performance Information: POST/GetDailyPerformanceLT

This API returns Look-Through investment performance data, aggregated at the account/asset/date level. Look-Through performance data provides detailed visibility into the underlying holdings of a portfolio’s partnership/fund, allocated proportionately based on the ownership %. Links with GetPartnerships.

Required Body Example:
1.  {
2. "asofdate" : "2021-04-20",
3. "version" : 1,
4. "entityKey" : -9999,
5. "filters" : null,
6. "sort" : null,
7. "offset" : 0,
8. "limit" : 100
9. }
GetDailyPerformanceLT Response Example:
1.   DailyPerformanceKey: ,
2. EntityBK: ,
3. EntityName: ,
4. RelationshipName: ,
5. AccountBK: ,
6. AccountName: ,
7. AccountNumber: ,
8. Account_CAB_BK: ,
9. Account_CAB_Name: ,
10. AssetBK: ,
11. Rollup Type: ,
12. Cusip_Description: ,
13. Cusip_Ticker: ,
14. Cusip: ,
15. CusipTypeBK: ,
16. CusipTypeDesc: ,
17. ManagerFlag: ,
18. Asset_CAB_BK: ,
19. Asset CAB Description: ,
20. AssetClassBK: ,
21. AssetClass: ,
22. SuperAssetClassBK: ,
23. SuperAssetClass: ,
24. SubAssetClass: ,
25. Geography: ,
26. GeographyBK: ,
27. SubGeography: ,
28. SubGeographyBK: ,
29. Sector: ,
30. SectorBK: ,
31. Industry: ,
32. IndustryBK: ,
33. AssetLiquidity: ,
34. AssetLiquidityBK: ,
35. LiquidityCategory: ,
36. LiquidityCategoryBK: ,
37. VolatilityCategory: ,
38. VolatilityCategoryBK: ,
39. AssetVolatility: ,
40. AssetVolatilityBK: ,
41. SecurityType: ,
42. TaxTypeIncome: ,
43. BenchmarkKey: ,
44. Benchmark: ,
45. AsofDateKey: ,
46. AsofDate: ,
47. Quantity: ,
48. Tax_Cost: ,
49. Price: ,
50. Price_Date_Key: ,
51. Price_Date: ,
52. PriceMulti: ,
53. IntRate: ,
54. AccrualDays: ,
55. BegMV: ,
56. EndMV: ,
57. DeltaMV: ,
58. BegAccrual: ,
59. EndAccrual: ,
60. DeltaAccrual: ,
61. Total Value of Position: ,
62. PriceSourceBK: ,
63. PriceSource: ,
64. Local_Tax_Cost: ,
65. Local_Price: ,
66. Local_IntRate: ,
67. Local_BegMV: ,
68. Local_EndMV: ,
69. Local_DeltaMV: ,
70. Local_BegAccrual: ,
71. Local_EndAccrual: ,
72. Local_DeltaAccrual: ,
73. Local_Total Value of Position: ,
74. Local_PriceSourceBK: ,
75. Local_PriceSource: ,
76. AcctCapFlowIn: ,
77. AcctCapFlowOut: ,
78. Capital_Commitment: ,
79. Capital_Contribution: ,
80. CustFees: ,
81. Capital_Distribution: ,
82. Capital_Commitment_Adjustment: ,
83. Income_Dividend: ,
84. Income_Interest: ,
85. IntTrans: ,
86. Loan_Income: ,
87. Loan_Principal: ,
88. MgmtFees: ,
89. OthExpenses: ,
90. Purchases: ,
91. RealInc: ,
92. Sales: ,
93. TransferAccrualIn: ,
94. TransferAccrualOut: ,
95. TransferMVIn: ,
96. TransferMVOut: ,
97. SourceModifyDate: ,
98. NetReturnNom: ,
99. TotExp: ,
100. NetReturnDenom: ,
101. CapBaseInFlows: ,
102. CapBaseOutFlows: ,
103. AdjCapInFlows: ,
104. BFNetReturn: ,
105. AdjCapOutFlows: ,
106. Taxes: ,
107. IRR_Rate: ,
108. CreateDate: ,
109. ModifyDate: ,
110. CurrencyBK: ,
111. CurrencySymbol: ,
112. CurrencyDesc: ,
113. MarketCap: ,
114. MarketCapBK: ,
115. TaxStatus: ,
116. EntityType: ,
117. DueDiligenceType: ,
118. DaysToLiquidity: ,
119. Account_CustodianName:

7.2 Get Partnership Information: POST/GetPartnerships

This API returns partnership structure from the CRM system associating the legal entity and fund classes with partnership records. Provides partnership ownership % used to calculate look-through holdings of GetDailyPerformance LT.

Required Body Example:
1.  {
2. "asofdate" : "2021-06-10",
3. "version" : 1,
4. "entityKey" : -9999,
5. "filters" : null,
6. "sort" : null,
7. "offset" : 0,
8. "limit" : 100
9. }
GetPartnership Response Example:
1.  AsOfDateKey: ,
2. OwnerAccountBK: ,
3. OwnerAccountNumber: ,
4. OwnerAccountName: ,
5. PartnerAccountBK: ,
6. PartnerAccountNumber: ,
7. PartnerAccountName: ,
8. PartnershipAssetBK: ,
9. PartnershipCusip: ,
10. PartnershipCusipDescription: ,
11. FundClassBK: ,
12. FundClassName: ,
13. FundClassDescription: ,
14. Level: ,
15. PercentOwnership:

7.3 Get Transaction Information: POST/GetTransactions

This API returns investment transaction details including: account, asset, date, units, amount, etc. Transaction records can be aggregated into holdings records, and are associated with GL transactions from GetGLData.

Required Body Example:
1.  {
2. "asofdate" : "2021-06-10",
3. "version" : 1,
4. "entityKey" : -9999,
5. "filters" : null,
6. "sort" : null,
7. "offset" : 0,
8. "limit" : 100
9. }
GetTransactions Example Response:
1.  RelationshipBK: 129,
2. RelationshipName: The Apple Family,
3. EntityBK: 1163,
4. EntityName: Adam Apple,
5. EntityShortName: Adam Apple,
6. AccountBK: 1146,
7. AccountNumber: 700,
8. AccountName: Adam Apple BBT Checking,
9. transactionBK: 3281,
10. AssetBK: 14787,
11. Cusip: @CASHUSD,
12. CusipDescription: Cash,
13. FundBK: null,
14. EntityCurrencyBK: 1,
15. EntityCurrency: USD,
16. AccountCurrencyBK: 1,
17. AccountCurrency: USD,
18. transactionCodeBK: 3,
19. TransactionCode: Cash Disbursement,
20. TransactionDate: 2021-01-24T00:00:00.0000000+00:00,
21. TransactionPostDate: null,
22. TransactionSettleDate: 2021-01-24T00:00:00.0000000+00:00,
23. TransactionDescription: bank cleared wire,
24. TransactionAmount: -500000,
25. Price: 0,
26. PriceDate: 2021-01-24T00:00:00.0000000+00:00,
27. MarketValue: 0,
28. TaxCost: 0,
29. ShortTermgainLoss: 0,
30. longTermGainLoss: 0,
31. GainLoss: null,
32. Units: 0,
33. IncomePrinciple: Principal,
34. LocalTransactionAmt: -500000,
35. LocalMarketValue: 0,
36. LocaltaxCost: 0,
37. localAccruedIncome: null,
38. localShortTermgainLoss: 0,
39. localLongTermgainLoss: 0,
40. ProjectDeliverable: null,
41. ProjectName: null,
42. Expensecategory: null,
43. TransinputBK: null,
44. TransSplitBK: null,
45. ANHTransBK: null,
46. DataSourceBK: 3,
47. DataSourceName: Manual Entry

8 Investment APIs

8.1 Get Net Worth Summary Information: POST/GetNetWorthSummary

This API retrieves a summary of net worth for a portfolio as of selected date.

Required Body Example:
1.  {
2. "changedsince" : "2021-07-10",
3. "relationshipKey" : null,
4. "portfolioKey" : 1358,
5. "entityKey" : null,
6. "accountKey" : null,
7. "type" : "AssetClass",
8. }
GetNetWorthSummary Example Response:
1.  Type: assetclass,
2. Name: unknown,
3. NetWorth: 19312869.48

8.2 Get Net Worth By Asset Class Information: POST/GetNetWorthByAssetClass

This API provides a snapshot of the profit and loss details for a portfolio over a period of time.

Required Body Example:
1.  {
2. "changedsince" : "2021-07-10",
3. "relationshipKey" : null,
4. "portfolioKey" : 1358,
5. "entityKey" : null,
6. "accountKey" : null,
7. "type" : "AssetClass",
8. }
GetNetWorthByAssetClass Example Response:
1.  ""Type"": ""assetclass"",
2. ""Name"": ""Fixed Income"",
3. ""NetWorth"": 15990812.18

8.3 Get Net Worth Growth Information: POST/GetNetWorthGrowth

This API provides the net worth growth for a portfolio over a period of time.

Required Body Example:
1.  {
2. "startDate" : "2021-01-01",
3. "endDate" : "2021-07-10",
4. "relationshipKey" : null,
5. "portfolioKey" : 1358,
6. "entityKey" : "1292",
7. "accountKey" : null,
8. }
GetNetWorthGrowth Response Example:
1.  AsOfDateKey: 20210102,
2. netWorth: -41555131

8.4 Get Returns Information: Get/GetReturnsByPeriod

This API retrieves the returns over periods of time for selected portfolio.

GetReturnsByPeriod Example Response:
1.  "type": "Asset",
2. "1day": null,
3. "mtd": 0,
4. "qtd": 0,
5. "3mnth": 0,
6. "6mnth": 0,
7. "9mnth": 0,
8. "itd": 0

8.5 Get Holdings Information: Get/GetRptHoldings

This API retrieves holdings data as of a given date.

GetRptHoldings Example Response:
1.  EntityBK2777
2. EntityNameRevocable Trust
3. AccountBK201
4. accountName: Rev Trust Illiquids/Funds X10
5. AssetBK19231
6. CusipWIREP1
7. cusipDescription: REAL ESTATE PARTNERS I, L.P.
8. units5898.29
9. price1
10. endmarketValue: 5898.29
11. beginningmarketvalue: 0
12. taxCost5898.29
13. unrealGainLoss: 0
14. endaccruedIncome0
15. begaccruedIncome0
16. TotaEndlMarketValue5898.29
17. TotalBegmarketvalue: 0
18. priceDate: 2021-10-30T00:00:00.000Z
19. sector:
20. industry:
21. assetLiquidity: 2 Years Or More
22. LiquidityCategoryIlliquid
23. assetVolatilityMedium Volatility
24. volatilityCategory: Moderate
25. geographyU.S.
26. SubAssetClassReal Estate
27. SuperAssetClassReal Estate
28. AssetClass: Real Estate
29. AsOfDateKey021-09-30T00:00:00.000Z
30. CustodianTrust Company, LLC
31. LocalTaxCost: 5898.29
32. LocalBegMV0
33. LocalEndMV5898.29
34. LocalDeltaMV: 5898.29
35. LocalBegAccrual: 0
36. LocalEndAccrual: 0
37. TotaLocalEndlMarketValue: 5898.29
38. TotalLocalBegmarketvalue: 0

8.6 Get Cumulative Return Information: Get/GetCumulativeReturn

This API retrieves a cumulative return and benchmark values for the selected portfolio over a time period.

Required Body Example:
1.  {
2. "startDate" : "2021-01-01T00:00:00.0000000+00:00",
3. "endDate" : "2021-02-15T00:00:00.0000000+00:00",
4. "relationshipKey" : null,
5. "portfolioKey" : 1358,
6. "entityKey" : null,
7. "accountKey" : null,
8. }
GetCumulativeReturns Example Response:
1.  AsOfDateKey: 20210101,
2. Cumulative_Return_Asset: 0.00011199999999989,
3. Cumulative_Return_AssetGraph: 0.011199999999989,
4. Cumulative_Return_Benchmark: null,
5. Cumulative_Return_BenchmarkGraph: null

8.7 Get Profit and Loss Information: POST/GetPLByAssetClass

This API provides a snapshot of the profit and loss details for a portfolio over a period of time.

Required Body Example:
1.  {
2. "startDate" : "2021-01-01",
3. "endDate" : "2021-07-10",
4. "relationshipKey" : null,
5. "portfolioKey" : 1358,
6. "entityKey" : null,
7. "accountKey" : null,
8. "type" : "AssetClass"
9. }
GetPLByAssetClass Example Response:
1.  Type: assetclass,
2. Name: Fixed Income,
3. NetReturnNom: -31010.8

8.8 Get Time Liquidity Information: POST/GetTimeLiquidity

This API provides time to liquidity / liquidity ladder for selected portfolio.

Required Body Example:
1.  {
2. "changedsince" : "2021-07-10",
3. "relationshipKey" : null,
4. "portfolioKey" : 1358,
5. "entityKey" : "1292",
6. "accountKey" : null,
7. }
GetTimeLiquidity Example Response:
1.  DaysToLiquidity: 0,
2. AssetLiquidity: Immediate,
3. AssetLiquidityKey: 1,
4. netWorth: -61760075.48,
5. AsOfDateKey: 20210214

9 Relationship APIs

9.1 Get Time Liquidity Information: POST/GetRelationships

This API returns a list of Relationships. A Relationship is a group of entities and their related attributes. Relationship types include Client (Family), Vendor, Bill Pay, Investment Manager, and Tenant (Family or Business Office).

Required Body Example:
1.  {
2.   "filters": {
3.     "relationships": [ ],
4.     "entities": [ ],
5.     "accounts": [ ],
6.     "portfolios": [ ],
7.     "legacyRelationshipIds": [ ]
8.   }
9. }
GetRelationship Example Response:
1.  relationshipKey: 123,
2. relationshipName: Smith Family,
3. relationshipDescription: The Smith Family is best known...,
4. relationshipWealthSource: Smith Family restaurant chain,
5. relationshipTypeKey: 1,
6. relationshipNotes: ,
7. relationshipStatusKey: 3

10 Security Master APIs

10.1 Get Funds Information: POST/GetFunds

This API returns a list of all entities and the roles assigned to each entity. The entities can be filtered by relationship and entity.

GetFunds Example Response:
1.  FundBK: 321,
2. PerformanceReporting: null,
3. AssetBK: 14749,
4. Cusip: null,
5. CusipDescription: null,
6. CusipTicker: null,
7. EffectiveDate: 2019-02-25T00:00:00.0000000+00:00,
8. EndDate: 2099-01-01T00:00:00.0000000+00:00,
9. ManagementFee: null,
10. ManagementCarry: null,
11. EntityBK: 1176,
12. EntityName: Pie in the Sky PE Firm,
13. EntityType: Limited Partnership,
14. PrimaryBenchmark: null,
15. SubassetClass: null,
16. Manager: null,
17. TotalExpenseRatio: null,
18. Liquidity Window: null,
19. CapitalCalls: null,
20. PricingFrequency: null,
21. TaxReportingType: null,
22. TradingCategory: null,
23. ManagerApprovalStatus: null,
24. ManagerRating: null,
25. FundStructure: null

10.2 Get Securities Information: POST/GetSecurities

This API returns a list of Asset records from the Security Master including investment, accounting, and operations-related attributes.

GetSecurities Example Response:
1.  AssetBK: -225,
2. Cusip Ticker: null,
3. Cusip Description: Accounts Payable/Accounts Receivable - KES,
4. SuperAssetClass: Income-Oriented,
5. AssetClass: Cash & Equivalents,
6. SubAssetClass: Cash & Short-Term,
7. Benchmark: No Benchmark Assigned,
8. Sector: null,
9. Industry: null,
10. AssetLiquidity: Immediate,
11. LiquidityCategory: Liquid,
12. AssetVolatility: Very Low Volatility,
13. VolatilityCategory: Low,
14. Geography: null,
15. SubGeography: null,
16. Volatility: null,
17. SecurityType: Currency,
18. TaxTypeIncome: Taxable Interest,
19. PriceMultiplier: 1,
20. Cusip: @APARKES,
21. CusipIsFund: N,
22. CusipTypeDesc: Standard,
23. InvestmentValuationMethod: Currency,
24. InvestmentValuationMethodCode: CUR,
25. IssueDate: null,
26. MaturityDate: null,
27. FirstPayDate: null,
28. InterestRate: null,
29. VarIndex: null,
30. DayCountMethod: null,
31. DayCountCode: null,
32. IntAccrMthdCd: null,
33. MarketCap: null,
34. CAB_Desc: null,
35. DaysToLiquidity: 0,
36. GLCategory: Foreign Currency,
37. AssetVolatilityLevel: Very Low Volatility,
38. AssetCurrency: KES,
39. AssetCurrencyDesc: Kenyan Shilling,
40. ANH Type: Custodian Held,
41. Product Type: Cash Equiv

11 Transaction APIs

11.1 Get Global Transactions Information: POST/GetGlobalTransactions

This API retrieves global transactions filtered by the portfolio.

Required Body Example:
1.  {
2. "entityKey" : 1163,
3. "tenantKey" : 25,
4. "relationshipKey" : 129,
5. "isFeed" : false
6. }
GetGlobalTransactions Example Response:
1.  AccountName: Holden Beach TriState (TRISTATE111),
2. EntityName: Holden Beach,
3. TransactionDate: 2021-12-04T00:00:00.0000000+00:00,
4. SettlementDate: 2021-12-04T00:00:00.0000000+00:00,
5. TransactionDescription: none,
6. TransactionAmt: -3312,
7. PricePaid: 0,
8. MarketValue: 0,
9. TaxCost: 0,
10. ShortTermGainLoss: 0,
11. LongTermGainLoss: 0,
12. TransactionGainLoss: 0,
13. ETC: Cash Disbursement,
14. CusipDesc: Cash (@CASHUSD),
15. PriceDate: 2021-04-12T00:00:00.0000000+00:00,
16. Units: 10

11.2 Get Global Transactions History Information: POST/GetTransactionHistory

This API Returns investment transaction details including: account, asset, date, units, amount, etc. Transaction records can be aggregated into holdings records, and are associated with GL transactions from GetGLData.

Required Body Example:
1.  {
2. "entityKey" : 1163,
3. "tenantKey" : 25,
4. "relationshipKey" : 129,
5. "isFeed" : false
6. }
GetTransactionHistory Example Response:
1.  AccountName: Test,
2. EntityName: Test,
3. TradeDate: 2020-11-16T00:00:00.0000000+00:00,
4. SettlementDate: 2020-11-17T00:00:00.0000000+00:00,
5. TransactionDescription: Initiated Transmit Cash Disbursement,
6. TransactionAmt: -200000,
7. PricePaid: 0,
8. MarketValue: 0,
9. TaxCost: 0,
10. ShortTermGainLoss: 0,
11. LongTermGainLoss: 0,
12. TransactionGainLoss: 0,
13. ETC: Settle-Cash Out,
14. CusipDesc: ,
15. PriceDate: 2020-11-17T00:00:00.0000000+00:00

12 How to Request Help?

When requesting the creation of a new API that is currently not offered or requesting that an existing API is modified with additional data, the end user must communicate their request along with any relevant details (such as the purpose of the request, specific data elements required, the level of priority of the request etc.) to the Client Relationship lead either by e-mail or through a service desk request.

Typically, we recommend that high priority issues like server errors or technical issues with existing APIs be emailed to the support desk (support@eton-solutions.atlassian.net) and CC’d to the Product Experience lead to increase the visibility of the issue.

For lower priority items, such as requests for additional capabilities or APIs  to be developed as well as improvement recommendations please submit a helpdesk request through the portal support tab. 

Following this process helps the helpdesk keep a good record of all incoming requests and prioritize effectively.