---
title: "List assets for a vehicle"
method: GET
path: "/v1/assets"
tags: ["assets"]
---

# List assets for a vehicle

`GET /v1/assets`

## Request

- Base URL: `https://api.angellist.com`
- URL: `https://api.angellist.com/v1/assets`
- Auth: OAuth 2
  - Authorization code: `https://gateway.angellist.com/oauth/authorize`
  - Client credentials
  - Token URL: `https://gateway.angellist.com/oauth/token` scopes: `assets:read`

Returns the portfolio investment positions held by a single vehicle, as reported on the vehicle's most recent financial statement. `vehicle` is required. Each row is one position on the statement's schedule of investments, carrying its remaining cost basis, its most recent unrealized mark, and the purchase date.

**Supported vehicle types: `spv`, `ruv`, `venture_fund`, and `institutional_fund`.** For an `institutional_fund` the statement used is the most recent one effective on or before today, so the list is empty when the fund has no statement effective yet. Calls with a `vehicle` belonging to a `rolling_fund_quarter` return 404 — rolling funds use a per-quarter recurring commitment model with no canonical asset projection yet.

Each monetary value is an `{amount, currency}` currency object: `remaining_cost_basis` and `unrealized_value`. The currencies can differ — e.g. cost wired in USD, value held in INR. Each asset contributes exactly one row, so summing any monetary field across the page yields the fund-level total — no dedup needed. For fund-level performance metrics (TVPI, DPI, IRR, …) read the canonical figures from `/v1/financial_statements` rather than deriving them from these rows.

## Query parameters

- `vehicle` string, required
- `limit` integer
- `starting_after` string
- `ending_before` string

## Response `200`

A list of assets held by the vehicle.

