Investments

List investments

GET/investments

Lists investments, newest first. Send filter[deal_id], filter[investor_id] or filter[external_investor_id], or the call returns 422.

Add totals=true or group_by for sums across every match in meta.totals. This replaces deal funding (filter[deal_id]&totals=true), amount invested (filter[deal_id]&filter[investor_id]&group_by=investor_id) and transacting investors (filter[deal_id]&filter[first_per_investor]=true&include=investor).

Query parameters

  • limitinteger#

    Page size (1–100). Defaults to 25; values are clamped to the range.

    Default: 25
  • cursorstring#

    Opaque pagination cursor taken from a prior response's meta.next_cursor.

  • fieldsstring#

    Comma-separated top-level fields to return. id is always returned.

  • sortstring#

    Comma-separated fields to sort by, from the operation's allowed list. Prefix a field with - for descending. The record id is always the final tiebreak.

  • includestring#

    Related records to embed, comma-separated. investor adds the investor's name and, for platform investors, first name, last name and email.

    One of: investor
  • totalsboolean#

    Send true to add sums across every matching investment to meta.totals. Sending group_by also turns totals on.

  • group_bystring#

    Comma-separated fields to split the totals by, giving one row per combination that has investments. Any of deal_id, tranche_id, investor_id, external_investor_id and currency_code.

  • filter[deal_id]string (uuid)#

    Investments in this deal. Send this, filter[investor_id] or filter[external_investor_id]. Takes [in] and [not_in] with a comma-separated list.

  • filter[investor_id]string (uuid)#

    Investments of this platform investor. Send this, filter[deal_id] or filter[external_investor_id]. Takes [in] and [not_in] with a comma-separated list.

  • filter[external_investor_id]string (uuid)#

    Investments of this external investor. Send this, filter[deal_id] or filter[investor_id]. Takes [in] and [not_in] with a comma-separated list.

  • filter[tranche_id]string (uuid)#

    Investments in this tranche. Takes [in] and [not_in] with a comma-separated list.

  • filter[workflow_id]string (uuid)#

    Investments that follow this transaction workflow. Takes [in] and [not_in] with a comma-separated list.

  • filter[label]string#

    Investments with this label, such as Initial. Takes [in], [not_in] and [contains].

  • filter[created_at]string#

    Only investments created in a range, written filter[created_at][gte]=2026-10-01. Takes gt, gte, lt and lte.

  • filter[first_per_investor]boolean#

    Only each investor's earliest investment on each deal, among the other filters' matches (true). Without filter[deal_id] an investor gets one row per deal.

Responses

200

The investments.

InvestmentListWithTotals
{
  "data": [
    {}
  ],
  "meta": {
    "totals": [
      {}
    ]
  }
}
401

Authentication failed. error.code is one of invalid_token, expired, revoked.

Error
403

Authorization failed. error.code is one of org_disabled, ip_blocked, missing_scope, scope_disabled, user_disabled.

Error
422

The request can't be processed (HTTP 422): validation_failed with one ErrorDetail per problem, or a code documented on the operation.

Error
429

Rate limit exceeded (error.code = rate_limited).

Error

Examples

curl https://your-org-domain/kong/core/api/v2/investments\
  -H "Authorization: Bearer $HELM_API_KEY"\
  -H "Content-Type: application/json"