Returns identity + a details block for one entity. The details
block always includes currency, currency_symbol, fiscal_year_end,
entity_name, logo_url, is_active, and kind. When the entity is a fund
(kind=fund, spv, or holding) the details block additionally
includes gp_carry, new_management_fee_system_cutover_date, and
new_carry_system_cutover_date. For non-fund entities those keys are
omitted entirely.
For funds, details.minimum_investment is the LP minimum the GP
configured (null when none is set; Hub's own type floor is never
reported here). details.management_fee states the fund's fee terms
(frequency plus a tiers array) only when its single active
schedule can be stated without losing anything; otherwise it is null
and details.management_fee_unavailable_reason says why. Treat a null
management_fee as "not stated", never as "no fee": a fee that exists
but cannot be stated here (several schedules, conditions such as a fee
holiday, per-class rates, flat or one-time charges, date bands, an
amended or ended schedule, an unresolved rate) must not be inferred or filled in from elsewhere.
Pass ?include=team to embed a team array of the people the account
shows on its team page, in page order (name, title, position,
gp_signatory). Funds only; non-fund entities get an empty array.
Pass ?include=calculations to embed a calculations block of
fund-level dashboard values. ?window=now (default) returns
as-of-today values and includes capital_activity.invested plus
fees.reserved_for_fees; ?window=lifetime returns forecast values
and omits those two fields entirely. calculations is only supported
on fund-kind entities (kind=fund, spv, or holding); requesting
it on a non-fund entity returns 404. Numeric values serialize as
2-decimal-place decimal strings (currency) or 4-decimal-place
decimal strings (ratios such as performance.net_irr); investor
counts are integers.
ALWAYS branch on calculations.available rather than assuming the
figure groups are present. It is false, with reason and message
and no figure groups, for SPV entities whose computed fund-level figures
do not reconcile with their actual deal economics; those entities return
200, not 404. No computed fund-level figure is reported for such an
entity, and none may be estimated or reconstructed from other endpoints
and presented as one. The details block is unaffected by this
suppression and still carries that entity's own configured values,
including target_fund_size, gp_carry, fund_life_years and
first_close_date — those are reported inputs, not computed figures, so
they may be quoted as what they are (a target, a rate, a date) and must
never be presented as this entity's ACTUAL capital, performance or fee
figures. Every entity of kind=spv is suppressed — both legacy SPVs and
Start SPVs — so a kind=spv entity never carries computed fund-level
figures. Still branch on the flag rather than on kind; the flag is the
contract.
Fee semantics, read fees.note and fees.basis in the response before
answering any fee question. Nothing in the fees group is cash: no
value there is money disbursed to the GP. fees.basis gives each
field's recognition basis SEPARATELY (it is an object, not one label),
and ONLY fields marked accrued_to_date are expense already incurred;
forecast_lifetime, next_12_months_fee_reserve and
projected_lifetime_other_fees are forward-looking projections or
reserves and must never be described as fees charged, recognized, or
owed. On a start fund with window=now, management_fees and
admin_fees are lifetime forecasts while other_fees is to date, and
fees.basis.total_fees is then mixed. There is no
accrued-but-unpaid (GP payable) amount and no fees-paid-to-date amount
anywhere in this payload, so an outstanding or unpaid fee balance
cannot be derived from it and must never be presented as if it could.
fees.reserved_for_fees is a forward-looking reserve, never an amount
owed or unpaid, and is excluded from fees.total_fees;
fees.basis.reserved_for_fees says what it measures for this fund
(next 12 months of fees on a standard fund, a projected lifetime
other-fees figure on a start fund).
fees.total_fees covers management plus admin plus other fees, so a
management-fee-only figure must be compared against
fees.management_fees, not against fees.total_fees.
Returns 404 (not 403) when the id refers to an entity in a different
account.