Skip to main content
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

1

Create an investor

POST /v1/investors — open an investor for your end user. See Create an investor.
2

Verify identity

POST /v1/documents — submit KYC documents and track approval. See Verify identity.
3

Link a bank & fund the wallet

Plaid Link → connect a funding source → deposit. See Fund the wallet.
4

Place orders

POST /v1/investors/{id}/orders — buy and sell by quantity or notional. See Place orders.
5

Track positions

GET /v1/investors/{id}/positions — read holdings and P&L. See Track positions.
6

Withdraw

Sell to raise cash, then POST /v1/investors/{id}/withdrawals. See Withdraw.
7

Handle events with webhooks

Register a webhook and process events instead of polling. See Webhooks.
8

Go live

Production readiness checklist and cutover. See Go live.
Bluum integration journey

Prerequisites

  • Sandbox credentials — an API key and secret from the sandbox environment. 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 first.

Set up your shell

Every code sample references these variables. Set them once:
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)
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.
Start with Next → Create an investor.