Moment · Schema

ProjectedCashResponse

An account's settled cash baseline plus its projected cash timeline.

CompanyFixed IncomeBondsTradingMarket DataReference DataInvestment ManagementWealth ManagementBrokerageFinancial ServicesFintech

Properties

Name Type Description
settled_cash object The account's current settled cash balance, the baseline the projection starts from.
currency_code string ISO 4217 currency code for every amount in the response.
projections array Cash events in date order. Empty for an account with no holds, no committed cash raises, no unsettled trades, and no upcoming cashflows.
View JSON Schema on GitHub

JSON Schema

moment-projected-cash-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/moment/main/json-schema/moment-projected-cash-response-schema.json",
  "title": "ProjectedCashResponse",
  "description": "An account's settled cash baseline plus its projected cash timeline.",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/moment-account-management-extended-api-openapi.yml#/components/schemas/ProjectedCashResponse",
  "type": "object",
  "properties": {
    "settled_cash": {
      "description": "The account's current settled cash balance, the baseline the projection starts from.",
      "$ref": "#/$defs/DecimalString"
    },
    "currency_code": {
      "description": "ISO 4217 currency code for every amount in the response.",
      "type": "string"
    },
    "projections": {
      "description": "Cash events in date order. Empty for an account with no holds, no\ncommitted cash raises, no unsettled trades, and no upcoming\ncashflows.\n",
      "type": "array",
      "items": {
        "$ref": "#/$defs/ProjectedCashProjection"
      }
    }
  },
  "required": [
    "settled_cash",
    "currency_code",
    "projections"
  ],
  "$defs": {
    "DecimalString": {
      "type": "string",
      "title": "DecimalString",
      "description": "An exact decimal amount, serialized as a string to preserve precision."
    },
    "ProjectedCashProjection": {
      "type": "object",
      "description": "A single cash event on the projected-cash timeline.",
      "properties": {
        "type": {
          "description": "The kind of cash event:\n\n- `pending`: committed cash whose instrument and side are not\n  known. Either a live hold (for example an activated cash raise),\n  or, only for organizations where committed cash-raise projection\n  is enabled, a cash raise that is committed but not yet activated,\n  dated on the day its hold will be placed. Both carry\n  `holder_type: cash_raise`; a client that treats them alike sees\n  the same cash reduction before and after activation.\n- `pending_buy` / `pending_sell` — an executed-but-unsettled trade on\n  its trade date, or a live order hold. The amount lands in the\n  unsettled bucket.\n- `buy` / `sell` — the settled leg of the same trade on its settlement\n  date, moving the amount from unsettled into settled. Does not change\n  `running_total`.\n- `coupon` — a bond coupon payment.\n- `maturity` — a bond principal repayment.\n- `dividend` — a dividend payment. Only present for organizations\n  where dividend projection is enabled.\n",
          "type": "string",
          "enum": [
            "pending",
            "pending_buy",
            "pending_sell",
            "buy",
            "sell",
            "coupon",
            "dividend",
            "maturity"
          ]
        },
        "reason": {
          "description": "Human-readable description of the event, intended for display. Where\nthe security is known this is its description (for example\n`T 4.5% 05/12/31` for a bond, `AAPL` for an equity). Free text — do\nnot parse it; use `type`, `holder_type`, and `instrument_id` to\nclassify a row.\n",
          "type": "string"
        },
        "instrument_id": {
          "description": "The security this event relates to, when known. Always check for null\nbefore using it:\n\n- Null on holds that do not identify an instrument.\n- Usually populated on coupon, maturity, and dividend rows, but null\n  when the upstream cashflow data carries no per-instrument\n  attribution. The row's date and amount are still accurate; only the\n  security is unattributed.\n",
          "type": [
            "string",
            "null"
          ]
        },
        "side": {
          "description": "Trade direction on trade-derived rows. Null on instrumentless commitments and on\ncoupon, maturity, and dividend rows — which is the majority of rows.\n",
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "BUY",
            "SELL",
            null
          ]
        },
        "holder_type": {
          "description": "Present only on rows where something holds or has committed the\ncash. Null on every other row; use this to distinguish commitments\nfrom pending trade legs.\n\n- `order` / `allocation` — a buying-power hold keyed by order or allocation.\n- `cash_raise`: a cash raise before or after activation.\n- `sleeve_realignment` — a sleeve realignment funding its target sleeves.\n",
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "order",
            "allocation",
            "cash_raise",
            "sleeve_realignment",
            null
          ]
        },
        "holder_id": {
          "description": "Identifier of the entity responsible for a commitment. Null on every other row.",
          "type": [
            "string",
            "null"
          ]
        },
        "date": {
          "description": "The date this event lands on the timeline, `YYYY-MM-DD`. Live holds\nare dated today. A cash raise awaiting activation is dated on the\nday it is scheduled to activate, which can be months out for a\nrecurring schedule. A raise with no scheduled activation, such as one\nwaiting on a manual activation, is dated on its due date instead,\nthe only day it commits to. Either date, once past, lands on today.\nTrade legs are dated on their trade and settlement dates; cashflows\non their payment date.\n",
          "type": "string",
          "format": "date"
        },
        "amount": {
          "description": "The signed amount of this event. Negative reduces cash.",
          "$ref": "#/$defs/DecimalString"
        },
        "unsettled": {
          "description": "Running unsettled-cash balance after this event is applied.",
          "$ref": "#/$defs/DecimalString"
        },
        "settled": {
          "description": "Running settled-cash balance after this event is applied, starting from `settled_cash`.",
          "$ref": "#/$defs/DecimalString"
        },
        "running_total": {
          "description": "Projected total cash as of this row's date. Always the sum of\n`unsettled` and `settled`.\n",
          "$ref": "#/$defs/DecimalString"
        }
      },
      "required": [
        "type",
        "reason",
        "instrument_id",
        "side",
        "holder_type",
        "holder_id",
        "date",
        "amount",
        "unsettled",
        "settled",
        "running_total"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/moment-projected-cash-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.