Investment Transaction entity

A transaction on an investment account. In addition to the required fields in the base `Transaction` model, Plaid requires the following fields for all transactions on an investment account: * `fees` * `transactionType` If the transaction involves a security, Plaid additionally requires the following fields: * `unitPrice` * `units` * `symbol` OR both `securityId` and `securityIdType`

Financial DataOpen BankingOpen FinanceFinancial Data ExchangeConsumer PermissionedAccount DataTransactionsInvestmentsInsuranceTax DataPayrollRESTOAuth2FAPICFPB 1033
View JSON Schema on GitHub

JSON Schema

fdx-investmenttransaction.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Investment Transaction entity",
  "description": "A transaction on an investment account.\nIn addition to the required fields in the base `Transaction` model, Plaid requires the following fields\nfor all transactions on an investment account:\n\n* `fees`\n* `transactionType`\n\nIf the transaction involves a security, Plaid additionally requires the following fields:\n\n* `unitPrice`\n* `units`\n* `symbol` OR both `securityId` and `securityIdType`\n",
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/Transaction"
    },
    {
      "type": "object",
      "properties": {
        "accountCategory": {
          "type": "string",
          "enum": [
            "INVESTMENT_ACCOUNT"
          ]
        },
        "transactionType": {
          "$ref": "#/components/schemas/InvestmentTransactionType"
        },
        "securityId": {
          "type": "string",
          "description": "If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n"
        },
        "securityIdType": {
          "$ref": "#/components/schemas/SecurityIdType"
        },
        "securityType": {
          "$ref": "#/components/schemas/SecurityType"
        },
        "symbol": {
          "type": "string",
          "description": "Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"
        },
        "commission": {
          "type": "number",
          "description": "Plaid expects that your organization includes a value for commission if the commission isn't included in `fees`\n"
        },
        "fees": {
          "type": "number",
          "description": "Fees applied to the trade. Plaid expects that the `fees` include the commission, unless your organization separately provides a value for `commission`\n"
        },
        "unitPrice": {
          "type": "number",
          "description": "Unit price. Plaid uses this as the [price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-investment-transactions-price). Plaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-close-price) if you don't return `securityId` for transactions involving securities.\n**Note:** This field is required if the transaction involves a security\n"
        },
        "units": {
          "type": "number",
          "description": "Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"
        },
        "unitType": {
          "$ref": "#/components/schemas/UnitType"
        },
        "fiAttributes": {
          "type": "array",
          "description": "Array of financial institution-specific attributes. Plaid recommends including a value for [`is_cash_equivalent`](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-is-cash-equivalent) property in this array. Plaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\n",
          "items": {
            "$ref": "#/components/schemas/FiAttribute"
          }
        }
      },
      "required": [
        "fees",
        "transactionType",
        "accountCategory"
      ]
    }
  ],
  "example": {
    "accountCategory": "INVESTMENT_ACCOUNT",
    "transactionId": "78RJ3311PLU34300E",
    "transactionTimestamp": "2024-07-15T14:46:41.375+02:00",
    "description": "Share purchase",
    "debitCreditMemo": "DEBIT",
    "status": "PENDING",
    "amount": 428.08,
    "fees": 4.28,
    "transactionType": "PURCHASED"
  }
}