Moment · Schema

ModelAssignment

CompanyFixed IncomeBondsTradingMarket DataReference DataInvestment ManagementWealth ManagementBrokerageFinancial ServicesFintech

Properties

Name Type Description
model_id string The ID of the model to of which the sleeve should be assigned
model_name string The name of the model to which the sleeve is assigned
assignment_date string Assignment dates are used to align ladders and determine grace periods for the first ladder bucket before dynamic ladder rebalancing kicks in
customizations object
meta object Arbitrary key-value store for additional metadata
rebalance_strategy object
cashflow_targets array
View JSON Schema on GitHub

JSON Schema

moment-model-assignment-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/moment/main/json-schema/moment-model-assignment-schema.json",
  "title": "ModelAssignment",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/moment-account-management-api-openapi.yml#/components/schemas/ModelAssignment",
  "type": "object",
  "properties": {
    "model_id": {
      "type": "string",
      "description": "The ID of the model to of which the sleeve should be assigned"
    },
    "model_name": {
      "type": "string",
      "description": "The name of the model to which the sleeve is assigned",
      "readOnly": true
    },
    "assignment_date": {
      "type": "string",
      "format": "date",
      "description": "Assignment dates are used to align ladders and determine grace periods for the first ladder bucket before dynamic ladder rebalancing kicks in"
    },
    "customizations": {
      "$ref": "#/$defs/Customizations"
    },
    "meta": {
      "type": "object",
      "description": "Arbitrary key-value store for additional metadata",
      "additionalProperties": {
        "type": "string"
      }
    },
    "rebalance_strategy": {
      "$ref": "#/$defs/RebalanceStrategy"
    },
    "cashflow_targets": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/CashflowTarget"
      }
    }
  },
  "required": [
    "model_id",
    "assignment_date",
    "customizations",
    "meta",
    "cashflow_targets"
  ],
  "$defs": {
    "CashflowTarget": {
      "type": "object",
      "properties": {
        "amount": {
          "type": "number",
          "description": "The amount of cashflow to target per period"
        },
        "start_date": {
          "type": "string",
          "format": "date",
          "description": "The date on which the cashflow target starts being applied. This date is inclusive. Must be in the format YYYYMMDD, i.e. 20250101. If not provided, the cashflow target will start on the current date."
        },
        "end_date": {
          "type": "string",
          "format": "date",
          "description": "The date on which the cashflow target stops being applied. This date is exclusive. Must be in the format YYYYMMDD, i.e. 20251231."
        },
        "frequency": {
          "type": "string",
          "description": "The frequency of the cashflow.\n\n* one_time: Cashflow is a one-time payment.\n* monthly: Cashflow is distributed monthly.\n* bimonthly: Cashflow is distributed every two months.\n* quarterly: Cashflow is distributed quarterly.\n* semiannually: Cashflow is distributed twice per year.\n* annually: Cashflow is distributed annually.",
          "enum": [
            "one_time",
            "monthly",
            "bimonthly",
            "quarterly",
            "semiannually",
            "annually"
          ]
        },
        "source": {
          "type": "string",
          "description": "The source of the cashflow.\n\n* coupon: Cashflow is derived from coupon payments.\n* principal: Cashflow is derived from principal payments.\n* coupon_and_principal: Cashflow is derived from both coupon and principal payments.",
          "enum": [
            "coupon",
            "principal",
            "coupon_and_principal"
          ]
        },
        "call_assumption": {
          "type": "string",
          "description": "The assumption made about when bonds will be called.\n\n* maturity_date: Assumes bonds are held until maturity.\n* workout_date: Assumes bonds are called at the workout date.\n* next_call_date: Assumes bonds are called at the next call date.",
          "enum": [
            "maturity_date",
            "workout_date",
            "next_call_date"
          ]
        },
        "overrides": {
          "type": "object",
          "description": "Custom cashflow amounts to override specific buckets. Keys are bucket date ranges in format\n\"YYYYMMDD_YYYYMMDD\" (start_end), values are the override amount.\nExample: {\"20250301_20250401\": 13000} overrides the March 2025 bucket for a monthly frequency starting on the 1st.",
          "additionalProperties": true,
          "x-go-type": "json.RawMessage"
        }
      },
      "required": [
        "amount",
        "end_date",
        "frequency",
        "source",
        "call_assumption",
        "overrides"
      ]
    },
    "Customizations": {
      "type": "object",
      "description": "Sleeve customizations, keyed by asset class. Entries live under an asset-class bucket: fixed-income constraints under `fixed_income`. A bare map of entries at the top level (no asset-class bucket) is a legacy shape that is still accepted but is normalized into `fixed_income` on write; new integrations should send the container shape.",
      "additionalProperties": true,
      "x-go-type": "json.RawMessage",
      "properties": {
        "fixed_income": {
          "type": "object",
          "description": "Fixed-income constraints, keyed by a caller-supplied entry id (e.g. \"allocation_20260609\"). Each entry is a universe filter or an allocation target.",
          "additionalProperties": true
        }
      }
    },
    "RebalanceStrategy": {
      "type": "string",
      "description": "The rebalance strategy for the sleeve. Determines how and when the sleeve is rebalanced. - unspecified: The rebalance strategy is not set. - never: Disables all rebalancing. - violations_only: Only rebalances when there are violations. - enabled: Enables regular rebalancing.",
      "enum": [
        "unspecified",
        "never",
        "violations_only",
        "enabled"
      ]
    }
  }
}

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-model-assignment"
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.