- AssetList
  - `data` Asset[], required
    - `accrued_interest` CurrencyAmount: A monetary amount in a single currency. `amount` is an integer in the currency's smallest unit (cents for USD; 100 = $1.00) — never whole dollars. `formatted` is the same value rendered in whole units for display.
      - `amount` integer, required: Signed amount in the smallest unit of the currency (cents for USD; 100 = $1.00).
      - `currency` string, required: Uppercase ISO 4217 currency code, optionally suffixed with a digit `n` for AngelList high-precision currencies, which have `n - 1` fraction digits: `9906000` in `CAD8` is CA$0.9906.
      - `formatted` string, nullable, required: The amount rendered as a human-readable string in whole currency units (e.g. `$1,000,000.00` for `amount: 100000000, currency: USD`). Authoritative for magnitude; use `amount` for arithmetic. `null` when the currency has no rendering data — the value is never guessed.
    - `asset_class` AssetClassRef: A reference to an asset class by id. The id is the same one `/v1/asset_classes` uses, stable across assets. Not expandable.
      - `id` string, required: Identifier of the referenced asset class.
    - `asset_events` AssetEvent[]: Realization and conversion events recorded against the position, ordered oldest first. Each event aggregates the proceeds realized on a single date for one event type. Empty when the position has never been partially or fully realized.
      - `date` integer, nullable: Date the realization occurred. Measured in seconds since the Unix epoch. Omitted when no date was recorded.
      - `num_units_liquidated` number, double, nullable: Number of units or shares disposed of in this event. Omitted when no unit count was recorded.
      - `portfolio_interest` CurrencyAmount: A monetary amount in a single currency. `amount` is an integer in the currency's smallest unit (cents for USD; 100 = $1.00) — never whole dollars. `formatted` is the same value rendered in whole units for display.
        - `amount` integer, required: Signed amount in the smallest unit of the currency (cents for USD; 100 = $1.00).
        - `currency` string, required: Uppercase ISO 4217 currency code, optionally suffixed with a digit `n` for AngelList high-precision currencies, which have `n - 1` fraction digits: `9906000` in `CAD8` is CA$0.9906.
        - `formatted` string, nullable, required: The amount rendered as a human-readable string in whole currency units (e.g. `$1,000,000.00` for `amount: 100000000, currency: USD`). Authoritative for magnitude; use `amount` for arithmetic. `null` when the currency has no rendering data — the value is never guessed.
      - `realized_gain_loss` CurrencyAmount: A monetary amount in a single currency. `amount` is an integer in the currency's smallest unit (cents for USD; 100 = $1.00) — never whole dollars. `formatted` is the same value rendered in whole units for display.
        - `amount` integer, required: Signed amount in the smallest unit of the currency (cents for USD; 100 = $1.00).
        - `currency` string, required: Uppercase ISO 4217 currency code, optionally suffixed with a digit `n` for AngelList high-precision currencies, which have `n - 1` fraction digits: `9906000` in `CAD8` is CA$0.9906.
        - `formatted` string, nullable, required: The amount rendered as a human-readable string in whole currency units (e.g. `$1,000,000.00` for `amount: 100000000, currency: USD`). Authoritative for magnitude; use `amount` for arithmetic. `null` when the currency has no rendering data — the value is never guessed.
      - `total_proceeds` CurrencyAmount: A monetary amount in a single currency. `amount` is an integer in the currency's smallest unit (cents for USD; 100 = $1.00) — never whole dollars. `formatted` is the same value rendered in whole units for display.
        - `amount` integer, required: Signed amount in the smallest unit of the currency (cents for USD; 100 = $1.00).
        - `currency` string, required: Uppercase ISO 4217 currency code, optionally suffixed with a digit `n` for AngelList high-precision currencies, which have `n - 1` fraction digits: `9906000` in `CAD8` is CA$0.9906.
        - `formatted` string, nullable, required: The amount rendered as a human-readable string in whole currency units (e.g. `$1,000,000.00` for `amount: 100000000, currency: USD`). Authoritative for magnitude; use `amount` for arithmetic. `null` when the currency has no rendering data — the value is never guessed.
      - `type` 'realization' | 'conversion', required: Kind of disposition. A `realization` is a cash exit; a `conversion` exchanges the position for another instrument and carries no cash proceeds.
    - `company` CompanyRef: A reference to a company by id. The `cmpny_` prefix encodes the type, so no `object` field is needed. The id is the same one `/v1/companies` uses, stable across assets and deployments. Not expandable.
      - `id` string, required: Identifier of the referenced company.
    - `date_purchased` integer: Time at which the position was purchased. Measured in seconds since the Unix epoch. Omitted for rows where no purchase date was recorded.
    - `id` string, required: Unique identifier for this asset position. The underlying record id is encoded through a salted Sqid alphabet so the internal database identifier is never on the wire.
    - `interest_rate_basis_points` integer: Stated interest rate of the instrument, in basis points (an 8% note is `800`). Only present for interest-bearing instruments such as convertible notes.
    - `investment_type` string: Instrument type of the position as recorded on the schedule of investments — e.g. `Preferred Stock`, `SAFE`, `Convertible Note`. Free-form text, not a closed enum. Omitted when no type was recorded.
    - `last_valuation_action_date` integer: Effective date of the most recent valuation applied to the position. Measured in seconds since the Unix epoch. Only present for actively held positions on the schedule of investments; omitted for fully realized positions and when the position has no recorded valuation.
    - `livemode` boolean, required: Whether this object exists in live mode (`true`) or test mode (`false`).
    - `object` 'asset', required: Object type identifier.
    - `remaining_cost_basis` CurrencyAmount: A monetary amount in a single currency. `amount` is an integer in the currency's smallest unit (cents for USD; 100 = $1.00) — never whole dollars. `formatted` is the same value rendered in whole units for display.
      - `amount` integer, required: Signed amount in the smallest unit of the currency (cents for USD; 100 = $1.00).
      - `currency` string, required: Uppercase ISO 4217 currency code, optionally suffixed with a digit `n` for AngelList high-precision currencies, which have `n - 1` fraction digits: `9906000` in `CAD8` is CA$0.9906.
      - `formatted` string, nullable, required: The amount rendered as a human-readable string in whole currency units (e.g. `$1,000,000.00` for `amount: 100000000, currency: USD`). Authoritative for magnitude; use `amount` for arithmetic. `null` when the currency has no rendering data — the value is never guessed.
    - `remaining_shares` number, double: Number of shares (or units) still held for the position. May be fractional. Omitted for positions without a share count — e.g. SAFEs and convertible notes.
    - `unrealized_value` CurrencyAmount: A monetary amount in a single currency. `amount` is an integer in the currency's smallest unit (cents for USD; 100 = $1.00) — never whole dollars. `formatted` is the same value rendered in whole units for display.
      - `amount` integer, required: Signed amount in the smallest unit of the currency (cents for USD; 100 = $1.00).
      - `currency` string, required: Uppercase ISO 4217 currency code, optionally suffixed with a digit `n` for AngelList high-precision currencies, which have `n - 1` fraction digits: `9906000` in `CAD8` is CA$0.9906.
      - `formatted` string, nullable, required: The amount rendered as a human-readable string in whole currency units (e.g. `$1,000,000.00` for `amount: 100000000, currency: USD`). Authoritative for magnitude; use `amount` for arithmetic. `null` when the currency has no rendering data — the value is never guessed.
    - `vehicle` object, required: The vehicle this asset belongs to.
      - `id` string, required: Encoded vehicle identifier.
  - `has_more` boolean, required: Whether there are more items available after this page.
  - `object` 'list', required
  - `url` string, required: The URL for this list endpoint.

## Other responses

- `400`: The request was malformed or contained invalid parameters.
- `401`: Authentication required or token invalid.
- `403`: The authenticated user does not have permission to access this resource, or the vehicle's data is not available through the API. Vehicle-scoped financial-data endpoints return code `not_available` when a vehicle's data isn't served through the API yet — the API returns verified data or none, never partial data. One account can hold a mix of covered and uncovered vehicles; support for uncovered vehicles is on the roadmap and will be added in the coming months.
- `404`: Resource not found.
- `429`: Rate limit exceeded.
- `500`: An unexpected error occurred.

---

[API](https://skmtc.dev/angellist/apis/angellist-funds-api.md) - [All operations](https://skmtc.dev/angellist/apis/angellist-funds-api/llms.txt) - [OpenAPI document](https://skmtc.dev/angellist/apis/angellist-funds-api/revisions/b339e0e06c02?raw)
