Hemrock · Schema

FundComputeRequest

FinanceOpen SourceArtificial IntelligenceModelingCommunityCompany

Properties

Name Type Description
inputs object
features object
granularity string
firstCloseDate string
format string
fundName string
View JSON Schema on GitHub

JSON Schema

hemrock-com-fund-compute-request-schema.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://artifacts.apis.io/hemrock-com/json-schema/hemrock-com-fund-compute-request-schema.json",
  "title": "FundComputeRequest",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hemrock-com-openapi.json#/components/schemas/FundComputeRequest",
  "type": "object",
  "properties": {
    "inputs": {
      "type": "object",
      "properties": {
        "committedCapital": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "gpCommitPct": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "gpCommitCountedTowardInvested": {
          "type": "boolean"
        },
        "gpCommitBearsCarry": {
          "type": "boolean"
        },
        "organizationalExpenses": {
          "type": "number",
          "minimum": 0
        },
        "organizationalExpenseLines": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string"
              },
              "amount": {
                "type": "number",
                "minimum": 0
              }
            },
            "required": [
              "label",
              "amount"
            ],
            "additionalProperties": false
          }
        },
        "operationalExpensesAnnual": {
          "type": "number",
          "minimum": 0
        },
        "operationalExpensesBreakout": {
          "type": "object",
          "properties": {
            "fundAdmin": {
              "type": "number",
              "minimum": 0
            },
            "tax": {
              "type": "number",
              "minimum": 0
            },
            "audit": {
              "type": "number",
              "minimum": 0
            },
            "other": {
              "type": "number",
              "minimum": 0
            }
          },
          "required": [
            "fundAdmin",
            "tax",
            "audit",
            "other"
          ],
          "additionalProperties": false
        },
        "operationalExpenseLines": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string"
              },
              "amount": {
                "type": "number",
                "minimum": 0
              },
              "quarterly": {
                "type": "array",
                "minItems": 4,
                "maxItems": 4,
                "items": [
                  {
                    "type": "number",
                    "minimum": 0
                  },
                  {
                    "type": "number",
                    "minimum": 0
                  },
                  {
                    "type": "number",
                    "minimum": 0
                  },
                  {
                    "type": "number",
                    "minimum": 0
                  }
                ]
              }
            },
            "required": [
              "label",
              "amount"
            ],
            "additionalProperties": false
          }
        },
        "partnershipExpensesAnnual": {
          "type": "number",
          "minimum": 0
        },
        "partnershipExpenseLines": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string"
              },
              "amount": {
                "type": "number",
                "minimum": 0
              },
              "quarterly": {
                "type": "array",
                "minItems": 4,
                "maxItems": 4,
                "items": [
                  {
                    "type": "number",
                    "minimum": 0
                  },
                  {
                    "type": "number",
                    "minimum": 0
                  },
                  {
                    "type": "number",
                    "minimum": 0
                  },
                  {
                    "type": "number",
                    "minimum": 0
                  }
                ]
              }
            },
            "required": [
              "label",
              "amount"
            ],
            "additionalProperties": false
          }
        },
        "mgmtFeePct": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "mgmtFeeSchedule": {
          "type": "array",
          "items": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          }
        },
        "recycledCapitalPct": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "carryPct": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "newInvestmentPeriodYears": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "mgmtFeesPeriodYears": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "fundOperationsYears": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "maxFundLifeYears": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "navMarkupYears": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "portfolio": {
          "type": "object",
          "properties": {
            "newPct": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "followPct": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "avgCheckSizeNew": {
              "type": "number",
              "minimum": 0
            },
            "avgCheckSizeFollow": {
              "type": "number",
              "minimum": 0
            },
            "entryStages": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "numInvestments": {
                    "type": "number",
                    "minimum": 0
                  },
                  "avgCheckSize": {
                    "type": "number",
                    "minimum": 0
                  },
                  "pctAllocation": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "reserveRatio": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "initialCheckLabel": {
                    "type": "string"
                  },
                  "followOnChecks": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "label": {
                          "type": "string"
                        },
                        "avgCheckSize": {
                          "type": "number",
                          "minimum": 0
                        },
                        "pctOfReserve": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        }
                      },
                      "required": [
                        "avgCheckSize"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "name",
                  "numInvestments",
                  "avgCheckSize"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "newPct",
            "followPct",
            "avgCheckSizeNew",
            "avgCheckSizeFollow"
          ],
          "additionalProperties": false
        },
        "returnTiers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1
              },
              "pctOfCapital": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "multiple": {
                "type": "number",
                "minimum": 0
              },
              "holdingPeriodYears": {
                "type": "number",
                "minimum": 0
              },
              "numCompanies": {
                "type": "number",
                "minimum": 0
              }
            },
            "required": [
              "name",
              "pctOfCapital",
              "multiple",
              "holdingPeriodYears"
            ],
            "additionalProperties": false
          },
          "minItems": 1
        },
        "tierInputMode": {
          "type": "string",
          "enum": [
            "pct-capital",
            "num-companies"
          ]
        },
        "stageInputMode": {
          "type": "string",
          "enum": [
            "pct-capital",
            "num-companies"
          ]
        },
        "tierFractional": {
          "type": "boolean"
        },
        "solveCalledFromDeployment": {
          "type": "boolean"
        },
        "targetTotalInvestments": {
          "type": "number",
          "minimum": 0
        }
      },
      "required": [
        "committedCapital",
        "gpCommitPct",
        "gpCommitCountedTowardInvested",
        "organizationalExpenses",
        "operationalExpensesAnnual",
        "mgmtFeePct",
        "recycledCapitalPct",
        "carryPct",
        "newInvestmentPeriodYears",
        "mgmtFeesPeriodYears",
        "portfolio",
        "returnTiers"
      ],
      "additionalProperties": false
    },
    "features": {
      "type": "object",
      "properties": {
        "capTable": {
          "type": "object",
          "properties": {
            "inputs": {
              "type": "object",
              "properties": {
                "newInvestmentCheckSize": {
                  "type": "number",
                  "minimum": 0
                },
                "postmoneyValuation": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "numFollowOnRounds": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 20
                },
                "numRoundsFollowOn": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 20
                },
                "defaultValuationIncrease": {
                  "type": "number",
                  "minimum": 0
                },
                "dilutionPerRound": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                "dilutionFromOptionPoolsPerRound": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                "pctCompaniesFollowOn": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                "followOnRounds": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "valuationIncrease": {
                        "type": "number",
                        "minimum": 0
                      },
                      "dilutionFromRound": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      "newOptionPoolInRound": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      "pctCompaniesFollowOn": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      }
                    },
                    "additionalProperties": false
                  },
                  "maxItems": 20
                },
                "defaultGraduationRate": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                "defaultWriteoffRate": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                "defaultExitMultiple": {
                  "type": "number",
                  "minimum": 0
                },
                "roundOutcomes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "graduationRate": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      "writeoffRate": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      "exitMultiple": {
                        "type": "number",
                        "minimum": 0
                      }
                    },
                    "additionalProperties": false
                  },
                  "maxItems": 21
                },
                "roundLabels": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "maxLength": 200
                  },
                  "maxItems": 21
                },
                "ownershipOutsideInvestment": {
                  "type": "array",
                  "items": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "maxItems": 21
                },
                "exitMultipleOnLastRound": {
                  "type": "number",
                  "minimum": 0
                }
              },
              "required": [
                "newInvestmentCheckSize",
                "postmoneyValuation",
                "numFollowOnRounds",
                "numRoundsFollowOn",
                "defaultValuationIncrease",
                "dilutionPerRound",
                "dilutionFromOptionPoolsPerRound",
                "pctCompaniesFollowOn",
                "defaultGraduationRate",
                "defaultWriteoffRate",
                "defaultExitMultiple"
              ],
              "additionalProperties": false
            },
            "bridge": {
              "type": "object",
              "properties": {
                "numInvestmentsTarget": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 10000
                },
                "stageName": {
                  "type": "string",
                  "maxLength": 200
                },
                "writeoffHoldYears": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                "expectedAgeAtRound": {
                  "type": "array",
                  "items": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "maxItems": 21
                },
                "yearsBetweenRounds": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                }
              },
              "required": [
                "numInvestmentsTarget"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "inputs",
            "bridge"
          ],
          "additionalProperties": false
        },
        "deals": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "investments": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "quarter": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 400,
                      "description": "Quarter from first close, 1-based."
                    },
                    "amount": {
                      "type": "number",
                      "minimum": 0
                    }
                  },
                  "required": [
                    "quarter",
                    "amount"
                  ],
                  "additionalProperties": false
                },
                "minItems": 1,
                "maxItems": 40,
                "description": "The checks the fund writes into the deal: the initial check, then any follow-ons."
              },
              "exit": {
                "type": "object",
                "properties": {
                  "quarter": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 400
                  },
                  "multiple": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 10000,
                    "description": "Of everything invested in the deal. 0 is a write-off."
                  },
                  "proceeds": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Exit proceeds in money, instead of a multiple."
                  }
                },
                "required": [
                  "quarter"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "name",
              "investments",
              "exit"
            ],
            "additionalProperties": false
          },
          "minItems": 1,
          "maxItems": 500,
          "description": "Build the portfolio from specific deals instead of entry stages and return tiers (and instead of capTable when both are sent). Each deal has its checks, each in a quarter from first close (1-based), and one exit in a quarter, at a multiple of everything invested in the deal (0 is a write-off) or for proceeds in money. Invested capital is the sum of the checks and called capital is solved from it; the fund life runs to the last exit, capped by maxFundLifeYears; each deal comes back as a row of result.tiers. Recycling keeps back the earliest proceeds, up to recycledCapitalPct of committed, only while later checks can use them. Send dealsMix true to mix the methods instead."
        },
        "dealsMix": {
          "type": "boolean",
          "description": "With deals: the deals come first, and the capital they leave (committed less fees and expenses, plus recycling, less the checks) is invested through the entry stages and return tiers, or capTable when sent, as it would be without deals. Recycling then goes to the stages, the fund life is the later of the deals' and the stages', and result.tiers lists the deals and then the tiers."
        },
        "fees": {
          "type": "object",
          "properties": {
            "base": {
              "type": "string",
              "enum": [
                "committed",
                "nav",
                "aum",
                "step-down"
              ]
            },
            "ratePct": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "yearlyRateSchedule": {
              "type": "array",
              "items": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "maxItems": 100
            },
            "basesByYear": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "committed",
                  "nav",
                  "aum",
                  "step-down"
                ]
              },
              "maxItems": 100
            },
            "feeYears": {
              "type": "number",
              "minimum": 0,
              "maximum": 100
            },
            "stepDownAfterYears": {
              "type": "number",
              "minimum": 0,
              "maximum": 100
            },
            "schedule": {
              "type": "object",
              "properties": {
                "frequency": {
                  "type": "string",
                  "enum": [
                    "quarterly",
                    "semiannual",
                    "annual"
                  ]
                },
                "steps": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "fromYear": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      "rate": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "basis": {
                        "type": "string",
                        "enum": [
                          "committed",
                          "invested",
                          "nav"
                        ]
                      }
                    },
                    "required": [
                      "fromYear",
                      "rate",
                      "basis"
                    ],
                    "additionalProperties": false
                  },
                  "minItems": 1,
                  "maxItems": 20
                },
                "organizationalExpenseCap": {
                  "type": "number",
                  "minimum": 0
                }
              },
              "required": [
                "steps"
              ],
              "additionalProperties": false,
              "description": "The fee as an LPA states it, on the dated schedule: each rate from a point in fund years (0 = first close; 5.5 starts halfway through year 6 and cuts the period it lands in), charged on committed capital, invested cost not yet realized, or NAV, with organizational expenses above organizationalExpenseCap offsetting the fee. Runs for feeYears; base, ratePct, yearlyRateSchedule and basesByYear are ignored when it is set."
            }
          },
          "required": [
            "base"
          ],
          "additionalProperties": false
        },
        "followOn": {
          "type": "object",
          "properties": {
            "offsetQuarters": {
              "type": "integer",
              "minimum": 0,
              "maximum": 40
            }
          },
          "required": [
            "offsetQuarters"
          ],
          "additionalProperties": false
        },
        "waterfall": {
          "type": "object",
          "properties": {
            "preferredReturnMode": {
              "type": "string",
              "enum": [
                "none",
                "irr",
                "multiple"
              ]
            },
            "preferredReturnRate": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "preferredReturnMultiple": {
              "type": "number",
              "minimum": 0,
              "maximum": 100
            },
            "catchupPct": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "catchupGpShare": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "carryTiers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "moicThreshold": {
                    "type": "number",
                    "minimum": 0
                  },
                  "irrThreshold": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "description": "Instead of moicThreshold: the band below this tier ends when the LP IRR reaches this rate. With one of these, tiers run in the order given."
                  },
                  "carryPct": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "catchup": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "moicThreshold",
                  "carryPct"
                ],
                "additionalProperties": false
              },
              "maxItems": 20
            },
            "clawback": {
              "type": "boolean"
            },
            "preferredReturnCompounding": {
              "type": "string",
              "enum": [
                "annual",
                "none"
              ],
              "description": "IRR pref: compound annually (the default) or simple interest."
            },
            "preferredReturnBase": {
              "type": "string",
              "enum": [
                "unreturned",
                "contributed"
              ],
              "description": "IRR pref: accrue on capital not yet returned plus unpaid pref (the default), or on each contribution from its date whatever comes back."
            },
            "catchupMeasure": {
              "type": "string",
              "enum": [
                "preferred",
                "profit"
              ],
              "description": "GP catchup: to the carry share of the pref paid (the default), or until the GP holds the carry share of all profit paid. They differ when the GP shares the catchup with LPs."
            },
            "basis": {
              "type": "string",
              "enum": [
                "whole-fund",
                "deal-by-deal"
              ],
              "description": "Whole fund (the default, European) or deal by deal (American): return of capital owes only the capital in deals exited or written off so far, so carry can be paid before the fund returns all capital. The clawback settles on the whole fund."
            }
          },
          "additionalProperties": false
        },
        "recycling": {
          "type": "object",
          "properties": {
            "defaultTreatment": {
              "type": "string",
              "enum": [
                "retained",
                "deemed"
              ]
            },
            "schedule": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "quarter": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 400
                  },
                  "amount": {
                    "type": "number",
                    "minimum": 0
                  },
                  "treatment": {
                    "type": "string",
                    "enum": [
                      "retained",
                      "deemed"
                    ]
                  }
                },
                "required": [
                  "quarter"
                ],
                "additionalProperties": false
              },
              "maxItems": 400
            }
          },
          "additionalProperties": false
        },
        "lpClasses": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "commitment": {
                "type": "number",
                "minimum": 0
              },
              "isRemainder": {
                "type": "boolean"
              },
              "isFirstLoss": {
                "type": "boolean"
              },
              "overrides": {
                "type": "object",
                "properties": {
                  "carryPct": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "preferredReturnMode": {
                    "type": "string",
                    "enum": [
                      "none",
                      "irr",
                      "multiple"
                    ]
                  },
                  "preferredReturnRate": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "preferredReturnMultiple": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "catchupPct": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "catchupGpShare": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "carryTiers": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "moicThreshold": {
                          "type": "number",
                          "minimum": 0
                        },
                        "irrThreshold": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1,
                          "description": "Instead of moicThreshold: the band below this tier ends when the LP IRR reaches this rate. With one of these, tiers run in the order given."
                        },
                        "carryPct": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        },
                        "catchup": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "moicThreshold",
                        "carryPct"
                      ],
                      "additionalProperties": false
                    },
                    "maxItems": 20
                  }
                },
                "additionalProperties": false
              },
              "feeOverrides": {
                "type": "object",
                "properties": {
                  "ratePct": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "yearlyRateSchedule": {
                    "type": "array",
                    "items": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    },
                    "maxItems": 100
                  },
                  "basesByYear": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "committed",
                        "nav",
                        "aum",
                        "step-down"
                      ]
                    },
                    "maxItems": 100
                  }
                },
                "additionalProperties": false
   

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://artifacts.apis.io/hemrock-com/json-schema/hemrock-com-fund-compute-request-schema.json

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/hemrock-com-fund-compute-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.