> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bluumfinance.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Integration Overview

> The end-to-end path to embed self-directed investing with Bluum.

This is the linear build path for a self-directed integration. Read it top to bottom — each page picks up where the last left off, using the same investor, wallet, and funding source throughout. Follow the **Next** button in the sidebar.

## The path

<Steps>
  <Step title="Create an investor">
    `POST /v1/investors` — open an investor for your end user. See [Create an investor](/get-started/journey/create-investor).
  </Step>

  <Step title="Verify identity">
    `POST /v1/documents` — submit KYC documents and track approval. See [Verify identity](/get-started/journey/verify-identity).
  </Step>

  <Step title="Link a bank & fund the wallet">
    Plaid Link → connect a funding source → deposit. See [Fund the wallet](/get-started/journey/fund-wallet).
  </Step>

  <Step title="Place orders">
    `POST /v1/investors/{id}/orders` — buy and sell by quantity or notional. See [Place orders](/get-started/journey/place-orders).
  </Step>

  <Step title="Track positions">
    `GET /v1/investors/{id}/positions` — read holdings and P\&L. See [Track positions](/get-started/journey/track-positions).
  </Step>

  <Step title="Withdraw">
    Sell to raise cash, then `POST /v1/investors/{id}/withdrawals`. See [Withdraw](/get-started/journey/withdraw).
  </Step>

  <Step title="Handle events with webhooks">
    Register a webhook and process events instead of polling. See [Webhooks](/get-started/journey/webhooks).
  </Step>

  <Step title="Go live">
    Production readiness checklist and cutover. See [Go live](/get-started/journey/go-live).
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/bluumfinance/L5Dm3BN-WAZqlyQf/images/diagrams/journey-overview.svg?fit=max&auto=format&n=L5Dm3BN-WAZqlyQf&q=85&s=82324b805170639d004b632f9a1a66c1" alt="Bluum integration journey" width="1200" height="460" data-path="images/diagrams/journey-overview.svg" />
</Frame>

## Prerequisites

* **Sandbox credentials** — an API key and secret from the [sandbox environment](/get-started/sandbox). The key is the Basic-auth username; the secret is the password.
* **Base URL** — sandbox is `https://sandbox.api.bluumfinance.com/v1`. Every example on this path uses it.
* **A terminal or API client** — cURL, Postman, or your language's HTTP client.

For how authentication, IDs, pagination, and errors work across the API, read [How the API works](/get-started/how-the-api-works) first.

## Set up your shell

Every code sample references these variables. Set them once:

```bash theme={null}
API_KEY="YOUR_SANDBOX_API_KEY"
API_SECRET="YOUR_SANDBOX_API_SECRET"
BASE_URL="https://sandbox.api.bluumfinance.com/v1"
AUTH=$(echo -n "$API_KEY:$API_SECRET" | base64)
```

<Note>
  Resource IDs are always prefixed — `inv_` for investors, `doc_` for documents, `fs_` for funding sources, `dep_`/`wd_` for transfers, `ord_` for orders, `pos_` for positions. Pass the full prefixed ID in path parameters; a raw UUID returns `400`.
</Note>

<Tip>
  Start with **Next → [Create an investor](/get-started/journey/create-investor)**.
</Tip>
