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. This field is required.

  • Name
    top_account_id
    Type
    string (Max 255)
    Description

    The unique identifier of the top account associated with the asset. This field is required.

  • Name
    is_liability
    Type
    boolean
    Description

    Indicates whether the asset is a liability. This field is required.

  • Name
    account_type
    Type
    enum
    Description

    The type of the account. This field is required. See Account Types for enum values.

  • Name
    account_name
    Type
    string (Max 255)
    Description

    The name of the account. This field is required.

  • 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. This field is optional.

  • 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. This field is required.
    • major_asset_class: enum (Major and Minor Asset Classes) - The major asset class of the holding. This field is required.
    • minor_asset_class: enum (Major and Minor Asset Classes) - The minor asset class of the holding. This field is required.
    • balance_in_usd: float - The balance of the holding in USD. This ought to be negative for liablilities. This field is required.
  • 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.

  • 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.

  • Name
    balance_in_usd
    Type
    float, optional
    Description

    The total balance of the account in USD. This ought to be negative for liablilities. This field is required if holdings (which include balance_in_usd) are not provided.

  • 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:

    • type: enum (Individual | Joint | Trust | Entity) - The type of ownership. "Individual" is used for a single person. "Joint" indicates when one or more people own the asset jointly with rights of survivorship (JWROS). "Trust" and "Entity" indicate that a trust or entity owns the asset, respectively. This field is required.
    • percentage: float - The percentage of ownership (between 0 and 100). This field is required.
    • owner_id: array of strings (Max 255 per string) - The id of the owner(s). If "Individual" ownership was indicated as the ownership type, then this should be the id of that person. If "Trust" or "Entity" was indicated as ownership type, then this should be the id of that trust or entity, respectively. If "Joint" was indicated as the ownership type, then this should be the list of ids of the persons who own the asset jointly. This field is required.

Example JSONL File

assets.jsonl

{
  "id": "fa038f59-29e7-48a7-bee8-f93f4e4158e1",
  "top_account_id": "123e4567-e89b-12d3-a456-426614174000",
  "is_liability": false,
  "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": [
    {
      "type": "Individual",
      "percentage": 100.0,
      "owner_id": ["ca7e299a-5404-4d10-82f4-584ebb1bee54"]
    }
  ]
}
{
  "id": "a4a274db-7faa-4d09-b4b1-30fd83981021",
  "top_account_id": "123e4567-e89b-12d3-a456-426614174000",
  "is_liability": true,
  "account_type": "Loan",
  "account_name": "Beach House Mortage",
  "account_number": "xxx4321",
  "balance_as_of_date": "2025-01-31",
  "balance_in_usd": -100000.00,
  "ownership": [
    {
      "type": "Joint",
      "percentage": 75.0,
      "owner_id": ["ca7e299a-5404-4d10-82f4-584ebb1bee54", "4c59a99e-49e9-4364-afa6-22d62d9af3a7"]
    },
    {
      "type": "Trust",
      "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