{"components":{"headers":{"RateLimit-Limit":{"description":"Maximum requests allowed in the current window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Unix timestamp when the rate limit window resets.","schema":{"format":"int64","type":"integer"}},"Request-Id":{"description":"Unique identifier for this request. Include in support inquiries.","schema":{"example":"req_2Xy7Kd9mQpRf3nBwYz4Lc8Vh6Jw","pattern":"^req_[A-Za-z0-9]+$","type":"string"}},"Retry-After":{"description":"Seconds until the rate limit resets.","schema":{"type":"integer"}}},"parameters":{"AngelListVersion":{"description":"API version to use for this request. Defaults to your account's pinned version. See https://dev.angellist.com/docs/versioning for details.","in":"header","name":"AngelList-Version","schema":{"example":"2026-04-14","type":"string"}},"EndingBefore":{"description":"Cursor for backward pagination. Pass the `id` of the first item from the current page to fetch the previous page.","in":"query","name":"ending_before","schema":{"type":"string"}},"IdempotencyKey":{"description":"Unique key for idempotent requests. If you retry a request with the same key, the API returns the original response without performing the operation again.","in":"header","name":"Idempotency-Key","schema":{"format":"uuid","type":"string"}},"Limit":{"description":"Maximum number of results to return (1-100, default 25).","in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},"StartingAfter":{"description":"Cursor for forward pagination. Pass the `id` of the last item from the previous page to fetch the next page.","in":"query","name":"starting_after","schema":{"type":"string"}}},"responses":{"BadRequest":{"content":{"application/json":{"example":{"code":"parameter_invalid","doc_url":"https://dev.angellist.com/docs/errors#parameter_invalid","message":"The 'limit' parameter must be between 1 and 100.","object":"error","param":"limit","status":400,"type":"invalid_request_error"},"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The request was malformed or contained invalid parameters.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"Forbidden":{"content":{"application/json":{"example":{"code":"not_available","doc_url":"https://dev.angellist.com/docs/errors#not_available","message":"This vehicle's data is not currently available through the API. Support for this vehicle is in our roadmap and will be added in coming months.","object":"error","status":403,"type":"permission_error"},"schema":{"$ref":"#/components/schemas/Error"}}},"description":"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.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"InternalError":{"content":{"application/json":{"example":{"code":"internal_error","doc_url":"https://dev.angellist.com/docs/errors#internal_error","message":"An unexpected error occurred. Please try again or contact support with the request_id.","object":"error","status":500,"type":"api_error"},"schema":{"$ref":"#/components/schemas/Error"}}},"description":"An unexpected error occurred.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"NotFound":{"content":{"application/json":{"example":{"code":"resource_not_found","message":"The requested resource does not exist.","object":"error","status":404,"type":"not_found_error"},"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found.","headers":{"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"RateLimited":{"content":{"application/json":{"example":{"code":"rate_limit_exceeded","doc_url":"https://dev.angellist.com/docs/errors#rate_limit_exceeded","message":"Too many requests. Please retry after the period specified in the Retry-After header.","object":"error","status":429,"type":"rate_limit_error"},"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limit exceeded.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"},"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"Unauthorized":{"content":{"application/json":{"example":{"code":"token_invalid","doc_url":"https://dev.angellist.com/docs/errors#token_invalid","message":"Access token is missing or invalid.","object":"error","status":401,"type":"authentication_error"},"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication required or token invalid.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}}},"schemas":{"Asset":{"description":"A single portfolio position held by a vehicle, read from the schedule of investments on the vehicle's most recent financial statement.\n\nConventions: each monetary value is an `{amount, currency}` object carrying its own currency — the remaining cost basis (`remaining_cost_basis`) and the held mark (`unrealized_value`). These can differ — e.g. a USD wire into a foreign-domiciled fund that holds the position in INR. `date_purchased` is unix epoch seconds.\n\nSource-of-truth policy: performance metrics live on the financial statement, not on this row. When the caller needs MOIC, TVPI, DPI, RVPI, IRR, NAV, fund-level paid-in / called / distributed, J-curve, or any gross-vs.-net-of-fees/carry cut, call `/v1/financial_statements` for the row's vehicle and read the canonical figure straight out of the body. Do NOT reconstruct performance metrics by combining or aggregating these values — the statement accounts for fees, carry, recyclables, FX, and cross-class reconciliation that the raw fields don't.","properties":{"accrued_interest":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Interest accrued on the position and not yet realized, in the currency the interest is booked in (typically the currency of the invested principal). Omitted for non-interest-bearing positions.","nullable":true},"asset_class":{"allOf":[{"$ref":"#/components/schemas/AssetClassRef"}],"description":"The asset class this position belongs to on the vehicle's schedule of investments. Omitted when the position has no linked asset class.","nullable":true},"asset_events":{"description":"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.","items":{"$ref":"#/components/schemas/AssetEvent"},"type":"array"},"company":{"allOf":[{"$ref":"#/components/schemas/CompanyRef"}],"description":"The portfolio investee this position is in (corporation or platform fund). Omitted when the position has no linked investee.","nullable":true},"date_purchased":{"description":"Time at which the position was purchased. Measured in seconds since the Unix epoch. Omitted for rows where no purchase date was recorded.","format":"unix-time","type":"integer"},"id":{"description":"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.","example":"asst_1EFtUqAnmNk2n7w3yHhmllMrsvy0","type":"string"},"interest_rate_basis_points":{"description":"Stated interest rate of the instrument, in basis points (an 8% note is `800`). Only present for interest-bearing instruments such as convertible notes.","example":800,"type":"integer"},"investment_type":{"description":"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.","example":"Convertible Note","type":"string"},"last_valuation_action_date":{"description":"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.","format":"unix-time","type":"integer"},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"object":{"description":"Object type identifier.","enum":["asset"],"type":"string"},"remaining_cost_basis":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Remaining cost basis of the position — the amount paid to acquire it, less the basis attributed to any partial exits. The currency is almost always `USD` — funds typically wire in USD even when the underlying valuation is held in another currency. Omitted for rows where no cost was recorded.","nullable":true},"remaining_shares":{"description":"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.","example":1500,"format":"double","type":"number"},"unrealized_value":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Most recent mark of the held position. May be stale relative to real-time market data. The currency may differ from `remaining_cost_basis` for foreign-domiciled funds (e.g. an India scheme that wires USD but values its held position in INR). Omitted when there's no valuation signal on the position.","nullable":true},"vehicle":{"description":"The vehicle this asset belongs to.","properties":{"id":{"description":"Encoded vehicle identifier.","example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},"required":["id"],"type":"object"}},"required":["object","id","livemode","vehicle"],"type":"object"},"AssetClass":{"description":"An asset class referenced on a vehicle's schedule of investments — a share class, convertible class, token type, or off-platform fund interest class.","properties":{"company":{"allOf":[{"$ref":"#/components/schemas/CompanyRef"}],"description":"The portfolio investee this asset class belongs to. Omitted when the asset class has no linked corporation.","nullable":true},"id":{"description":"Unique identifier for this asset class.","example":"aclass_dascQ6ODbitSD6TMxYy7mTr1Diqw","type":"string"},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"name":{"description":"Display name of the asset class.","example":"Series A Preferred","type":"string"},"object":{"description":"Object type identifier.","enum":["asset_class"],"type":"string"},"type":{"description":"The kind of asset class.","enum":["share_class","convertible_class","token_type","off_platform_fund_interest_class"],"type":"string"},"vehicle":{"description":"The vehicle this asset class is scoped to.","properties":{"id":{"description":"Encoded vehicle identifier.","example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},"required":["id"],"type":"object"}},"required":["object","id","livemode","name","type","vehicle"],"type":"object"},"AssetClassList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/AssetClass"},"type":"array"},"has_more":{"description":"Whether there are more items available after this page.","type":"boolean"},"object":{"enum":["list"],"type":"string","x-enum-varnames":["AssetClassListObjectList"]},"url":{"description":"The URL for this list endpoint.","example":"/v1/asset_classes","type":"string"}},"required":["object","data","has_more","url"],"type":"object"},"AssetClassRef":{"description":"A reference to an asset class by id. The id is the same one `/v1/asset_classes` uses, stable across assets. Not expandable.","properties":{"id":{"description":"Identifier of the referenced asset class.","example":"aclass_dascQ6ODbitSD6TMxYy7mTr1Diqw","type":"string"}},"required":["id"],"type":"object"},"AssetEvent":{"description":"A realization or conversion of an asset position on a single date. Multiple same-type dispositions on the same date are summed into one event. A conversion carries no cash proceeds — its cost basis rolls into the received position.","properties":{"date":{"description":"Date the realization occurred. Measured in seconds since the Unix epoch. Omitted when no date was recorded.","format":"unix-time","nullable":true,"type":"integer"},"num_units_liquidated":{"description":"Number of units or shares disposed of in this event. Omitted when no unit count was recorded.","format":"double","nullable":true,"type":"number"},"portfolio_interest":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Interest collected as part of the realization — e.g. the accrued interest paid out when a note is repaid. Omitted when no interest was realized.","nullable":true},"realized_gain_loss":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Gain or loss recognized on this event, per the fund's ledger. Negative for a loss. Omitted when no gain or loss was recorded.","nullable":true},"total_proceeds":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Total cash proceeds realized on this date. Zero for conversions. Omitted when no proceeds were recorded.","nullable":true},"type":{"description":"Kind of disposition. A `realization` is a cash exit; a `conversion` exchanges the position for another instrument and carries no cash proceeds.","enum":["realization","conversion"],"type":"string"}},"required":["type"],"type":"object"},"AssetList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Asset"},"type":"array"},"has_more":{"description":"Whether there are more items available after this page.","type":"boolean"},"object":{"enum":["list"],"type":"string","x-enum-varnames":["AssetListObjectList"]},"url":{"description":"The URL for this list endpoint.","example":"/v1/assets","type":"string"}},"required":["object","data","has_more","url"],"type":"object"},"CapitalAccount":{"description":"The aggregate capital account for a single partner entity in a vehicle.","properties":{"capital_account_ending_balance":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"The ending balance of the partner's capital account. Null when the accounting source does not provide it.","nullable":true},"carried_interest_allocation":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Carried interest allocated to the partner, signed as on the financial statement (outflows negative). Null when the accounting source does not provide it.","nullable":true},"commitment":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"The partner's total commitment to the vehicle. Null when unavailable.","nullable":true},"contributed":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Capital contributed by the partner to date. Null when unavailable.","nullable":true},"distributed":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Capital distributed to the partner to date, signed as on the financial statement (outflows negative). Null when unavailable.","nullable":true},"due_to_from":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"The net amount currently due to or from the partner. Null when unavailable.","nullable":true},"id":{"description":"Unique identifier for this capital account.","example":"cacc_9xK2mN4pR8qS1tV7","type":"string"},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"object":{"description":"Object type identifier.","enum":["capital_account"],"type":"string"},"ownership_percentage":{"description":"The partner's ownership percentage in the vehicle, expressed as a decimal string for precision (e.g. \"0.125000000\" for 12.5%). String representation avoids floating-point precision loss. Null when unavailable.","example":"0.125000000","nullable":true,"type":"string"},"partner":{"description":"The partner entity this capital account belongs to.","properties":{"id":{"description":"Encoded partner identifier.","example":"partner_3nQp8wL1YxTaK9Rm","type":"string"}},"required":["id"],"type":"object"},"vehicle":{"description":"The vehicle this capital account belongs to.","properties":{"id":{"description":"Encoded vehicle identifier.","example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},"required":["id"],"type":"object"}},"required":["object","id","capital_account_ending_balance","carried_interest_allocation","commitment","contributed","distributed","due_to_from","livemode","ownership_percentage","partner","vehicle"],"type":"object"},"CapitalAccountList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CapitalAccount"},"type":"array"},"has_more":{"description":"Whether there are more items available after this page.","type":"boolean"},"object":{"enum":["list"],"type":"string","x-enum-varnames":["CapitalAccountListObjectList"]},"url":{"description":"The URL for this list endpoint.","example":"/v1/capital_accounts","type":"string"}},"required":["object","data","has_more","url"],"type":"object"},"CapitalCall":{"description":"A capital call issued by a vehicle to collect committed capital from its partners — the schedule of the ask: what was called, of whom, when, and by when. It never reports what arrived; collection standing lives on capital accounts. Workflow entity — `status` is the due-date lifecycle, computed at read time from `due_at`. Amounts are live views of the schedule that move as commitments change or late-closing partners are caught up into existing calls.","properties":{"amount":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Total capital called by this call across its partners — the ask, equal to the sum of the per-partner `called` amounts in `partner_breakdown`. A live, rounding-corrected total (the call's percentage applied to applicable commitments), not a point-in-time snapshot and not a measure of money received."},"created":{"description":"Time at which the capital call record was created. Measured in seconds since the Unix epoch.","format":"unix-time","type":"integer"},"due_at":{"description":"The call's stated funding deadline — UTC midnight of the due date, and the sole input to `status`. Null when no deadline exists yet — auto-created calls (the SPV/RUV implicit 100% call, a fund's initial drawdown) get their deadline backfilled at the first close. Individual partners' effective deadlines can be later than this date.","format":"unix-time","nullable":true,"type":"integer"},"group":{"allOf":[{"$ref":"#/components/schemas/CapitalCallGroup"}],"description":"The LP group this call was issued to. Omitted when the call was issued fund-wide — the norm; LP groups are a per-fund opt-in. When present, `partner_breakdown` contains exactly the group's members. A call carries at most one group: a GP calling several groups on the same schedule appears as sibling calls, one per group.","nullable":true},"id":{"description":"Unique opaque identifier for this capital call.","example":"ccall_C7grPp2mNxV4aQt9","type":"string"},"initiated_at":{"description":"The date the call was initiated — notices go out and the funding clock starts. Measured in seconds since the Unix epoch (UTC midnight of the initiation date).","format":"unix-time","type":"integer"},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"object":{"description":"Object type identifier.","enum":["capital_call"],"type":"string"},"partner_breakdown":{"description":"Per-partner breakdown of the ask — one entry per partner the call reaches, ordered by partner identity, deduped across a partner's closings. Always inline, on lists and single reads; may be empty (an SPV's implicit call before any LP signs). The `called` amounts sum to `amount`. Partners awaiting their close are omitted — the fund has not called capital from them yet.","items":{"$ref":"#/components/schemas/CapitalCallPartner"},"type":"array"},"percentage_bps":{"description":"Fraction of commitment called, in integer basis points (2500 = 25%; 10000 = 100%). The GP's canonical input — dollar amounts derive from it. Rounded half-even from venture's stored 12-decimal fraction; the money fields are computed from the full-precision value, so the rounding never moves money.","example":2500,"type":"integer"},"purpose":{"description":"The GP-authored purpose of the call, as printed on the formal Capital Call Notice. Null when the GP left it blank (the notice then falls back to LPA boilerplate).","nullable":true,"type":"string"},"status":{"description":"Due-date lifecycle, computed at read time from `due_at` alone: `completed` means the call is past its due date; it does not indicate whether the money arrived. `in_progress` means the due date has not fully passed — or no deadline exists yet (`due_at` is null). A call flips to `completed` 24 hours after `due_at` (midnight UTC after the due date), so it stays `in_progress` through the whole due day.","enum":["in_progress","completed"],"type":"string"},"vehicle":{"description":"The vehicle that issued this capital call.","properties":{"id":{"description":"Encoded vehicle identifier.","example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},"required":["id"],"type":"object"}},"required":["object","id","created","amount","initiated_at","livemode","partner_breakdown","percentage_bps","status","vehicle"],"type":"object"},"CapitalCallGroup":{"description":"The LP group a capital call was issued to. Groups are a per-fund calling-policy feature; a group carries no public id yet, so it is identified by name within its vehicle.","properties":{"is_default":{"description":"Whether this is the vehicle's default group — the one new partners join automatically when the fund uses groups.","type":"boolean"},"name":{"description":"The group's display name, unique within its vehicle.","example":"Institutional LPs","type":"string"}},"required":["name","is_default"],"type":"object"},"CapitalCallList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CapitalCall"},"type":"array"},"has_more":{"description":"Whether there are more items available after this page.","type":"boolean"},"object":{"enum":["list"],"type":"string","x-enum-varnames":["CapitalCallListObjectList"]},"url":{"description":"The URL for this list endpoint.","example":"/v1/capital_calls","type":"string"}},"required":["object","data","has_more","url"],"type":"object"},"CapitalCallPartner":{"description":"One partner's slice of a capital call's ask.","properties":{"called":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"The amount this call asks of this partner — its slice of the call-level `amount`, from the same schedule computation. What was called, never what the partner paid."},"partner":{"$ref":"#/components/schemas/PartnerRef"}},"required":["partner","called"],"type":"object"},"Close":{"description":"An investment closing on a vehicle. Each close represents a point in time when one or more partners formally committed capital to the vehicle. Closes are ordered by effective date. The `final` flag marks the last expected close for the vehicle — only one close per vehicle can be final.","properties":{"commitment":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Total commitment amount across all partners in this close."},"contributed":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Total contributed (paid-in) amount across all partners in this close."},"created":{"description":"Time at which the close was created. Measured in seconds since the Unix epoch.","format":"unix-time","type":"integer"},"effective_at":{"description":"The date this close took effect. Measured in seconds since the Unix epoch. Represents the date on which partners formally committed capital.","format":"unix-time","type":"integer"},"final":{"description":"Whether this is the final close for the vehicle.","type":"boolean"},"id":{"description":"Unique identifier for this close. The underlying record id is encoded through a salted Sqid alphabet so the internal database identifier is never on the wire.","example":"cls_7mR3nQp8wL1YxTaK","type":"string"},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"object":{"description":"Object type identifier.","enum":["close"],"type":"string"},"partner_count":{"description":"Number of partners that committed capital in this close.","example":15,"type":"integer"},"vehicle":{"description":"The vehicle this close belongs to.","properties":{"id":{"description":"Encoded vehicle identifier.","example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},"required":["id"],"type":"object"}},"required":["object","id","created","commitment","contributed","effective_at","final","livemode","partner_count","vehicle"],"type":"object"},"CloseList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Close"},"type":"array"},"has_more":{"description":"Whether there are more items available after this page.","type":"boolean"},"object":{"enum":["list"],"type":"string","x-enum-varnames":["CloseListObjectList"]},"url":{"description":"The URL for this list endpoint.","example":"/v1/closes","type":"string"}},"required":["object","data","has_more","url"],"type":"object"},"Company":{"description":"A portfolio company that one or more vehicles have invested in, hydrated with profile data (description, website, logo, social links) from the AngelList Startup profile when one exists.","properties":{"acquired_at":{"description":"Time at which the company was acquired. Measured in seconds since the Unix epoch. Null when the company has not been acquired.","format":"unix-time","nullable":true,"type":"integer"},"company_type":{"description":"Classification of the entity.","enum":["operating_company","blockchain_network","external_fund","holding_company","platform_fund"],"type":"string"},"created":{"description":"Time at which the company record was created. Measured in seconds since the Unix epoch.","format":"unix-time","type":"integer"},"description":{"description":"Short description of the company, sourced from the AngelList Startup profile's high concept. Null when no profile is linked or no description is recorded.","example":"AI-powered warehouse robots","nullable":true,"type":"string"},"id":{"description":"Unique identifier for this company. The underlying record id is encoded through a salted Sqid alphabet so the internal database identifier is never on the wire.","example":"cmpny_AJqi2An4xbPF2fbz3f9DZhVL8tDCH","type":"string"},"linkedin_url":{"description":"LinkedIn profile URL of the company. Null when not available.","nullable":true,"type":"string"},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"logo_url":{"description":"URL of the company logo image, sourced from the AngelList Startup profile. Null when no logo is available.","example":"https://cdn.angellist.com/startups/i/12345-abc-medium.jpg","nullable":true,"type":"string"},"markets":{"description":"Market tags for the company, sourced from the AngelList Startup profile. Empty array when no market tags are available.","items":{"type":"string"},"type":"array"},"name":{"description":"Display name of the company.","example":"Acme Robotics","type":"string"},"object":{"description":"Object type identifier.","enum":["company"],"type":"string"},"shut_down_at":{"description":"Time at which the company was shut down or dissolved. Measured in seconds since the Unix epoch. Null when the company has not been shut down.","format":"unix-time","nullable":true,"type":"integer"},"status":{"description":"Operational status of the company.","enum":["active","exit_in_progress","acquired","dissolved"],"type":"string"},"twitter_url":{"description":"Twitter/X profile URL of the company. Null when not available.","nullable":true,"type":"string"},"website":{"description":"Website URL of the company, sourced from the AngelList Startup profile. Null when no Startup profile is linked or when no URL is recorded.","example":"https://acmerobotics.com","nullable":true,"type":"string"}},"required":["object","id","created","livemode","name"],"type":"object"},"CompanyList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Company"},"type":"array"},"has_more":{"description":"Whether there are more items available after this page.","type":"boolean"},"next_cursor":{"description":"Cursor for the next page. Pass this value as starting_after to fetch the next page. Present only when has_more is true.","type":"string"},"object":{"enum":["list"],"type":"string","x-enum-varnames":["CompanyListObjectList"]},"url":{"description":"The URL for this list endpoint.","example":"/v1/companies","type":"string"}},"required":["object","data","has_more","url"],"type":"object"},"CompanyRef":{"description":"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.","properties":{"id":{"description":"Identifier of the referenced company.","example":"cmpny_AJqi2An4xbPF2fbz3f9DZhVL8tDCH","type":"string"}},"required":["id"],"type":"object"},"CurrencyAmount":{"description":"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.","properties":{"amount":{"description":"Signed amount in the smallest unit of the currency (cents for USD; 100 = $1.00).","format":"int64","type":"integer"},"currency":{"description":"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.","example":"USD","pattern":"^[A-Z]{3}[0-9]?$","type":"string"},"formatted":{"description":"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.","example":"$1,000,000.00","nullable":true,"type":"string"}},"required":["amount","currency","formatted"],"type":"object"},"Deployment":{"description":"A capital deployment from a vehicle into a portfolio company. Each row represents one investment event — capital committed through a specific asset and instrument type.","properties":{"amount":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Deployed capital amount."},"asset":{"description":"The asset this deployment created or increased.","properties":{"id":{"description":"Encoded asset identifier.","example":"asst_8xK2mN4pR8qS1tV7","type":"string"}},"required":["id"],"type":"object"},"company":{"allOf":[{"$ref":"#/components/schemas/CompanyRef"}],"description":"The portfolio investee that received the deployment (corporation or platform fund)."},"created":{"description":"Time at which the deployment record was created. Measured in seconds since the Unix epoch.","format":"unix-time","type":"integer"},"deployed_at":{"description":"Time at which the capital was deployed. Measured in seconds since the Unix epoch.","format":"unix-time","type":"integer"},"id":{"description":"Unique identifier for this deployment. Encodes the CPTR asset that materializes the deployment through a salted Sqid alphabet so internal database identifiers never reach the wire.","example":"dply_4kP9wL2nXyTaQ7vR","type":"string"},"instrument_type":{"description":"The instrument type deployed.","enum":["equity","safe","convertible_note","fund_interest","token","warrant","other"],"example":"equity","type":"string","x-enum-varnames":["DeploymentInstrumentTypeEquity","DeploymentInstrumentTypeSafe","DeploymentInstrumentTypeConvertibleNote","DeploymentInstrumentTypeFundInterest","DeploymentInstrumentTypeToken","DeploymentInstrumentTypeWarrant","DeploymentInstrumentTypeOther"]},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"object":{"description":"Object type identifier.","enum":["deployment"],"type":"string"},"round":{"description":"The financing round label (e.g. Series A).","example":"Series A","type":"string"},"vehicle":{"description":"The vehicle this deployment belongs to.","properties":{"id":{"description":"Encoded vehicle identifier.","example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},"required":["id"],"type":"object"}},"required":["object","id","amount","asset","company","created","deployed_at","instrument_type","livemode","round","vehicle"],"type":"object"},"DeploymentList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Deployment"},"type":"array"},"has_more":{"description":"Whether there are more items available after this page.","type":"boolean"},"object":{"enum":["list"],"type":"string","x-enum-varnames":["DeploymentListObjectList"]},"url":{"description":"The URL for this list endpoint.","example":"/v1/deployments","type":"string"}},"required":["object","data","has_more","url"],"type":"object"},"Distribution":{"description":"A distribution of capital from a vehicle to its partners. Distributions are workflow entities — their status tracks the lifecycle from pending through approval to execution.","properties":{"cash":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Cash component of the distribution. Null when the distribution is entirely in-kind.","nullable":true},"category":{"description":"Economic category selected for the distribution. Null when the source workflow does not classify the distribution.","example":"return_of_capital","nullable":true,"type":"string"},"created":{"description":"Time at which the distribution record was created. Measured in seconds since the Unix epoch.","format":"unix-time","type":"integer"},"effective_at":{"description":"Requested effective date, measured in seconds since the Unix epoch at UTC midnight. This is not proof that the distribution executed on that date. Null when no requested effective date is available.","format":"unix-time","nullable":true,"type":"integer"},"executed_at":{"description":"Time at which the distribution was executed. Measured in seconds since the Unix epoch. Null when the distribution has not yet been executed.","format":"unix-time","nullable":true,"type":"integer"},"id":{"description":"Unique identifier for this distribution. The underlying record id is encoded through a salted Sqid alphabet so the internal database identifier is never on the wire.","example":"dist_5tV7xK2mN4pR8qS1","type":"string"},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"object":{"description":"Object type identifier.","enum":["distribution"],"type":"string"},"status":{"description":"Current lifecycle status of the distribution.","enum":["pending","approved","completed"],"type":"string"},"stock_quantity":{"description":"Number of shares distributed in-kind. Null when the distribution is entirely cash or no executed in-kind quantity is available.","format":"int64","nullable":true,"type":"integer"},"tax_withholding":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Tax amount requested to be withheld from the gross distribution. Null when no withholding was requested or the source does not provide withholding details.","nullable":true},"total":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Total distribution amount."},"vehicle":{"description":"The vehicle this distribution belongs to.","properties":{"id":{"description":"Encoded vehicle identifier.","example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},"required":["id"],"type":"object"}},"required":["object","id","created","livemode","status","total","vehicle"],"type":"object"},"DistributionList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Distribution"},"type":"array"},"has_more":{"description":"Whether there are more items available after this page.","type":"boolean"},"object":{"enum":["list"],"type":"string","x-enum-varnames":["DistributionListObjectList"]},"url":{"description":"The URL for this list endpoint.","example":"/v1/distributions","type":"string"}},"required":["object","data","has_more","url"],"type":"object"},"Document":{"properties":{"content_type":{"description":"MIME type.","example":"application/pdf","type":"string"},"created":{"description":"Creation time, unix seconds.","format":"unix-time","type":"integer"},"id":{"example":"doc_a1b2c3d4e5f6g7h8","type":"string"},"livemode":{"type":"boolean"},"name":{"description":"Original file name.","example":"Subscription Agreement - Acme Fund I.pdf","type":"string"},"object":{"enum":["document"],"type":"string","x-enum-varnames":["DocumentObjectDocument"]},"presigned_url":{"$ref":"#/components/schemas/PresignedUrl"},"size":{"description":"File size in bytes.","example":245678,"format":"int64","type":"integer"},"type":{"description":"Document category (snake_case). One of a fixed set: stock_purchase_agreement, convertible_equity_agreement, safe, note, warrant, agreement_for_future_tokens, token_purchase_agreement, token_warrant, token_warrant_purchase_agreement, token_warrant_exercise_notice, financial_statements. Search results only contain executed investment documents; financial_statements appears only when following a `document_id` from `listFinancialStatements` through `getDocument`.","example":"stock_purchase_agreement","type":"string"},"vehicle":{"properties":{"id":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},"required":["id"],"type":"object"}},"required":["object","id","name","vehicle","livemode","created"],"type":"object"},"DocumentSearchRequest":{"description":"Search body. `vehicle` is required and scopes the search to one authorized vehicle. Optional predicate clauses filter within it.","properties":{"limit":{"default":25,"description":"Maximum number of documents to return (1-100, default 25).","maximum":100,"minimum":1,"type":"integer"},"must":{"description":"Predicates a document must all match (AND).","items":{"$ref":"#/components/schemas/SearchPredicate"},"type":"array"},"must_not":{"description":"Predicates a document must not match (NOT).","items":{"$ref":"#/components/schemas/SearchPredicate"},"type":"array"},"should":{"description":"Predicates where at least one must match (OR).","items":{"$ref":"#/components/schemas/SearchPredicate"},"type":"array"},"starting_after":{"description":"Cursor for forward pagination (a doc_ id).","type":"string"},"vehicle":{"description":"Public vehicle ID to scope the search to (required).","example":"vhcl_k9Rm3nQp8wL1YxTa","pattern":"^vhcl_[A-Za-z0-9]{16,}$","type":"string"}},"required":["vehicle"],"type":"object"},"DocumentSearchResult":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Document"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"},"object":{"enum":["search_result"],"type":"string","x-enum-varnames":["DocumentSearchResultObjectSearchResult"]}},"required":["object","data","has_more"],"type":"object"},"Error":{"description":"Error response. Every error includes a machine-readable `code`, a human-readable `message`, and a link to relevant documentation.","properties":{"code":{"description":"Machine-readable error code.","example":"token_invalid","type":"string"},"doc_url":{"description":"Link to documentation about this error.","example":"https://dev.angellist.com/docs/errors#token_invalid","format":"uri","type":"string"},"message":{"description":"Human-readable error message for developers.","example":"Access token is missing or invalid.","type":"string"},"object":{"enum":["error"],"type":"string"},"param":{"description":"The request parameter that caused the error, if applicable.","type":"string"},"request_id":{"description":"Request identifier for support inquiries.","example":"req_2Xy7Kd9mQpRf3nBwYz4Lc8Vh6Jw","pattern":"^req_[A-Za-z0-9]+$","type":"string"},"status":{"description":"HTTP status code.","example":401,"type":"integer"},"type":{"description":"Error category.","enum":["authentication_error","permission_error","invalid_request_error","not_found_error","conflict_error","rate_limit_error","api_error"],"type":"string"}},"required":["object","type","code","message","status"],"type":"object"},"FinancialStatement":{"description":"One financial-statement workbook (parsed JSON projection of the underlying xlsx) stored for a vehicle at a point in time, and the source of truth for fund performance metrics — MOIC, TVPI, DPI, RVPI, IRR, NAV, paid-in / called / distributed, J-curve, gross vs. net of fees/carry. Pull those off the `body` here rather than reconstructing them from `/v1/assets` fields. The `body` is opaque — a passthrough of the upstream JSON rendering of the workbook's sheets and cells (e.g. `Fund Summary`, `unaudited_SOI`, `SOC`, `Realizations`). Consumers should treat unknown keys gracefully; the upstream shape may grow new sheets and columns over time.\n\n`/v1/assets` reads its rows from the vehicle's most recent statement.","properties":{"as_of":{"description":"The date this financial statement is \"as of\" — the period-end date the workbook was generated for. Measured in seconds since the Unix epoch. Null when the upstream record lacks an as-of date.","format":"unix-time","nullable":true,"type":"integer"},"body":{"additionalProperties":true,"description":"Parsed contents of the financial-statement workbook. Values are expressed in whole units of the fund's currency, not integer cents. The internal structure (sheet names, row shapes, cell values) is per-fund and may evolve; do not assume a fixed schema beyond \"JSON object.\"","type":"object"},"created":{"description":"Time at which the financial-statement record was created in the upstream system. Measured in seconds since the Unix epoch. Approximates the workbook's \"as of\" date for most statements but is the upstream record creation time, not a period-end date.","format":"unix-time","type":"integer"},"document_id":{"description":"Public ID of the document backing this statement's workbook file. Pass it to `getDocument` for the file's metadata and a short-lived download URL, or to `downloadDocument` to stream the file bytes. Null when no backing document exists. Statement documents are only addressable this way; they do not appear in `searchDocuments` results.","example":"doc_a1b2c3d4e5f6g7h8","nullable":true,"type":"string"},"id":{"description":"Unique identifier for this financial statement. The underlying record id is encoded through a salted Sqid alphabet so the internal database identifier is never on the wire.","example":"fnstmt_4kP9wL2nXyTaQ7vR","type":"string"},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"object":{"description":"Object type identifier.","enum":["financial_statement"],"type":"string"},"period_type":{"description":"Whether this statement is for the current open period (`interim`) or a finalized, closed quarter (`closed`). Use `closed` rows for historical EOQ snapshots and `interim` for the latest in-progress period.","enum":["interim","closed"],"type":"string"},"vehicle":{"description":"The vehicle this financial statement belongs to.","properties":{"id":{"description":"Encoded vehicle identifier.","example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},"required":["id"],"type":"object"}},"required":["object","id","created","livemode","vehicle","as_of","period_type","document_id","body"],"type":"object"},"FinancialStatementList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/FinancialStatement"},"type":"array"},"has_more":{"description":"Whether there are more items available after this page.","type":"boolean"},"object":{"enum":["list"],"type":"string","x-enum-varnames":["FinancialStatementListObjectList"]},"url":{"description":"The URL for this list endpoint.","example":"/v1/financial_statements","type":"string"}},"required":["object","data","has_more","url"],"type":"object"},"Firm":{"properties":{"created":{"description":"Time at which the object was created. Measured in seconds since the Unix epoch.","format":"unix-time","type":"integer"},"currency":{"description":"ISO 4217 currency code for the firm's default currency.","example":"USD","type":"string"},"description":{"description":"Short description of the firm.","example":"Early-stage deep tech investor.","type":"string"},"id":{"description":"Unique identifier for the object.","example":"firm_Xk7d2pQR9m3nBwYz","type":"string"},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"location":{"description":"Primary location of the firm.","example":"San Francisco, CA","type":"string"},"logo_url":{"description":"URL of the firm's logo image.","format":"uri","type":"string"},"name":{"description":"Display name of the firm.","example":"Acme Capital","type":"string"},"object":{"description":"Object type identifier.","enum":["firm"],"type":"string"},"role":{"$ref":"#/components/schemas/FirmRole"},"slug":{"description":"URL-friendly identifier.","example":"acme-capital","type":"string"}},"required":["object","id","created","livemode","name"],"type":"object"},"FirmList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Firm"},"type":"array"},"has_more":{"description":"Whether there are more items available after this page.","type":"boolean"},"object":{"enum":["list"],"type":"string","x-enum-varnames":["FirmListObjectList"]},"url":{"description":"The URL for this list endpoint.","example":"/v1/firms","type":"string"}},"required":["object","data","has_more","url"],"type":"object"},"FirmRef":{"description":"A reference to a firm by id. The `firm_` prefix encodes the type, so no `object` field is needed. Not expandable.","properties":{"id":{"description":"Identifier of the referenced firm.","example":"firm_Xk7d2pQR9m3nBwYz","type":"string"}},"required":["id"],"type":"object"},"FirmRole":{"description":"The authenticated user's role and permissions on this firm.","properties":{"can_manage_deals":{"description":"Whether the user can create and manage deals.","type":"boolean"},"can_manage_firm":{"description":"Whether the user can manage firm settings and team members.","type":"boolean"}},"required":["can_manage_firm","can_manage_deals"],"type":"object"},"Partner":{"description":"A partner of the organization — the underlying legal entity (individual, firm, trust, IRA) that participates economically in one or more of the organization's vehicles. Each partner maps one-to-one to the underlying legal entity and is scoped to the organization, so the `id` is stable across every vehicle the partner participates in. Vehicle-scoped economics (commitments, contributions, distributions, carry) will be exposed on capital accounts, which reference `partner_id`.","properties":{"created":{"description":"Time at which the partner was created. Measured in seconds since the Unix epoch.","format":"unix-time","type":"integer"},"id":{"description":"Unique identifier for the partner, stable across all of the organization's vehicles.","example":"partner_KEtTwy09thdPxvadEFEyvVNhaXCTkD","type":"string"},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"name":{"description":"Legal name of the partner as it appears on signed documents.","example":"Doe Family Trust","type":"string"},"object":{"description":"Object type identifier.","enum":["partner"],"type":"string"}},"required":["object","id","created","livemode","name"],"type":"object"},"PartnerList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Partner"},"type":"array"},"has_more":{"description":"Whether there are more items available after this page.","type":"boolean"},"object":{"enum":["list"],"type":"string","x-enum-varnames":["PartnerListObjectList"]},"url":{"description":"The URL for this list endpoint.","example":"/v1/partners","type":"string"}},"required":["object","data","has_more","url"],"type":"object"},"PartnerRef":{"description":"A reference to a partner by id. The `partner_` prefix encodes the type, so no `object` field is needed. The id is the same one `/v1/partners` and capital accounts use, stable across all of the organization's vehicles. Not expandable.","properties":{"id":{"description":"Identifier of the referenced partner.","example":"partner_KEtTwy09thdPxvadEFEyvVNhaXCTkD","type":"string"}},"required":["id"],"type":"object"},"PresignedUrl":{"description":"A short-lived presigned URL for a file's bytes, plus its expiry. Not stable — do not cache or persist it.","properties":{"expires_at":{"description":"When the URL expires, unix seconds. Absent until document-service reports it.","example":1717171717,"format":"unix-time","type":"integer"},"url":{"description":"Presigned URL for the file's bytes.","example":"https://files.example.com/doc.pdf?signature=...","format":"uri","type":"string"}},"required":["url"],"type":"object"},"RollingFund":{"description":"A rolling fund: the set that groups a firm's quarterly subscription funds. Identity and structure only -- it carries no deal terms of its own (fees, carry, currency, and subscription terms are LPA terms that live on each quarter's vehicle). Its quarters are returned inline in `rolling_fund_quarters`; each is itself a `rolling_fund_quarter` vehicle.","properties":{"created":{"description":"Time at which the rolling fund was created. Measured in seconds since the Unix epoch.","format":"unix-time","type":"integer"},"firm":{"$ref":"#/components/schemas/FirmRef"},"id":{"description":"Unique identifier for the rolling fund.","example":"rlfnd_8x9k2m4nP3qR5tV7","type":"string"},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"name":{"description":"Display name of the rolling fund.","example":"Acme Rolling Fund","type":"string"},"object":{"description":"Object type identifier.","enum":["rolling_fund"],"type":"string"},"rolling_fund_quarters":{"description":"The fund's quarters, inline and ordered by `sequence`. Each quarter's `vehicle` reference is collapsed to `{ id }` on the list; on the single-fund read it can be expanded with `expand=rolling_fund_quarters.vehicle`.","items":{"$ref":"#/components/schemas/RollingFundQuarter"},"type":"array"},"slug":{"description":"URL-friendly identifier.","example":"acme-rolling-fund","type":"string"},"status":{"description":"Lifecycle status. `active` -- raising and/or deploying. `shut_down` -- cancelled (only surfaced when the fund made at least one investment). `draft` -- not yet launched; rolling funds in this state are not currently returned.","enum":["draft","active","shut_down"],"type":"string"},"subscriber_count":{"description":"Number of active LP subscriptions across the rolling fund.","example":42,"type":"integer"}},"required":["object","id","firm","name","status","subscriber_count","created","livemode","rolling_fund_quarters"],"type":"object"},"RollingFundList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/RollingFund"},"type":"array"},"has_more":{"description":"Whether there are more items available after this page.","type":"boolean"},"object":{"enum":["list"],"type":"string","x-enum-varnames":["RollingFundListObjectList"]},"url":{"description":"The URL for this list endpoint.","example":"/v1/rolling_funds","type":"string"}},"required":["object","data","has_more","url"],"type":"object"},"RollingFundQuarter":{"description":"One quarter of a rolling fund, returned inline in the fund's `rolling_fund_quarters` array. A quarter is its own legal vehicle; its identity *is* that vehicle, so the quarter carries no id of its own -- `vehicle` is the reference. The other fields are the quarter's rolling-fund-specific semantics.","properties":{"is_current":{"description":"Whether this is the rolling fund's current (actively deploying) quarter. A fund can be raising a later quarter while an earlier one is still deploying, so this can differ from `is_raising`.","type":"boolean"},"is_raising":{"description":"Whether this quarter is currently open to new subscriptions.","type":"boolean"},"period_ends_at":{"description":"End of the calendar quarter this quarter covers, in seconds since the Unix epoch.","example":1727740799,"format":"unix-time","type":"integer"},"period_starts_at":{"description":"Start of the calendar quarter this quarter covers, in seconds since the Unix epoch.","example":1719792000,"format":"unix-time","type":"integer"},"sequence":{"description":"1-based position of this quarter within its rolling fund (the first quarter is 1).","example":9,"type":"integer"},"vehicle":{"$ref":"#/components/schemas/RollingFundQuarterVehicle"}},"required":["vehicle","sequence","period_starts_at","period_ends_at","is_current","is_raising"],"type":"object"},"RollingFundQuarterVehicle":{"description":"A rolling fund quarter's `vehicle` reference. Collapsed by default to just `{ id }`; when expanded via `expand=rolling_fund_quarters.vehicle` on the single-fund read, the remaining fields are populated and the object is identical to the quarter's `/v1/vehicles` row. Only `id` is ever guaranteed present.","properties":{"created":{"description":"Time at which the quarter was created, in seconds since the Unix epoch. Present only when expanded.","format":"unix-time","type":"integer"},"firm":{"allOf":[{"$ref":"#/components/schemas/FirmRef"}],"description":"The firm (GP organization) this vehicle belongs to, as a nested `{ id }` stub. Present only when expanded."},"id":{"description":"The quarter's vehicle id (`vhcl_`). Always present, collapsed or expanded.","example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`). Present only when expanded.","type":"boolean"},"name":{"description":"Quarter display name. Present only when expanded.","example":"Acme Rolling Fund 2025 Q3","type":"string"},"object":{"description":"Object type identifier. Present only when expanded.","enum":["vehicle"],"type":"string","x-enum-varnames":["RollingFundQuarterVehicleObjectVehicle"]},"status":{"description":"Lifecycle status, inherited from the parent rolling fund. Present only when expanded.","enum":["draft","active","shut_down"],"type":"string"},"type":{"description":"The quarter's vehicle type. Present only when expanded.","enum":["rolling_fund_quarter"],"type":"string","x-enum-varnames":["RollingFundQuarterVehicleTypeRollingFundQuarter"]}},"required":["id"],"type":"object"},"SearchPredicate":{"properties":{"field":{"description":"Field to filter on. `type` and `content_type` use `eq`; `created` (unix seconds) uses `gt`/`gte`/`lt`/`lte`; `q` (free text over the file name) uses `contains`.","enum":["type","content_type","created","q"],"type":"string"},"op":{"enum":["eq","contains","gt","gte","lt","lte"],"type":"string"},"value":{"type":"string"}},"required":["field","op","value"],"type":"object"},"Subscription":{"description":"A single partner's commitment (subscription) into a vehicle. Subscriptions are workflow entities — the status tracks the lifecycle from signature through funding. For a rolling-fund quarter, a subscription is the partner's commitment for that quarter; `capital_call_group` is always null (the quarter is itself the calling cohort). For an institutional fund, a subscription is a partner's committed position on the fund's books.","properties":{"accreditation":{"allOf":[{"$ref":"#/components/schemas/SubscriptionAccreditation"}],"description":"Accreditation state of the subscribing partner. Null when no accreditation evidence is on file.","nullable":true},"capital_call_group":{"allOf":[{"$ref":"#/components/schemas/SubscriptionCapitalCallGroup"}],"description":"The capital-call cohort (LP group) this subscription belongs to. Null for vehicles that do not use capital calls (including rolling-fund quarters, where the quarter is itself the calling cohort).","nullable":true},"close_ids":{"description":"The closes on which the partner was admitted. A commitment admitted across several closes resolves to several closes. Empty until the subscription has been admitted to the vehicle's books.","items":{"properties":{"id":{"description":"Encoded close identifier.","example":"cls_3nP1wR4tYb8xQ2mK","type":"string"}},"required":["id"],"type":"object"},"type":"array"},"commitment":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"The amount the partner has committed to invest."},"created":{"description":"Time at which the subscription was created. Measured in seconds since the Unix epoch.","format":"unix-time","type":"integer"},"id":{"description":"Unique identifier for this subscription. The underlying record id is encoded through a salted Sqid alphabet so the internal database identifier is never on the wire.","example":"sub_5tV7xK2mN4pR8qS1","type":"string"},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"object":{"description":"Object type identifier.","enum":["subscription"],"type":"string"},"partner":{"description":"The partner (legal entity) that holds this subscription. Null when the partner has not yet been associated.","nullable":true,"properties":{"id":{"description":"Encoded partner identifier.","example":"partner_8xQ2mK5nP1wR4tYb","type":"string"}},"required":["id"],"type":"object"},"side_letter":{"description":"Whether the subscription is governed by a side letter. Always false for rolling-fund quarters (no per-segment side-letter flag exists).","type":"boolean"},"signatory_name":{"description":"The name of the individual who signed the subscription agreement, when available.","nullable":true,"type":"string"},"signed_at":{"description":"Time at which the subscription was signed. Measured in seconds since the Unix epoch. Null before the subscription is signed.","format":"unix-time","nullable":true,"type":"integer"},"status":{"description":"Current lifecycle status of the subscription, tracking it from signature through funding. Rolling-fund quarters emit only `signed` (the partner has committed for the quarter), `funded`, and `rescinded` — never `defaulted` or `partially_defaulted`.","enum":["signed","funded","rescinded","defaulted","partially_defaulted"],"type":"string"},"vehicle":{"description":"The vehicle this subscription belongs to.","properties":{"id":{"description":"Encoded vehicle identifier.","example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},"required":["id"],"type":"object"}},"required":["object","id","created","livemode","status","commitment","side_letter","vehicle"],"type":"object"},"SubscriptionAccreditation":{"description":"Accreditation state of a subscribing partner.","properties":{"level":{"description":"Highest asset level the partner has substantiated. Null when no asset level has been established.","enum":["accredited","qualified_client","qualified_purchaser"],"nullable":true,"type":"string"},"status":{"description":"The partner's accreditation status. `complete` when accreditation no longer blocks the subscription; `pending` while it remains an open requirement.","enum":["pending","complete"],"type":"string"}},"required":["status"],"type":"object"},"SubscriptionCapitalCallGroup":{"description":"The capital-call cohort (LP group) a subscription belongs to. A subscription maps to a cohort, not to an individual capital-call event; drawdowns are issued against the cohort.","properties":{"call_trigger":{"description":"When capital is called for this cohort.","enum":["on_sign","on_close"],"type":"string"},"id":{"description":"Encoded capital-call group identifier.","example":"ccgrp_1wR4tYb8xQ2mK5nP","type":"string"},"is_default":{"description":"Whether this is the vehicle's default cohort.","type":"boolean"},"name":{"description":"Human-readable name of the cohort.","example":"Q1 2026 Close","type":"string"}},"required":["id","name","call_trigger","is_default"],"type":"object"},"SubscriptionList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Subscription"},"type":"array"},"has_more":{"description":"Whether there are more items available after this page.","type":"boolean"},"object":{"enum":["list"],"type":"string","x-enum-varnames":["SubscriptionListObjectList"]},"url":{"description":"The URL for this list endpoint.","example":"/v1/subscriptions","type":"string"}},"required":["object","data","has_more","url"],"type":"object"},"User":{"properties":{"email":{"description":"Primary email address.","example":"gp@example.com","format":"email","type":"string"},"id":{"description":"Unique user identifier.","example":"user_abc123","type":"string"},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"name":{"description":"Display name.","example":"Demo GP","type":"string"},"object":{"description":"Object type identifier.","enum":["user"],"type":"string"}},"required":["object","id","email","name","livemode"],"type":"object"},"ValuationUpdate":{"description":"An active accounting valuation mark on an asset class — either a fixed price-per-unit or a cost-basis multiplier as of an effective date. Convertible classes typically carry a `multiplier`; share classes and token types typically carry a `valuation`.","properties":{"asset_class":{"allOf":[{"$ref":"#/components/schemas/AssetClassRef"}],"description":"The asset class this valuation applies to on the vehicle's schedule of investments."},"created":{"description":"Time at which the valuation update was created. Measured in seconds since the Unix epoch.","format":"unix-time","type":"integer"},"effective_date":{"description":"Date the valuation takes effect. Measured in seconds since the Unix epoch (UTC midnight of the effective calendar day).","format":"unix-time","type":"integer"},"id":{"description":"Unique identifier for this valuation update.","example":"vupd_dascQ6ODbitSD6TMxYy7mTr1Diqw","type":"string"},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"multiplier":{"description":"Cost-basis multiplier when the valuation is expressed as a fraction of original cost (e.g. `0.85` for 85%). Used for convertibles where unit count is unknown ahead of conversion. Omitted when the mark uses a fixed `valuation` instead.","example":"0.85","nullable":true,"type":"string"},"object":{"description":"Object type identifier.","enum":["valuation_update"],"type":"string"},"valuation":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Fixed price-per-unit mark. `amount` is in the currency's smallest unit — ISO cents for `USD`, or high-precision microcents for codes like `USD8` (preserved without downsampling). Omitted when the mark uses a `multiplier` instead.","nullable":true},"vehicle":{"description":"The vehicle this valuation update is scoped to.","properties":{"id":{"description":"Encoded vehicle identifier.","example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},"required":["id"],"type":"object"}},"required":["object","id","created","asset_class","effective_date","livemode","vehicle"],"type":"object"},"ValuationUpdateList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ValuationUpdate"},"type":"array"},"has_more":{"description":"Whether there are more items available after this page.","type":"boolean"},"object":{"enum":["list"],"type":"string","x-enum-varnames":["ValuationUpdateListObjectList"]},"url":{"description":"The URL for this list endpoint.","example":"/v1/valuation_updates","type":"string"}},"required":["object","data","has_more","url"],"type":"object"},"Vehicle":{"properties":{"company_name":{"description":"Name of the portfolio company (primarily for SPVs).","type":"string"},"created":{"description":"Time at which the object was created. Measured in seconds since the Unix epoch.","format":"unix-time","type":"integer"},"enabled":{"description":"Whether this vehicle's data is currently available through the AngelList API and MCP. When `false`, the vehicle is visible but its data is not yet available; support for it is on the roadmap and will be added in the coming months.","type":"boolean"},"firm":{"description":"The firm this vehicle belongs to.","properties":{"id":{"description":"Encoded firm identifier.","example":"firm_Xk7d2pQR9m3nBwYz","type":"string"}},"required":["id"],"type":"object"},"id":{"description":"Unique identifier for the object.","example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"},"investable_lifetime":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Total capital that will ever be deployable over the fund's life. Net of fees, expenses, and recyclables — read from the fund's accounting records, not derived. Only present for `type: venture_fund` vehicles; omitted otherwise.","nullable":true},"investable_now":{"allOf":[{"$ref":"#/components/schemas/CurrencyAmount"}],"description":"Capital currently available to deploy into new investments — read from the fund's accounting records, not derived. Only present for `type: venture_fund` vehicles; omitted otherwise.","nullable":true},"livemode":{"description":"Whether this object exists in live mode (`true`) or test mode (`false`).","type":"boolean"},"name":{"description":"Legal or display name of the vehicle.","example":"Acme Capital Fund IV","type":"string"},"object":{"description":"Object type identifier.","enum":["vehicle"],"type":"string"},"slug":{"description":"URL-friendly identifier.","example":"acme-capital-fund-iv","type":"string"},"status":{"description":"Lifecycle status of the vehicle. `draft` -- being set up or in compliance review, not yet launched. `active` -- launched and operating: raising commitments, finalizing a close, or holding deployed capital. `shut_down` -- cancelled or wound down, no longer operating.","enum":["draft","active","shut_down"],"type":"string"},"type":{"description":"Vehicle type. `rolling_fund_quarter` is a single quarter of a rolling fund -- its own legal vehicle that deploys capital. Its rolling-fund-specific detail (calendar period, sequence, and current/raising flags) is returned inline on the parent rolling fund's `rolling_fund_quarters` array (`GET /v1/rolling_funds`), keyed by the same id as this vehicle.","enum":["spv","ruv","venture_fund","rolling_fund_quarter","institutional_fund"],"type":"string"}},"required":["object","id","created","firm","livemode","name","status","type","enabled"],"type":"object"},"VehicleList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Vehicle"},"type":"array"},"has_more":{"description":"Whether there are more items available after this page.","type":"boolean"},"object":{"enum":["list"],"type":"string","x-enum-varnames":["VehicleListObjectList"]},"url":{"description":"The URL for this list endpoint.","example":"/v1/vehicles","type":"string"}},"required":["object","data","has_more","url"],"type":"object"}},"securitySchemes":{"OAuth2":{"description":"OAuth2-issued JWT bearer token. See https://dev.angellist.com/docs/auth.","flows":{"authorizationCode":{"authorizationUrl":"https://gateway.angellist.com/oauth/authorize","refreshUrl":"https://gateway.angellist.com/oauth/token","scopes":{"asset_classes:read":"Read asset classes on a vehicle's schedule of investments","assets:read":"Read portfolio asset positions held by a vehicle","capital_accounts:read":"Read capital accounts for partners in a vehicle","capital_calls:read":"Read capital calls for a vehicle","closes:read":"Read investment closings for a vehicle","companies:read":"Read portfolio companies held by the caller's vehicles","deployments:read":"Read capital deployments from a vehicle","distributions:read":"Read distributions for a vehicle","documents:read":"Search, read, and download documents for a vehicle","financial_statements:read":"Read financial-statement workbooks backing asset figures","firms:read":"Read firm (GP organization) data","partners:read":"Read the organization's partners","rolling_funds:read":"Read rolling fund (quarterly subscription fund) data","subscriptions:read":"Read subscriptions (partner commitments) for a vehicle","valuation_updates:read":"Read valuation updates on a vehicle's schedule of investments","vehicles:read":"Read investment vehicle (SPV, fund, rolling fund quarter) data"},"tokenUrl":"https://gateway.angellist.com/oauth/token"},"clientCredentials":{"scopes":{"asset_classes:read":"Read asset classes on a vehicle's schedule of investments","assets:read":"Read portfolio asset positions held by a vehicle","capital_accounts:read":"Read capital accounts for partners in a vehicle","capital_calls:read":"Read capital calls for a vehicle","closes:read":"Read investment closings for a vehicle","companies:read":"Read portfolio companies held by the caller's vehicles","deployments:read":"Read capital deployments from a vehicle","distributions:read":"Read distributions for a vehicle","documents:read":"Search, read, and download documents for a vehicle","financial_statements:read":"Read financial-statement workbooks backing asset figures","firms:read":"Read firm (GP organization) data","partners:read":"Read the organization's partners","rolling_funds:read":"Read rolling fund (quarterly subscription fund) data","subscriptions:read":"Read subscriptions (partner commitments) for a vehicle","valuation_updates:read":"Read valuation updates on a vehicle's schedule of investments","vehicles:read":"Read investment vehicle (SPV, fund, rolling fund quarter) data"},"tokenUrl":"https://gateway.angellist.com/oauth/token"}},"type":"oauth2","x-deviceAuthorizationUrl":"https://gateway.angellist.com/oauth/device_authorization"}}},"externalDocs":{"description":"AngelList Developer Documentation","url":"https://dev.angellist.com/docs"},"info":{"contact":{"email":"api@angellist.com","name":"AngelList","url":"https://dev.angellist.com"},"description":"AngelList's public API for fund data.","license":{"name":"Proprietary"},"termsOfService":"https://venture.angellist.com/terms","title":"AngelList Funds API","version":"2026-08-03"},"openapi":"3.0.4","paths":{"/v1/asset_classes":{"get":{"description":"Returns the asset classes appearing on a single vehicle's schedule of investments. `vehicle` is required. Each row is one asset class (share class, convertible class, token type, or off-platform fund interest class) referenced by the vehicle's latest schedule of investments.\n\n**Supported vehicle types: `spv`, `ruv`, and `venture_fund`.** Calls with a `vehicle` belonging to a `rolling_fund_quarter` or `institutional_fund` return 404.","operationId":"listAssetClasses","parameters":[{"description":"Vehicle to list asset classes for. Must be a vehicle of type `spv`, `ruv`, or `venture_fund`. Other vehicle types return 404.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/StartingAfter"},{"$ref":"#/components/parameters/EndingBefore"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetClassList"}}},"description":"A list of asset classes for the vehicle.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["asset_classes:read"]}],"summary":"List asset classes for a vehicle","tags":["asset_classes"],"x-mcp-title":"List asset classes"}},"/v1/asset_classes/{asset_class_id}":{"get":{"description":"Returns a single asset class by ID. The `vehicle` query parameter is required for authorization — the caller must have access to the vehicle, and the asset class must appear on that vehicle's schedule of investments.\n\n**Supported vehicle types: `spv`, `ruv`, and `venture_fund`.** Calls with a `vehicle` belonging to a `rolling_fund_quarter` or `institutional_fund` return 404.","operationId":"getAssetClass","parameters":[{"description":"Unique identifier for the asset class.","in":"path","name":"asset_class_id","required":true,"schema":{"example":"aclass_dascQ6ODbitSD6TMxYy7mTr1Diqw","type":"string"}},{"description":"Vehicle the asset class belongs to. Required for authorization. Must be a vehicle of type `spv`, `ruv`, or `venture_fund`.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetClass"}}},"description":"The asset class.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["asset_classes:read"]}],"summary":"Get an asset class","tags":["asset_classes"],"x-mcp-title":"Get asset class"}},"/v1/assets":{"get":{"description":"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.\n\n**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.\n\nEach 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.","operationId":"listAssets","parameters":[{"description":"Vehicle to list assets for. Must be a vehicle of type `spv`, `ruv`, `venture_fund`, or `institutional_fund`. Other vehicle types (`rolling_fund_quarter`) return 404.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/StartingAfter"},{"$ref":"#/components/parameters/EndingBefore"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetList"}}},"description":"A list of assets held by the vehicle.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["assets:read"]}],"summary":"List assets for a vehicle","tags":["assets"],"x-mcp-title":"List assets"}},"/v1/assets/{asset_id}":{"get":{"description":"Returns a single asset by ID. The `vehicle` query parameter is required for authorization — the caller must have access to the vehicle, and the asset must appear on that vehicle's most recent financial statement's schedule of investments.\n\n**Supported vehicle types: `spv`, `ruv`, `venture_fund`, and `institutional_fund`.** Calls with a `vehicle` belonging to a `rolling_fund_quarter` return 404.","operationId":"getAsset","parameters":[{"description":"Unique identifier for the asset.","in":"path","name":"asset_id","required":true,"schema":{"example":"asst_dascQ6ODbitSD6TMxYy7mTr1Diqw","type":"string"}},{"description":"Vehicle the asset belongs to. Required for authorization. Must be a vehicle of type `spv`, `ruv`, `venture_fund`, or `institutional_fund`.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Asset"}}},"description":"The asset.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["assets:read"]}],"summary":"Get an asset","tags":["assets"],"x-mcp-title":"Get asset"}},"/v1/capital_accounts":{"get":{"description":"Returns capital accounts for partners in a single investment vehicle. `vehicle` is required. Each row represents one partner entity's aggregate capital account in the vehicle. A partner that has relationships with multiple vehicles will have one or more capital accounts per vehicle.\n\nSupported vehicle types: `spv`, `ruv`, `venture_fund`, and `institutional_fund`. Calls with a `vehicle` belonging to a `rolling_fund_quarter` return 404.","operationId":"listCapitalAccounts","parameters":[{"description":"Vehicle to list capital accounts for. Must be a vehicle of type `spv`, `ruv`, `venture_fund`, or `institutional_fund`.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},{"description":"Filter capital accounts by partner.","in":"query","name":"partner","schema":{"example":"partner_3nQp8wL1YxTaK9Rm","type":"string"}},{"description":"Filter capital accounts by identifiers associated with a subscription. Repeat the parameter to provide multiple identifiers.","explode":true,"in":"query","name":"member_ids","schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/StartingAfter"},{"$ref":"#/components/parameters/EndingBefore"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapitalAccountList"}}},"description":"A list of capital accounts for the vehicle.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["capital_accounts:read"]}],"summary":"List capital accounts for a vehicle","tags":["capital_accounts"],"x-mcp-title":"List capital accounts"}},"/v1/capital_accounts/{capital_account_id}":{"get":{"description":"Returns a single capital account by ID.","operationId":"getCapitalAccount","parameters":[{"description":"Unique identifier for the capital account.","in":"path","name":"capital_account_id","required":true,"schema":{"example":"cacc_9xK2mN4pR8qS1tV7","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapitalAccount"}}},"description":"The capital account.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["capital_accounts:read"]}],"summary":"Get a capital account","tags":["capital_accounts"],"x-mcp-title":"Get capital account"}},"/v1/capital_calls":{"get":{"description":"Returns capital calls for a single investment vehicle, newest first by initiation date. `vehicle` is required. A capital call is the schedule of an ask: each row carries the requested percentage of commitment, the total `amount` asked, the per-partner breakdown of that ask in `partner_breakdown`, and the LP `group` the call was issued to (when the fund uses groups). It reports what was called, never what arrived — collection standing lives on capital accounts.\n\nSupported vehicle types: `spv`, `ruv`, `venture_fund`, and `institutional_fund`. An SPV or RUV returns its single implicit 100% call. Institutional-fund rows are scheduled requests; they report the ask and its requested dates, never collection. Calls with a `vehicle` belonging to a `rolling_fund_quarter` return 404.","operationId":"listCapitalCalls","parameters":[{"description":"Vehicle to list capital calls for. Must be a vehicle of type `spv`, `ruv`, `venture_fund`, or `institutional_fund`.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/StartingAfter"},{"$ref":"#/components/parameters/EndingBefore"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapitalCallList"}}},"description":"A list of capital calls for the vehicle.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["capital_calls:read"]}],"summary":"List capital calls for a vehicle — status tracks the due date only, never collection","tags":["capital_calls"],"x-mcp-title":"List capital calls"}},"/v1/capital_calls/{capital_call_id}":{"get":{"description":"Returns a single capital call by ID.","operationId":"getCapitalCall","parameters":[{"description":"Unique identifier for the capital call.","in":"path","name":"capital_call_id","required":true,"schema":{"example":"ccall_C7grPp2mNxV4aQt9","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapitalCall"}}},"description":"The capital call.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["capital_calls:read"]}],"summary":"Get a capital call — status tracks the due date only, never collection","tags":["capital_calls"],"x-mcp-title":"Get capital call"}},"/v1/closes":{"get":{"description":"Returns the investment closings for a single vehicle. `vehicle` is required. Each close represents a date on which one or more partners formally committed capital. The response includes the aggregate commitment amount, contributed amount, and partner count per close.\n\n**Supported vehicle types: `spv`, `ruv`, and `venture_fund`.** Calls with a `vehicle` belonging to a `rolling_fund` or `institutional_fund` return 404.\n\nUse `final` to filter by whether the close is the final close. Use `effective_after` and `effective_before` to filter by the close's effective date (unix timestamps, inclusive bounds).","operationId":"listCloses","parameters":[{"description":"Vehicle to list closes for. Must be a vehicle of type `spv`, `ruv`, or `venture_fund`. Other vehicle types return 404.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},{"description":"Filter by whether the close is marked as final.","in":"query","name":"final","schema":{"type":"boolean"}},{"description":"Only return closes with an effective date on or after this unix timestamp (inclusive).","in":"query","name":"effective_after","schema":{"format":"unix-time","type":"integer"}},{"description":"Only return closes with an effective date on or before this unix timestamp (inclusive).","in":"query","name":"effective_before","schema":{"format":"unix-time","type":"integer"}},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/StartingAfter"},{"$ref":"#/components/parameters/EndingBefore"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseList"}}},"description":"A list of closes for the vehicle.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["closes:read"]}],"summary":"List closes for a vehicle","tags":["closes"],"x-mcp-title":"List closes"}},"/v1/closes/{close_id}":{"get":{"description":"Returns a single close by ID. The `vehicle` query parameter is required for authorization — the caller must have access to the vehicle the close belongs to.","operationId":"getClose","parameters":[{"description":"Unique identifier for the close.","in":"path","name":"close_id","required":true,"schema":{"example":"cls_7mR3nQp8wL1YxTaK","type":"string"}},{"description":"Vehicle the close belongs to. Required for authorization. Must be a vehicle of type `spv`, `ruv`, or `venture_fund`.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Close"}}},"description":"The close.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["closes:read"]}],"summary":"Get a close","tags":["closes"],"x-mcp-title":"Get close"}},"/v1/companies":{"get":{"description":"Returns portfolio companies. When vehicle is provided, scopes to that vehicle's holdings. When omitted, returns all companies across every vehicle the caller has access to.","operationId":"listCompanies","parameters":[{"description":"Optional vehicle filter. When provided, only companies held by this vehicle are returned. When omitted, returns companies across all vehicles the caller can manage.","in":"query","name":"vehicle","required":false,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},{"description":"Filter companies by operational status. Accepted values: active, exit_in_progress, acquired, dissolved.","in":"query","name":"status","required":false,"schema":{"example":"active","type":"string"}},{"description":"Filter companies by entity classification. Accepted values: operating_company, blockchain_network, external_fund, holding_company, platform_fund.","in":"query","name":"company_type","required":false,"schema":{"example":"operating_company","type":"string"}},{"description":"Only return companies created after this Unix timestamp (inclusive).","in":"query","name":"created_after","required":false,"schema":{"example":1713830400,"format":"unix-time","type":"integer"}},{"description":"Only return companies created before this Unix timestamp (inclusive).","in":"query","name":"created_before","required":false,"schema":{"example":1713830400,"format":"unix-time","type":"integer"}},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/StartingAfter"},{"$ref":"#/components/parameters/EndingBefore"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyList"}}},"description":"A list of companies.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["companies:read"]}],"summary":"List companies","tags":["companies"],"x-mcp-title":"List companies"}},"/v1/companies/{company_id}":{"get":{"description":"Returns a single portfolio company by ID.","operationId":"getCompany","parameters":[{"description":"Unique identifier for the company.","in":"path","name":"company_id","required":true,"schema":{"example":"cmpny_AJqi2An4xbPF2fbz3f9DZhVL8tDCH","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Company"}}},"description":"The company.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["companies:read"]}],"summary":"Get a company","tags":["companies"],"x-mcp-title":"Get company"}},"/v1/deployments":{"get":{"description":"Returns capital deployments from a single investment vehicle into portfolio investees (corporations and on-platform funds). `vehicle` is required. Each row represents one deployment event — capital committed through a specific asset and instrument type.\n\nSupported vehicle types: `spv`, `ruv`, and `venture_fund`. Calls with a `vehicle` belonging to a `rolling_fund_quarter` or `institutional_fund` return 404.","operationId":"listDeployments","parameters":[{"description":"Vehicle to list deployments for.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},{"description":"Filter deployments by portfolio company.","in":"query","name":"company","required":false,"schema":{"example":"cmpny_AJqi2An4xbPF2fbz3f9DZhVL8tDCH","type":"string"}},{"description":"Filter deployments by asset.","in":"query","name":"asset","required":false,"schema":{"example":"asst_8xK2mN4pR8qS1tV7","type":"string"}},{"description":"Filter deployments by instrument type. Accepted values: equity, safe, convertible_note, fund_interest, token, warrant, other.","in":"query","name":"instrument_type","required":false,"schema":{"example":"equity","type":"string"}},{"description":"Only return deployments with a deployed_at on or after this Unix timestamp (inclusive).","in":"query","name":"deployed_after","required":false,"schema":{"example":1713830400,"format":"unix-time","type":"integer"}},{"description":"Only return deployments with a deployed_at on or before this Unix timestamp (inclusive).","in":"query","name":"deployed_before","required":false,"schema":{"example":1719187200,"format":"unix-time","type":"integer"}},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/StartingAfter"},{"$ref":"#/components/parameters/EndingBefore"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeploymentList"}}},"description":"A list of deployments for the vehicle.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["deployments:read"]}],"summary":"List deployments for a vehicle","tags":["deployments"],"x-mcp-title":"List deployments"}},"/v1/deployments/{deployment_id}":{"get":{"description":"Returns a single deployment by ID. The `vehicle` query parameter is required for authorization — the caller must have access to the vehicle the deployment belongs to.","operationId":"getDeployment","parameters":[{"description":"Unique identifier for the deployment.","in":"path","name":"deployment_id","required":true,"schema":{"example":"dply_4kP9wL2nXyTaQ7vR","type":"string"}},{"description":"Vehicle the deployment belongs to. Required for authorization. Must be a vehicle of type `spv`, `ruv`, or `venture_fund`.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Deployment"}}},"description":"The deployment.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["deployments:read"]}],"summary":"Get a deployment","tags":["deployments"],"x-mcp-title":"Get deployment"}},"/v1/distributions":{"get":{"description":"Returns distributions for a single investment vehicle. `vehicle` is required. Each row represents a capital distribution from the vehicle to its partners.\n\nSupported vehicle types: `spv`, `ruv`, `venture_fund`, and `institutional_fund`. For an institutional fund, each row reflects a requested distribution workflow rather than a settled transfer, so execution details may be absent and `effective_at` carries the requested effective date. Distributions with a `vehicle` belonging to a `rolling_fund` return 404.","operationId":"listDistributions","parameters":[{"description":"Vehicle to list distributions for.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},{"description":"Filter distributions by status. Accepted values: pending, approved, completed.","in":"query","name":"status","required":false,"schema":{"enum":["pending","approved","completed"],"example":"completed","type":"string"}},{"description":"Only return distributions executed after this Unix timestamp (inclusive).","in":"query","name":"executed_after","required":false,"schema":{"example":1719187200,"format":"unix-time","type":"integer"}},{"description":"Only return distributions executed before this Unix timestamp (inclusive).","in":"query","name":"executed_before","required":false,"schema":{"example":1719187200,"format":"unix-time","type":"integer"}},{"description":"Only return distributions created after this Unix timestamp (inclusive).","in":"query","name":"created_after","required":false,"schema":{"example":1713830400,"format":"unix-time","type":"integer"}},{"description":"Only return distributions created before this Unix timestamp (inclusive).","in":"query","name":"created_before","required":false,"schema":{"example":1713830400,"format":"unix-time","type":"integer"}},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/StartingAfter"},{"$ref":"#/components/parameters/EndingBefore"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributionList"}}},"description":"A list of distributions for the vehicle.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["distributions:read"]}],"summary":"List distributions for a vehicle","tags":["distributions"],"x-mcp-title":"List distributions"}},"/v1/distributions/{distribution_id}":{"get":{"description":"Returns a single distribution by ID. The `vehicle` query parameter is required for authorization — the caller must have access to the vehicle the distribution belongs to.","operationId":"getDistribution","parameters":[{"description":"Unique identifier for the distribution.","in":"path","name":"distribution_id","required":true,"schema":{"example":"dist_5tV7xK2mN4pR8qS1","type":"string"}},{"description":"Vehicle the distribution belongs to. Required for authorization. Must be a vehicle of type `spv`, `ruv`, `venture_fund`, or `institutional_fund`.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Distribution"}}},"description":"The distribution.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["distributions:read"]}],"summary":"Get a distribution","tags":["distributions"],"x-mcp-title":"Get distribution"}},"/v1/documents/search":{"post":{"description":"Search the documents of a single vehicle. `vehicle` is required and scopes the search; the caller must be authorized for it. Optional boolean predicate clauses (`must`/`should`/`must_not`) filter by `type`, `content_type`, `created` range, and free-text `q`. Backed by OpenSearch; results are eventually consistent (max staleness ~30s). Only executed investment documents are returned — see the `type` field for the surfaced categories.","operationId":"searchDocuments","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentSearchRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentSearchResult"}}},"description":"Search results.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"},"X-Read-Consistency":{"description":"Read consistency model for this response.","schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["documents:read"]}],"summary":"Search documents for a vehicle","tags":["documents"],"x-mcp-title":"Search documents"}},"/v1/documents/{document_id}":{"get":{"description":"Retrieve metadata for a single document. The caller must be authorized for the vehicle the document is tagged to. Executed investment documents and financial-statement workbooks (via the `document_id` on `listFinancialStatements` rows) are addressable; other documents return 404.","operationId":"getDocument","parameters":[{"description":"Public document ID (a `doc_` id, e.g. from `searchDocuments` or the `document_id` on `listFinancialStatements` rows).","in":"path","name":"document_id","required":true,"schema":{"pattern":"^doc_[A-Za-z0-9]{16,}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Document"}}},"description":"The document.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"},"X-Read-Consistency":{"description":"Read consistency model for this response.","schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["documents:read"]}],"summary":"Get document metadata","tags":["documents"],"x-mcp-title":"Get document"}},"/v1/documents/{document_id}/download":{"get":{"description":"Stream the raw file bytes of a document. The response Content-Type is the document's own MIME type. The caller must be authorized for the vehicle the document is tagged to. Executed investment documents and financial-statement workbooks (via the `document_id` on `listFinancialStatements` rows) are downloadable; other documents return 404.","operationId":"downloadDocument","parameters":[{"description":"Public document ID (a `doc_` id, e.g. from `searchDocuments` or the `document_id` on `listFinancialStatements` rows).","in":"path","name":"document_id","required":true,"schema":{"pattern":"^doc_[A-Za-z0-9]{16,}$","type":"string"}}],"responses":{"200":{"content":{"*/*":{"schema":{"format":"binary","type":"string"}}},"description":"The file bytes.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["documents:read"]}],"summary":"Download a document's file","tags":["documents"],"x-mcp-title":"Download document"}},"/v1/financial_statements":{"get":{"description":"The source of truth for performance metrics. When the caller needs MOIC, TVPI, DPI, RVPI, IRR, NAV, fund-level paid-in / called / distributed, J-curve, or any gross-vs.-net-of-fees/ carry cut, this is the endpoint: call it for the vehicle and read the canonical figure straight out of the body. Don't derive these from `/v1/assets` fields — the statement reconciles fees, carry, recyclables, and FX that the raw fields don't.\n\nReturns the financial-statement workbooks stored for a vehicle, as parsed JSON. `vehicle` is required. One row per workbook (typically one per period close); the page is ordered from most-recent to oldest by `created`. **Supported vehicle types: `spv`, `ruv`, `venture_fund`, and `institutional_fund`.** Other vehicle types return 404.\n\nEach row carries an opaque `body` object — the workbook's contents as JSON, sheet- and cell-shaped. The body's sheets are a parsed projection of the workbook: `Fund Summary` carries the headline multiples and IRRs (Total Fund and LP, net and gross of fees) alongside paid-in capital, total invested, distributions, and NAV; `unaudited_SOI` carries per-position cost, fair value, and unrealized gain; `SOC` (Statement of Changes in Partners' Capital) carries the capital activity and NAV roll-forward; `Realizations` carries exit proceeds. The exact shape is defined upstream; consumers should navigate the body's keys rather than rely on a fixed schema here. New sheets / columns may appear over time; treat unknown keys gracefully.\n\n`/v1/assets` reads its rows from the vehicle's most recent statement; list statements for the vehicle to fetch the backing workbook contents.","operationId":"listFinancialStatements","parameters":[{"description":"Vehicle to list financial statements for. Must be a vehicle of type `spv`, `ruv`, `venture_fund`, or `institutional_fund`. Other vehicle types return 404.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/StartingAfter"},{"$ref":"#/components/parameters/EndingBefore"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinancialStatementList"}}},"description":"A list of financial statements held by the vehicle.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["financial_statements:read"]}],"summary":"List financial statements for a vehicle","tags":["financial_statements"],"x-mcp-title":"List financial statements"}},"/v1/financial_statements/{financial_statement_id}":{"get":{"description":"Returns a single financial-statement workbook by ID, with its full parsed JSON body. The `vehicle` query parameter is required for authorization — the caller must have access to the vehicle the statement belongs to.","operationId":"getFinancialStatement","parameters":[{"description":"Unique identifier for the financial statement.","in":"path","name":"financial_statement_id","required":true,"schema":{"example":"fnstmt_4kP9wL2nXyTaQ7vR","type":"string"}},{"description":"Vehicle the financial statement belongs to. Required for authorization. Must be a vehicle of type `spv`, `ruv`, `venture_fund`, or `institutional_fund`.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinancialStatement"}}},"description":"The financial statement.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["financial_statements:read"]}],"summary":"Get a financial statement","tags":["financial_statements"],"x-mcp-title":"Get financial statement"}},"/v1/firms":{"get":{"description":"Returns firms the authenticated user belongs to.","operationId":"listFirms","parameters":[{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/StartingAfter"},{"$ref":"#/components/parameters/EndingBefore"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FirmList"}}},"description":"A list of firms.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["firms:read"]}],"summary":"List firms","tags":["firms"],"x-mcp-title":"List firms"}},"/v1/firms/{firm_id}":{"get":{"description":"Returns a single firm by ID.","operationId":"getFirm","parameters":[{"description":"Unique identifier for the firm.","in":"path","name":"firm_id","required":true,"schema":{"example":"firm_Xk7d2pQR9m3nBwYz","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Firm"}}},"description":"The firm.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["firms:read"]}],"summary":"Get a firm","tags":["firms"],"x-mcp-title":"Get firm"}},"/v1/me":{"get":{"description":"Returns the identity of the user associated with the current access token.","operationId":"getMe","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":"The authenticated user.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Get the authenticated user","tags":["identity"],"x-mcp-title":"Get authenticated user"}},"/v1/partners":{"get":{"description":"Returns the organization's partners that participate in a single investment vehicle. `vehicle` is required for now as a filter, but partners are organization-scoped: each row maps one-to-one to the underlying legal entity, deduped across vehicles, and a partner participating in multiple vehicles of the same organization carries the same `id` in every vehicle's list. Vehicle-scoped economics (commitments, contributions, distributions, carry) will be exposed on capital accounts, which reference `partner_id`.\n\nSupported vehicle types: `spv`, `ruv`, `venture_fund`, and `institutional_fund`. `spv`, `ruv`, and `venture_fund` source partners from the vehicle's investment closings (signed or completed); `institutional_fund` returns the institutionally managed partners for that fund. Calls with a `vehicle` belonging to a `rolling_fund_quarter` return 404.\n\nNote: this endpoint returns relationships recorded in the AngelList Venture platform. Some firms also administer funds in other AngelList systems; those relationships are not included here. See the [data sources guide](https://dev.angellist.com/docs/data-sources) for details.","operationId":"listPartners","parameters":[{"description":"Vehicle to list partners for. Must be a vehicle of type `spv`, `ruv`, `venture_fund`, or `institutional_fund`.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/StartingAfter"},{"$ref":"#/components/parameters/EndingBefore"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerList"}}},"description":"A list of the organization's partners participating in the vehicle.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["partners:read"]}],"summary":"List partners","tags":["partners"],"x-mcp-title":"List partners"}},"/v1/rolling_funds":{"get":{"description":"Returns the rolling funds managed by firms the caller can access. A rolling fund is the set of its quarters; the individual quarters are returned by `/v1/vehicles` as `rolling_fund_quarter` vehicles.","operationId":"listRollingFunds","parameters":[{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/StartingAfter"},{"$ref":"#/components/parameters/EndingBefore"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RollingFundList"}}},"description":"A list of rolling funds.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["rolling_funds:read"]}],"summary":"List rolling funds","tags":["rolling_funds"],"x-mcp-title":"List rolling funds"}},"/v1/rolling_funds/{rolling_fund_id}":{"get":{"description":"Returns a single rolling fund by ID.","operationId":"getRollingFund","parameters":[{"description":"Unique identifier for the rolling fund.","in":"path","name":"rolling_fund_id","required":true,"schema":{"example":"rlfnd_8x9k2m4nP3qR5tV7","type":"string"}},{"description":"Expand a referenced resource inline, replacing its `{ id }` reference with the full object it points to. A comma-separated list; one level deep; available only on this single-resource read (a list returns summaries). The only expandable path is `rolling_fund_quarters.vehicle`, which replaces each quarter's collapsed `vehicle` reference with the full Vehicle object. Any other value returns a `validation` error.","example":"rolling_fund_quarters.vehicle","in":"query","name":"expand","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RollingFund"}}},"description":"The rolling fund.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["rolling_funds:read"]}],"summary":"Get a rolling fund","tags":["rolling_funds"],"x-mcp-title":"Get rolling fund"}},"/v1/subscriptions":{"get":{"description":"Returns subscriptions for a single investment vehicle. `vehicle` is required. Each row represents a single partner's commitment to the vehicle.\n\nSupported vehicle types: `spv`, `ruv`, `venture_fund`, `rolling_fund_quarter`, and `institutional_fund`. For a `rolling_fund_quarter` each row is a single partner's commitment for that quarter. For an `institutional_fund` each row is a partner's committed position on the fund's books. Calls with a `vehicle` belonging to a `rolling_fund` (the set) return 404.","operationId":"listSubscriptions","parameters":[{"description":"Vehicle to list subscriptions for.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},{"description":"Filter subscriptions by lifecycle status.","in":"query","name":"status","required":false,"schema":{"enum":["signed","funded","rescinded","defaulted","partially_defaulted"],"example":"signed","type":"string"}},{"description":"Filter to subscriptions held by a single partner.","in":"query","name":"partner","required":false,"schema":{"example":"partner_8xQ2mK5nP1wR4tYb","type":"string"}},{"description":"Filter to subscriptions admitted on a single close.","in":"query","name":"close","required":false,"schema":{"example":"cls_3nP1wR4tYb8xQ2mK","type":"string"}},{"description":"Only return subscriptions created after this Unix timestamp (inclusive).","in":"query","name":"created_after","required":false,"schema":{"example":1713830400,"format":"unix-time","type":"integer"}},{"description":"Only return subscriptions created before this Unix timestamp (inclusive).","in":"query","name":"created_before","required":false,"schema":{"example":1713830400,"format":"unix-time","type":"integer"}},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/StartingAfter"},{"$ref":"#/components/parameters/EndingBefore"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionList"}}},"description":"A list of subscriptions for the vehicle.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["subscriptions:read"]}],"summary":"List subscriptions for a vehicle","tags":["subscriptions"],"x-mcp-title":"List subscriptions"}},"/v1/subscriptions/{subscription_id}":{"get":{"description":"Returns a single subscription by ID. Access is authorized against the vehicle the subscription belongs to, which is resolved from the subscription ID — the caller must have access to that vehicle.","operationId":"getSubscription","parameters":[{"description":"Unique identifier for the subscription.","in":"path","name":"subscription_id","required":true,"schema":{"example":"sub_5tV7xK2mN4pR8qS1","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Subscription"}}},"description":"The subscription.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["subscriptions:read"]}],"summary":"Get a subscription","tags":["subscriptions"],"x-mcp-title":"Get subscription"}},"/v1/valuation_updates":{"get":{"description":"Returns the active accounting valuation marks on a vehicle's schedule of investments. `vehicle` is required. Each row is one active valuation of an asset class — either a fixed price-per-unit (`valuation`) or a cost-basis multiplier (`multiplier`) as of an `effective_date`.\n\n**Supported vehicle types: `spv`, `ruv`, and `venture_fund`.** Calls with a `vehicle` belonging to a `rolling_fund_quarter` or `institutional_fund` return 404.","operationId":"listValuationUpdates","parameters":[{"description":"Vehicle to list valuation updates for. Must be a vehicle of type `spv`, `ruv`, or `venture_fund`. Other vehicle types return 404.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},{"description":"Filter to valuation updates for a single asset class on the vehicle's schedule of investments.","in":"query","name":"asset_class","required":false,"schema":{"example":"aclass_dascQ6ODbitSD6TMxYy7mTr1Diqw","type":"string"}},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/StartingAfter"},{"$ref":"#/components/parameters/EndingBefore"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValuationUpdateList"}}},"description":"A list of valuation updates for the vehicle.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["valuation_updates:read"]}],"summary":"List valuation updates for a vehicle","tags":["valuation_updates"],"x-mcp-title":"List valuation updates"}},"/v1/valuation_updates/{valuation_update_id}":{"get":{"description":"Returns a single active valuation update by ID. The `vehicle` query parameter is required for authorization — the caller must have access to the vehicle, and the valuation must belong to an asset class on that vehicle's schedule of investments.\n\n**Supported vehicle types: `spv`, `ruv`, and `venture_fund`.** Calls with a `vehicle` belonging to a `rolling_fund_quarter` or `institutional_fund` return 404.","operationId":"getValuationUpdate","parameters":[{"description":"Unique identifier for the valuation update.","in":"path","name":"valuation_update_id","required":true,"schema":{"example":"vupd_dascQ6ODbitSD6TMxYy7mTr1Diqw","type":"string"}},{"description":"Vehicle the valuation update belongs to. Required for authorization. Must be a vehicle of type `spv`, `ruv`, or `venture_fund`.","in":"query","name":"vehicle","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}},{"description":"Optional asset-class scope. When set, the valuation must belong to this asset class on the vehicle or the call returns 404.","in":"query","name":"asset_class","required":false,"schema":{"example":"aclass_dascQ6ODbitSD6TMxYy7mTr1Diqw","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValuationUpdate"}}},"description":"The valuation update.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["valuation_updates:read"]}],"summary":"Get a valuation update","tags":["valuation_updates"],"x-mcp-title":"Get valuation update"}},"/v1/vehicles":{"get":{"description":"Returns vehicles the authenticated user has access to. Optionally filter by firm.","operationId":"listVehicles","parameters":[{"description":"Filter vehicles by firm ID.","in":"query","name":"firm","schema":{"example":"firm_Xk7d2pQR9m3nBwYz","type":"string"}},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/StartingAfter"},{"$ref":"#/components/parameters/EndingBefore"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VehicleList"}}},"description":"A list of vehicles.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["vehicles:read"]}],"summary":"List vehicles","tags":["vehicles"],"x-mcp-title":"List vehicles"}},"/v1/vehicles/{vehicle_id}":{"get":{"description":"Returns a single vehicle by ID.","operationId":"getVehicle","parameters":[{"description":"Unique identifier for the vehicle.","in":"path","name":"vehicle_id","required":true,"schema":{"example":"vhcl_k9Rm3nQp8wL1YxTa","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vehicle"}}},"description":"The vehicle.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"Request-Id":{"$ref":"#/components/headers/Request-Id"}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[{"OAuth2":["vehicles:read"]}],"summary":"Get a vehicle","tags":["vehicles"],"x-mcp-title":"Get vehicle"}}},"security":[{"OAuth2":[]}],"servers":[{"description":"Production","url":"https://api.angellist.com"}],"tags":[{"description":"Authenticated user identity","name":"identity"},{"description":"Firms (GP organizations)","name":"firms"},{"description":"Investment vehicles (SPVs, traditional funds, rolling fund quarters)","name":"vehicles"},{"description":"Rolling funds (the set of quarterly subscription funds); each fund returns its quarters inline as rolling_fund_quarter vehicle references","name":"rolling_funds"},{"description":"Partners of the organization (the legal entities participating economically in its vehicles), deduped across vehicles","name":"partners"},{"description":"Capital accounts for partners in a vehicle, including commitment, contribution, and distribution figures","name":"capital_accounts"},{"description":"Asset classes (share classes, convertible classes, token types, off-platform fund interest classes) appearing on a vehicle's schedule of investments","name":"asset_classes"},{"description":"Active accounting valuation marks applied to asset classes on a vehicle's schedule of investments — a fixed price-per-unit or a cost-basis multiplier as of an effective date","name":"valuation_updates"},{"description":"Portfolio investment positions held by vehicles (direct equity, convertibles, fund interests, tokens, warrants)","name":"assets"},{"description":"Portfolio companies that vehicles have invested in","name":"companies"},{"description":"Distributions of capital from a vehicle to its partners","name":"distributions"},{"description":"Capital deployments from a vehicle into portfolio companies","name":"deployments"},{"description":"Investment closings on a vehicle. Each close represents a point in time when one or more partners formally committed capital to the vehicle. A close aggregates the total commitment amount, contributed amount, and partner count as of that date. The `final` flag marks the last expected close for the vehicle.","name":"closes"},{"description":"Subscriptions of partners into a vehicle. A subscription is a single partner's commitment to a vehicle, tracked as a workflow entity from signature through funding.","name":"subscriptions"},{"description":"Capital calls issued by a vehicle to collect committed capital from its partners — the schedule of the ask, never a measure of what arrived. Each call carries the percentage of commitment requested, the total `amount` asked, a per-partner `partner_breakdown` of that ask, and the LP `group` it was issued to. The `status` (in_progress / completed) tracks the due date only; collection standing lives on capital accounts. SPVs and RUVs surface their single implicit 100% call.","name":"capital_calls"},{"description":"Financial-statement workbooks backing the figures on `/v1/assets`. Each statement is the parsed JSON projection of one xlsx stored for a vehicle at a point in time (Metrics / SOI / Realizations sheets). Asset rows are read from the vehicle's most recent statement; list statements for the vehicle to fetch the backing workbook contents.","name":"financial_statements"},{"description":"Read-only access to fund documents (subscription agreements, K-1s, side letters, statement source files). Search within a vehicle, fetch metadata, and download file bytes.","name":"documents"}]}