Skip to main content
POST
/
investors
/
{investor_id}
/
orders
curl --request POST \
  --url https://api.bluumfinance.com/v1/investors/{investor_id}/orders \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "symbol": "AAPL",
  "side": "buy",
  "type": "market",
  "time_in_force": "day",
  "quantity": "10",
  "extended_hours": false
}
'
{
  "id": "ord_01j9x8m2k7qpzwv3t5r6y8n0ab",
  "object": "order",
  "created": 1748390400,
  "livemode": false,
  "metadata": {},
  "investor_id": "inv_01j9x8m2k7qpzwv3t5r6y8n0cd",
  "symbol": "AAPL",
  "currency": "USD",
  "side": "buy",
  "type": "market",
  "time_in_force": "day",
  "quantity": "10",
  "status": "pending",
  "filled_quantity": "0",
  "remaining_quantity": "10",
  "average_price": "0.00",
  "submitted_at": "2026-05-11T14:30:00Z",
  "filled_at": null,
  "cancelled_at": null,
  "failure_reason": null
}

Authorizations

Authorization
string
header
required

HTTP Basic Authentication using the API Key as username and API Secret as password.

Path Parameters

investor_id
string
required

Prefixed public id of the investor (e.g. inv_…).

Body

application/json
symbol
string
required

The ticker symbol of the asset (e.g., AAPL).

Example:

"AAPL"

side
enum<string>
required

Whether to buy or sell the asset.

Available options:
buy,
sell
Example:

"buy"

type
enum<string>
required

Order type:

  • market: Executes immediately at current market price
  • limit: Sets a specific price limit
  • stop: Stop loss order that triggers at stop price
  • stop_limit: Stop order with a limit price
  • trailing_stop: Trailing stop order
Available options:
market,
limit,
stop,
stop_limit,
trailing_stop
Example:

"limit"

time_in_force
enum<string>
required

How long the order remains active:

  • day: Expires at end of trading day
  • gtc: Good Till Cancelled - remains active until filled or cancelled
  • opg: Opening - executes at market open
  • cls: Closing - executes at market close
  • ioc: Immediate or Cancel - fills immediately or cancels
  • fok: Fill or Kill - fills completely or cancels
Available options:
day,
gtc,
opg,
cls,
ioc,
fok
Example:

"day"

market
string

Market identifier (e.g., "NASDAQ", "NYSE"). Optional.

Example:

"NASDAQ"

isin
string

International Securities Identification Number. Optional.

Example:

"US0378331005"

figi
string

Financial Instrument Global Identifier. Optional.

Example:

"BBG000B9XRY4"

class
string

Optional asset class hint (e.g. bond, equity, treasury). Mirrors the class field on the asset detail response. When bond, the resolver accepts the symbol field as a CUSIP on fallback — ticker collisions like ABBNVX (two distinct ABB Finance bonds sharing the same ticker) cannot be disambiguated by symbol alone.

Example:

"bond"

country
string

Optional ISO country code (e.g. us) to help disambiguate cross-listed assets.

Example:

"us"

quantity
string

Quantity of shares to trade (required if notional not provided, required for sell orders).

Example:

"5"

notional
string

Dollar amount to trade (required if quantity not provided, only for buy market orders).

Example:

"1000.00"

limit_price
string

Price limit for limit/stop_limit orders (required when type is 'limit' or 'stop_limit').

Example:

"175.00"

stop_price
string

Stop price for stop/stop_limit orders (required when type is 'stop' or 'stop_limit').

Example:

"170.00"

trail_percent
string

Trail percentage for trailing stop orders (required for trailing_stop if trail_price not provided).

Example:

"2.5"

trail_price
string

Trail price for trailing stop orders (required for trailing_stop if trail_percent not provided).

Example:

"5.00"

extended_hours
boolean
default:false

Whether to allow extended hours trading.

Example:

false

client_order_id
string

Optional client-provided identifier for tracking the order.

Example:

"limitorder123"

commission
string

Commission amount to charge (optional).

Example:

"1.00"

commission_type
enum<string>

Commission calculation method:

  • notional: Charge commission on a per order basis (default)
  • per_share: Charge commission on a per-share/contract basis, pro rated
  • bps: Percent commission in basis points (up to 2 decimal places)
Available options:
notional,
per_share,
bps
Example:

"notional"

wallet_currency
enum<string>

Wallet currency to fund or receive trade proceeds. When omitted, defaults to USD (default wallet).

Available options:
USD,
NGN,
GBP,
EUR,
KES
Example:

"NGN"

settlement_date
string<date>

Settlement date for bond orders (ISO yyyy-mm-dd). Optional — defaults to T+1 for treasuries / T+2 for corporates when omitted, and is ignored for non-bond orders. For bonds, quantity carries face value (multiples of min_increment), limit_price is % of par (e.g. 99.875), and time_in_force must be day.

Example:

"2026-05-22"

Response

Order accepted by the system.

Trading order resource. Flat shape: quantity not qty, failure_reason not reject_reason, investor_id not account_id, Bluum-native status vocab. The envelope created field is the canonical creation timestamp; submitted_at mirrors when the order was submitted to the custodian (null until submission).

object
string
required

The resource type discriminator.

Example:

"investor"

livemode
boolean
required

Whether this resource was created against a live API key. Test-mode keys always return false.

Example:

false

id
string

Prefixed public id (e.g. inv_…, ord_…, dep_…).

Example:

"inv_01j9x8m2k7qpzwv3t5r6y8n0ab"

created
integer | null

Unix-seconds timestamp of resource creation.

Example:

1747776000

metadata
object

Partner-set key/value map for cross-referencing.

investor_id
string

Prefixed public id of the investor.

Example:

"inv_01j9x8m2k7qpzwv3t5r6y8n0ab"

symbol
string
Example:

"AAPL"

class
string

Asset class name (e.g. equity, bond, etf).

Example:

"equity"

currency
string
Example:

"USD"

quantity
string

Quantity of shares ordered (for quantity-based orders).

Example:

"5"

notional
string

Notional amount ordered (for notional-based orders).

Example:

"1000.00"

side
enum<string>
Available options:
buy,
sell
type
enum<string>
Available options:
market,
limit,
stop,
stop_limit,
trailing_stop
time_in_force
enum<string>

FIX-standard time-in-force; not Alpaca-coined.

Available options:
day,
gtc,
opg,
cls,
ioc,
fok
limit_price
string
stop_price
string
trail_percent
string
trail_price
string
extended_hours
boolean
client_order_id
string
status
enum<string>

Bluum-native order status.

Available options:
pending,
filled,
partial,
cancelled,
failed
Example:

"pending"

filled_quantity
string
Example:

"0"

remaining_quantity
string
Example:

"5"

average_price
string
commission
string
commission_type
enum<string>
Available options:
notional,
per_share,
bps
submitted_at
string<date-time> | null

When the order was submitted to the custodian. Null until submission.

filled_at
string<date-time> | null
cancelled_at
string<date-time> | null
failure_reason
string | null
settlement_date
string<date> | null

Settlement date Alpaca will use for bond orders, when known. Bluum does not specify or override this — Alpaca chooses based on the bond's subtype. Null for non-bond orders or until Alpaca confirms.

Example:

"2026-05-22"

bond
object

Fixed-income execution detail. Populated only when the underlying asset is a bond. Prices are % of par; accrued and face_value are in currency.