---
title: "Read fund pricing and close dates"
method: GET
path: "/api/v2/funds"
tags: ["Fund metadata"]
---

# Read fund pricing and close dates

`GET /api/v2/funds`

## Request

- Base URL: `https://capitalcompany.ai`
- URL: `https://capitalcompany.ai/api/v2/funds`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Team-level fund metadata shared across investors, sorted by fund ID. Paid company share prices take precedence over anticipated quotes for the same company/security. Includes all recorded purchases rather than inventing an average. Missing price data must be entered by the investment manager. Fee-inclusive anticipated pricing retains the quoted amount but cannot supply a fee-exclusive pricePerShare. finalCloseDate is fund closure, not the last LP marked closed. This read endpoint uses lp:read; fund management has separate funds:* scopes. Required key scope: lp:read.

## Query parameters

- `limit` integer: Maximum rows per page (1–500). Omitted means 100.
- `offset` integer: Number of roster rows to skip; omitted means 0. Advance by the requested limit, not the number of changed portfolios.

## Response `200`

Paginated funds, reporting currency, finalCloseDate, lastLpClosedAt and company-share entryPrices with source and fee inclusion.

- LpFundsResponse
  - `success` true, required
  - `data` object, required
    - `totalCount` integer, required
    - `funds` object[], required
      - `id` string, required
      - `fundLegalName` string, required
      - `currencyCode` string, required: Currency code for monetary amounts; amounts are major units, not cents.
      - `finalCloseDate` string, date-time, nullable, required: Fund-level fully-closed timestamp (the funds list’s Closed At). Null until recorded; independent of last LP closure.
      - `lastLpClosedAt` string, date-time, nullable, required: Most recent LP close notice date; not the fund final close date.
      - `entryPrices` union[], required: Recorded purchases through today, otherwise anticipated quotes for company/security pairs without a purchase. Missing source data produces no entry. Multiple purchases remain separate.
        - union
          - object
            - `companySourceId` string, required
            - `securityType` string, nullable, required
            - `quotedPricePerShare` number, required
            - `source` 'purchase', required
            - `fundClassName` unknown, required
            - `pricePerShare` number, required: Paid company share price excluding fees.
            - `currencyCode` string, nullable, required: Currency code for monetary amounts; amounts are major units, not cents.
            - `feeInclusion` 'excludes-fee', required
            - `date` string, date-time, required
          - object
            - `companySourceId` string, required
            - `securityType` string, nullable, required
            - `quotedPricePerShare` number, required
            - `source` 'anticipated', required
            - `fundClassName` string, required
            - `currencyCode` string, required: Currency code for monetary amounts; amounts are major units, not cents.
            - `date` unknown, required
            - `feeInclusion` 'excludes-fee', required
            - `pricePerShare` number, required: Anticipated company share price excluding fees.
          - object
            - `companySourceId` string, required
            - `securityType` string, nullable, required
            - `quotedPricePerShare` number, required
            - `source` 'anticipated', required
            - `fundClassName` string, required
            - `currencyCode` string, required: Currency code for monetary amounts; amounts are major units, not cents.
            - `date` unknown, required
            - `feeInclusion` 'includes-fee', required
            - `pricePerShare` unknown, required
    - `pagination` object, required
      - `limit` integer, required
      - `offset` integer, required
      - `hasMore` boolean, required

## Other responses

- `400`: INVALID_PARAMS: request validation failed.
- `401`: MISSING_API_KEY or INVALID_API_KEY: missing, invalid or revoked key.
- `403`: INSUFFICIENT_SCOPE: the key lacks the required scope.
- `429`: RATE_LIMIT_EXCEEDED: respect Retry-After before retrying.
- `500`: INTERNAL_ERROR: unexpected server error.

---

[API](https://skmtc.dev/capitalcompany/apis/capital-company-external-api.md) · [All operations](https://skmtc.dev/capitalcompany/apis/capital-company-external-api/llms.txt) · [OpenAPI document](https://skmtc.dev/capitalcompany/apis/capital-company-external-api/revisions/b99bb24f107d?raw)
