Skip to main content
POST
/
v1
/
orders
/
preview
curl --request POST \
  --url https://api.aries.com/v1/orders/preview \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "accountId": "TEST-ACCOUNT-001",
  "symbol": "AAPL",
  "side": "BUY",
  "type": "MARKET",
  "qty": "10",
  "timeInForce": "DAY"
}
'
{
  "estimatedCost": "1500.00",
  "estimatedMargin": "0.00",
  "commission": "0.00",
  "fees": "0.01",
  "buyingPowerImpact": "1500.01",
  "numDayTrades": 0,
  "warnRuleId": "0"
}

Documentation Index

Fetch the complete documentation index at: https://finance.dev/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

OAuth2 Bearer token: obtain an access token from the token endpoint and send it in the Authorization header.

Body

application/json

Same structure as Place Order (PlaceOrdRequest); returns estimated cost and buying power impact without placing.

Request body for placing a live order through the core trading API. Use Preview Order first when available, then submit this only after the user confirms the trade.

accountId
string
required

Trading account identifier that should receive the order. Enter the account ID selected by the user.

Required string length: 1 - 50
Example:

"TEST-ACCOUNT-001"

symbol
string
required

Ticker or underlying symbol to trade. Confirm the exact uppercase value with symbol search before placing an order.

Required string length: 1 - 20
Example:

"AAPL"

side
enum<string>
required

Direction of the trade. Use BUY when purchasing shares or contracts, SELL when selling a position you own, SELL_SHORT when opening a short sale, and BUY_TO_COVER when closing a short position.

Available options:
BUY,
SELL,
SELL_SHORT,
BUY_TO_COVER
Example:

"BUY"

type
enum<string>
required

How the order should execute. MARKET tries to fill immediately at the current market price. LIMIT fills only at your price or better. STOP activates when stopPrice is reached. STOP_LIMIT activates at stopPrice and then uses price as the limit.

Available options:
MARKET,
LIMIT,
STOP,
STOP_LIMIT
Example:

"LIMIT"

qty
string
required

Number of shares or contracts to trade, sent as a decimal string. Example: "10" for ten shares or "1" for one option contract.

Example:

"10"

timeInForce
enum<string>
required

How long the order should remain active. DAY cancels at market close if unfilled. GTC stays active until filled or canceled. IOC fills what is available immediately and cancels the rest. FOK fills the entire quantity immediately or cancels the whole order. EXTENDED_HOURS allows eligible extended-hours trading. AT_THE_OPENING and AT_THE_CLOSE target the opening or closing auction.

Available options:
DAY,
GTC,
IOC,
FOK,
EXTENDED_HOURS,
AT_THE_OPENING,
AT_THE_CLOSE
Example:

"DAY"

clientId
string

Optional identifier from your app. Send this when you want to tag orders by app, user, strategy, or integration for your own reconciliation.

Maximum string length: 50
Example:

"CLIENT-001"

price
string

Limit price as a decimal string. Required for LIMIT and STOP_LIMIT orders. For buys, this is the maximum price you will pay; for sells, it is the minimum price you will accept.

Example:

"150.00"

stopPrice
string

Trigger price as a decimal string. Required for STOP and STOP_LIMIT orders. When the market reaches this price, the stop order becomes active.

Example:

"145.00"

currency
string

Three-letter currency code for the order. Use USD for U.S. dollar orders unless your integration supports another currency.

Required string length: 3
Example:

"USD"

legs
object[]

Option legs for single-leg or multi-leg option orders. Omit this field for equity orders. Send 1 leg for a single option contract or 2 to 4 legs for a spread or other multi-leg strategy.

Maximum array length: 4

Response

Order preview calculated successfully

Response schema for order preview (PreviewOrdResponse)

estimatedCost
string

Estimated cash cost of the order before it is placed. Use this to show the user the expected trade cost during review.

Example:

"1500.00"

estimatedMargin
string

Estimated margin requirement for the order. Use this to explain how much margin capacity the order may consume.

Example:

"0.00"

commission
string

Estimated commission for the order. Show this as part of the total trading cost.

Example:

"0.00"

buyingPowerImpact
string

Estimated reduction in available buying power if the order is submitted. Use this before Place Order to confirm the account can support the trade.

Example:

"1500.01"

fees
string

Estimated regulatory and exchange fees. Add this to commissions and order cost when showing total estimated cost.

Example:

"0.01"

optionFees
string

Estimated option-specific fees. Present this only when the preview is for an option order.

Example:

"0.70"

optionRequirement
string

Estimated option requirement or margin requirement for the option strategy.

Example:

"0.00"

optionPremium
string

Estimated premium paid or received for an option order.

Example:

"550.00"

numDayTrades
integer

Estimated number of day trades this order would count toward. Use this to warn pattern-day-trader-sensitive users.

Example:

0

warnRuleId
string

Identifier for a warning rule triggered by the preview. Use with warnings when present.

Example:

"0"

warnings
string[]

Non-blocking warnings returned by preview. Show these to the user before they submit the live order.

errors
string[]

Blocking validation or risk errors returned by preview. Do not call Place Order until these are resolved.