Reference
Funds
Read and update a fund profile, and record a commitment. Capital calls stay in the product.
A fund on this API is the finance fund, not the catalog key Firm and not GET /api/v1/x/records/Fund. That record path is 400 unknown_entity.
| Method | Path | What it does |
|---|---|---|
| GET | /api/v1/x/funds | A page of funds |
| GET | /api/v1/x/funds/{id} | One fund |
| POST | /api/v1/x/funds | Create a fund profile |
| PATCH | /api/v1/x/funds/{id} | Change profile fields |
| GET | /api/v1/x/funds/{id}/commitments | Commitments on that fund |
| POST | /api/v1/x/funds/{id}/commitments | Record a commitment |
| GET | /api/v1/x/commitments/{id} | One commitment |
Read needs finance.fund.view or finance.commitment.view, and the token scope finance:read. Create and update need finance.fund.manage or finance.commitment.manage, and finance:write.
cursor is a page number. starting_after=start walks by created time, the same way as records. q on the fund list matches the fund name.
Notices, capital calls, and transactions are not on this prefix.
Create a fund
Section titled “Create a fund”companyId is the company that carries the fund. rateTier1Pct of 0.02 is 2 percent. Omitting managementFeePolicy stores 2 percent of committed capital, calculated quarterly at the beginning of the period.
{ "companyId": "00000000-0000-4000-8000-000000000010", "name": "Harbor Lane Fund I", "fundType": "ClosedEndFund", "baseCurrencyCode": "USD", "distributionMode": "European", "vintageYear": 2026, "targetSize": 250000000, "managementFeePolicy": { "feeBasis": "committed_capital", "calculationFrequency": "quarterly", "calculationBase": "beginning_of_period", "rateTier1Pct": 0.02 }}fundType is ClosedEndFund, OpenEndFund, Spv, CoInvestmentVehicle, Evergreen, or SeparatelyManagedAccount. distributionMode is European or American.
A fund and a commitment include version. It starts at 1 and increases on each write. A get returns the full fund. These are the fields a caller uses to send If-Match:
A patch sends any of name, targetSize, hardCap, fundTermYears, investmentPeriodYears, administratorId, auditorId, and legalCounselId. Absent keys stay as they are. Without If-Match, the later patch wins. Send If-Match with the fund’s version when the patch must fail if the fund changed. A mismatch is 412 version_conflict.
{ "id": "00000000-0000-4000-8000-000000000030", "name": "Harbor Lane Fund I", "fundType": "ClosedEndFund", "status": "Open", "baseCurrencyCode": "USD", "version": 1}Record a commitment
Section titled “Record a commitment”POST /api/v1/x/funds/{id}/commitments stores the amount. It does not call capital.
{ "investorId": "00000000-0000-4000-8000-000000000020", "commitmentAmount": 10000000, "currencyCode": "USD", "commitmentType": "Lp", "subscriptionDate": "2026-03-01"}commitmentType is Lp or Gp. CarriedInterest is 400 invalid_field.