Assets

We use the term "asset" here to refer to both assets and liabilities.

The SFTP interface allows connected systems to programmatically add or update asset information in bulk. Deleting assets via SFTP is currently not supported (given the irreversible nature of that operation). Adding or updating assets is performed by uploading a JSONL (JSON Lines) file, where each line represents an asset object.


SFTP

Assets File Specification

JSONL File Schema

  • Name
    id
    Type
    string (Max 255)
    Description

    Your firm's unique identifier for the asset.

  • Name
    top_account_id
    Type
    string (Max 255)
    Description

    The unique identifier of the top account associated with the asset.

  • Name
    account_type
    Type
    enum
    Description

    The type of the account. See Account Types for enum values.

  • Name
    account_name
    Type
    string (Max 255)
    Description

    The name of the account.

  • Name
    account_number
    Type
    string (Max 255), optional
    Description

    The account number (for display purposes). You may send a masked account number, or even the last 4 digits.

  • Name
    holdings
    Type
    array of JSON, optional
    Description

    An array of holdings associated with the account. If holdings are provided, then each holding must include:

    • holding_id: string (Max 255) - The unique identifier for the holding.
    • major_asset_class: enum (Major and Minor Asset Classes) - The major asset class of the holding.
    • minor_asset_class: enum (Major and Minor Asset Classes) - The minor asset class of the holding.
    • balance_in_usd: decimal(39,18) - The balance of the holding in USD. This ought to be negative for liabilities. Note: It is encouraged to provide more than two decimal places here to avoid rounding error when we sum these balances to obtain the total account balance. For display purposes in our UI, though, we will truncate to two decimal places.
  • Name
    balance_as_of
    Type
    ISO 8601 UTC timestamp
    Description

    The UTC timestamp (e.g., 2025-02-01T14:00:00Z) indicating when the balance was last updated. Either this field or balance_as_of_date is required. Both should not be provided, but if they are, we will use balance_as_of.

  • Name
    balance_as_of_date
    Type
    date (YYYY-MM-DD)
    Description

    The date (YYYY-MM-DD) indicating when the balance was last updated. Either this field or balance_as_of is required. Both should not be provided, but if they are, we will use balance_as_of.

  • Name
    balance_in_usd
    Type
    decimal(39,18), optional
    Description

    The total balance of the account in USD. This ought to be negative for liabilities. This field is required if holdings (which include balance_in_usd) are not provided. If holdings are provided, then this field should not be provided since we will use the sum of the balances of the holdings as the total balance. Note: For display purposes in our UI, we will truncate to two decimal places.

  • Name
    ownership
    Type
    array of JSON, optional
    Description

    An array of ownership details for the account. If ownership is provided, then each ownership entry must include:

    • percentage: float - The percentage of ownership (between 0 and 100).
    • owner_id: array of strings (Max 255 per string) - The id of the owner(s). An owner should be a person, trust, or entity. The only instance in which multiple owner ids should be provided in this owner_id array is in the case of multiple people having joint ownership with right of survivorship. Other forms of shared ownership, e.g., ABC Trust owns 25%, DEF Entity owns 75%, would be indicated by providing multiple objects in the ownership array.

Example JSONL File

assets.jsonl

{
  "id": "fa038f59-29e7-48a7-bee8-f93f4e4158e1",
  "top_account_id": "123e4567-e89b-12d3-a456-426614174000",
  "account_type": "Brokerage",
  "account_name": "John Doe Brokerage Account",
  "account_number": "xxxxx6789",
  "holdings": [
    {
      "holding_id": "holding-001",
      "major_asset_class": "PublicEquity",
      "minor_asset_class": "USEquity",
      "balance_in_usd": 5000.00
    },
    {
      "holding_id": "holding-002",
      "major_asset_class": "PublicEquity",
      "minor_asset_class": "NonUSEquity",
      "balance_in_usd": 3000.00
    }
  ],
  "balance_as_of": "2025-03-14T12:00:00Z",
  "ownership": [
    {
      "percentage": 100.0,
      "owner_id": ["ca7e299a-5404-4d10-82f4-584ebb1bee54"]
    }
  ]
}
{
  "id": "a4a274db-7faa-4d09-b4b1-30fd83981021",
  "top_account_id": "123e4567-e89b-12d3-a456-426614174000",
  "account_type": "Loan",
  "account_name": "Beach House Mortage",
  "account_number": "xxx4321",
  "balance_as_of_date": "2025-01-31",
  "balance_in_usd": -100000.00,
  "ownership": [
    {
      "percentage": 75.0,
      "owner_id": ["ca7e299a-5404-4d10-82f4-584ebb1bee54", "4c59a99e-49e9-4364-afa6-22d62d9af3a7"]
    },
    {
      "percentage": 25.0,
      "owner_id": ["893703bf-041b-45e2-8f41-9ff8d705a6bd"]
    }
  ]
}

Account Types

  • Cash
  • Checking
  • Saving
  • MoneyMarket
  • CertificateOfDeposit
  • HighYieldSavings
  • CashAccount
  • Brokerage
  • Advisory
  • Trust
  • Estate
  • RoboAdvisor
  • Cryptocurrency
  • OtherInvestment
  • IRA
  • RothIRA
  • Retirement401K
  • RetirementRoth401K
  • Retirement403b
  • Retirement457Plan
  • RetirementSEPIRA
  • RetirementSimpleIRA
  • RetirementDBP
  • RetirementRolloverIRA
  • OtherRetirement
  • UGMA
  • UTMA
  • Education529
  • ESA
  • EducationCustodial
  • PrivateEquity
  • HedgeFund
  • VentureCapital
  • RealEstateInvestment
  • CloselyHeldInvestment
  • OtherAlternativeInvestment
  • StockOption
  • RealEstate
  • HSAFSA
  • Escrow
  • Vehicle
  • PersonalInventory
  • OtherAsset
  • Insurance
  • AnnuityInsurance
  • OtherInsurance
  • SecuredLoans
  • UnsecuredLoans
  • IntraFamilyLoan
  • Mortgage
  • Loan
  • CreditCard
  • OtherLiability
  • Crowdfunding
  • DerivativesAndNotes
  • PublicEquity
  • FixedIncome

Major and Minor Asset Classes

Major Asset ClassMinor Asset Class
CashDepositsMoneyMarketFundsCash
DepositsMoneyMarketFunds
FixedIncomeInvestmentGradeFixedIncome
HybridFixedIncome
OtherFixedIncome
PublicEquityUSEquity
NonUSEquity
GlobalEquity
IncomeOrientedEquity
OtherEquity
AlternativeInvestmentsPrivateEquity
HedgeFunds
RealEstate
Commodities
VentureCapital
PersonalRealEstate
Other
OtherInvestmentsAssetAllocation
Miscellaneous
LiabilitiesCreditCard
Loan
IntraFamilyLoan
OtherLiability
ResidentialMortgages
SecurityBasedLoans
StructuredLoans