## Get SPV

`PrivateMarketGetSpvByIdResponse v1().privateMarkets().getSpvById(PrivateMarketGetSpvByIdParamsparams, RequestOptionsrequestOptions = RequestOptions.none())`

**get** `/v1/private-markets/spvs/{spv_id}`

Fetch one private-market SPV's complete economics and fee schedule. Requires
the account holder to have attested. Returns `404` unless the SPV is `OPEN`
and attached to a currently visible `ACTIVE` offering.

### Parameters

- `PrivateMarketGetSpvByIdParams params`

  - `Optional<String> spvId`

  - `long accountId`

    Account whose account-holder entity must hold an accreditation
    attestation to browse private-market offerings.

### Returns

- `class PrivateMarketGetSpvByIdResponse:`

  - `SpvDetail data`

    An OPEN SPV's identity, exact economics, and typed fee schedule.

    - `String id`

      Stable SPV identifier.

    - `String companyId`

      Company whose shares the vehicle holds.

    - `Currency currency`

      Terms currency.

      - `USD("USD")`

    - `String name`

      Legal/display name.

    - `SpvStatus status`

      Lifecycle state.

      - `DRAFT("DRAFT")`

      - `OPEN("OPEN")`

      - `CLOSED("CLOSED")`

      - `LIQUIDATING("LIQUIDATING")`

      - `DISSOLVED("DISSOLVED")`

    - `Optional<String> allInPricePerShare`

      Price per share including fees.

    - `Optional<String> custodianName`

      Custodian.

    - `Optional<String> feePerShare`

      Per-share fee.

    - `Optional<List<SpvFeeTermResource>> feeTerms`

      Typed fee schedule.

      - `ChargedBy chargedBy`

        Charging party.

        - `FUND_MANAGER("FUND_MANAGER")`

        - `CLEAR_STREET("CLEAR_STREET")`

        - `THIRD_PARTY("THIRD_PARTY")`

      - `Currency currency`

        Terms currency.

      - `String description`

        Plain-text fee disclosure.

      - `FeeType feeType`

        Fee kind.

        - `MANAGEMENT("MANAGEMENT")`

        - `CARRY("CARRY")`

        - `PLACEMENT("PLACEMENT")`

        - `ADMINISTRATIVE("ADMINISTRATIVE")`

        - `OTHER("OTHER")`

      - `FeeFrequency frequency`

        Timing/cadence.

        - `ONE_TIME("ONE_TIME")`

        - `ANNUAL("ANNUAL")`

        - `AT_EXIT("AT_EXIT")`

        - `PASS_THROUGH("PASS_THROUGH")`

      - `Optional<String> amount`

        Exact fixed amount, when amount-based.

      - `Optional<String> durationYears`

        Charge duration in years, when specified.

      - `Optional<String> hurdleRate`

        Carry hurdle as a decimal fraction, when specified.

      - `Optional<String> rate`

        Decimal fraction between zero and one, when percentage-based.

    - `Optional<String> fundedPercent`

      Percentage of dollar allocation funded, derived from the allocation pair.

    - `Optional<LocalDateTime> fundingDeadline`

      Funding deadline.

    - `Optional<String> managerName`

      SPV manager.

    - `Optional<String> minimumInvestmentAmount`

      Minimum investment amount.

    - `Optional<LocalDateTime> openedAt`

      Time the vehicle opened.

    - `Optional<String> pricePerShare`

      Price per share excluding fees.

    - `Optional<String> remainingAllocationAmount`

      Remaining dollar allocation.

    - `Optional<String> remainingShareAllocation`

      Remaining share allocation.

    - `Optional<String> shareClass`

      Underlying share class, when specified.

    - `Optional<String> structureDescription`

      Plain-text vehicle structure.

    - `Optional<String> totalAllocationAmount`

      Total dollar allocation.

    - `Optional<String> totalShareAllocation`

      Total share allocation.

    - `Optional<String> valuation`

      Exact company valuation.

    - `Optional<ValuationBasis> valuationBasis`

      Meaning of `valuation`.

      - `PRE_MONEY("PRE_MONEY")`

      - `POST_MONEY("POST_MONEY")`

      - `REFERENCE("REFERENCE")`

      - `IMPLIED("IMPLIED")`

### Example

```java
package com.clearstreet.api.example;

import com.clearstreet.api.client.ClearStreetClient;
import com.clearstreet.api.client.okhttp.ClearStreetOkHttpClient;
import com.clearstreet.api.models.v1.privatemarkets.PrivateMarketGetSpvByIdParams;
import com.clearstreet.api.models.v1.privatemarkets.PrivateMarketGetSpvByIdResponse;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        ClearStreetClient client = ClearStreetOkHttpClient.builder()
            .fromEnv()
            .apiKey("My API Key")
            .build();

        PrivateMarketGetSpvByIdParams params = PrivateMarketGetSpvByIdParams.builder()
            .spvId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
            .accountId(0L)
            .build();
        PrivateMarketGetSpvByIdResponse response = client.v1().privateMarkets().getSpvById(params);
    }
}
```

#### Response

```json
{
  "data": {
    "all_in_price_per_share": "102.5",
    "company_id": "b2b3b4b5-c2c3-d2d3-e2e3-e4e5e6e7e8e9",
    "currency": "USD",
    "custodian_name": "Clear Street LLC",
    "fee_per_share": "2.5",
    "funded_percent": "70",
    "id": "c3c4c5c6-d3d4-e3e4-f3f4-f5f6f7f8f9f0",
    "manager_name": "Clear Street Ventures",
    "minimum_investment_amount": "25000",
    "name": "Acme Robotics SPV III",
    "price_per_share": "100",
    "remaining_allocation_amount": "1500000",
    "remaining_share_allocation": "15000",
    "share_class": "Series D",
    "status": "OPEN",
    "total_allocation_amount": "5000000",
    "total_share_allocation": "50000",
    "valuation": "5000000000",
    "valuation_basis": "PRE_MONEY"
  },
  "error": null,
  "metadata": {
    "request_id": "7c8d9e0f-1a2b-3c4d-5e6f-7a8b9c0d1e2f"
  }
}
```
