Overview

Details about how to obtain access tokens using OAuth 2.0

Fetch positions, balances and other account related details.

Place equity and complex option trades including advanced orders.

Fetch quotes, chains and historical data via REST and streaming APIs.

Stream market data and account events in real-time.

Create and update custom watchlists.

Examples, response types, property details and explanations.

Error Responses

HTTP Status Codes

API responses will yield to appropriate status codes in most circumstances (see Order Related Errors below). In this case, if you receive a 400 response, you can check the body of the response and find an error message that will help decipher the error.

In the event of a 401 response, this is related to authentication and entitlement. Make sure that you’re using the correct credentials and endpoint for your access.

500 errors typically mean that something isn't working properly with the API. Please let us know by emailing techsupport@tradier.com.

Presently, the API sends back a 200 response for any error that is thrown by downstream systems (risk management systems, market centers, etc). This 200 response body will include an errors property with details about the error. This is most likely to occur on complex order placement, order modification, and order cancellation.

In the event you receive this errors payload, it will typically include a description of the problem. In the event you receive an error code, here is a mapping table for errors you can expect:

Code Description
AccountDisabled Account is disabled for trading. Please contact 980-272-3880 for questions or concerns.
AccountIsNotApproved Account is not approved for trading. Please contact 980-272-3880 for questions or concerns
AccountMarginRuleViolation Margin rules prohibit this transaction. Please contact 980-272-3880 for questions or concerns
AssetTradingNotConfiguredForAccount The order requsted is not availible for your account. Please contact 980-272-3880 for questions or concerns
BuyStopOrderStopPriceLessAsk Buy Stop order must have a Stop price greater than the current Ask price
ContingentOrderExecution Placement Condition: when {0} {1} is {2} than {3
DayTraderPatternRestriction Your day trade limit exceeded. Please contact 980-272-3880 for questions or concerns
DayTradingBuyingPowerExceeded There is not enough day trading buying power for the requested order
ExpirationDateUndefined Expiration date for option is not defined
IncorrectOrderQuantity Quantity should be between 1 and 10,000,000
IncorrectTimeInForce Time In Force (Day or GTC) is not defined
IndexOptionsOneExparyDate Multi Leg Orders with Index options must have all legs within 1 expiration date. Time spreads are not allowed on Index Options
InitialMargin You do not have enough buying power for this trade
InvalidOrderExpiration Expiration date must be greater than the current date
LimitPriceUndefined Limit price is not valid. Please check the price entered
LongOptionTradingDeniedForAccount Account is restricted for option trading. Please contact 980-272-3880 for questions or concerns
LongPositionCrossZero Sell order is for more shares than your current long position, please review current position quantity along with open orders for security.
MaintenanceMargin You do not have enough buying power for this trade
MarketOrderIsGtc You cannot place market orders with GTC, only day orders are allowed
OcoExpirationTypeNotTheSame Expiration type of OCO orders must be the same
OcoOrderWithOppositeLegs You cannot place OCO order with orders for the same security and with opposite trade direction
OcoPriceDifferenceIsLessThanDelta OCO price difference should be at least {0}$
OmsInternalError Your order could not be processed. Please contact 980-272-3880 for questions or concerns
OmsUnavailable Trading services are not available online currently, please contact 980-272-3880 for order requests
OptionLevelRestriction Your account does not have the option level permission for this trade. Please contact 980-272-3880 for questions or concerns
OptionTypeUndefined Type of option (call or put) is not defined
OrderContingentChangeNotAllowed Change of order's contingent is not allowed
OrderIsNotAllowedForAccount Order is not allowed. Account trading restriction: closing orders onl
OrderPriceIsInvalid Price of {0} {1} order is {2} than market price
OrderQuantity You cannot place orders with quantity less than 1
OrderWithDifferentSide You cannot have pending orders with different sides for selected symbol where one is a MARKET order. You must close another pending order in order to place a SHORT order, or try a limit order instead
OtoFirstLesIsMarketNotAllowed First market order in OTO is not allowed
OtoOcoMarketNotAllowed OCO market orders are not allowed
OtoOcoTrailingNotAllowed OTO/OCO trailing orders are not allowed
QuotePriceIsInvalid There is no quote for the symbol requested, please contact 980-272-3880 to place the order.
SecurityUndefined Symbol does not exist. Please contact 980-272-3880 for questions or concerns
SellShortOrderLastPriceBelow5 Sell Short order cannot be placed for stock priced below $5
SellStopOrderStopPriceGreaterBid Sell Stop order must have a Stop price less than the Bid price
ShortOptionTradingDeniedForAccount Account is restricted for option trading. Please contact 980-272-3880 for questions or concerns
ShortOrderIsGtc You cannot place short stock orders with GTC, only day orders are allowed
ShortPositionCrossZero Buy order is for more shares than your current short position, please review current position quantity along with open orders for security.
ShortStockTradingDeniedForAccount Account is restricted from short sales. Please contact 980-272-3880 for questions or concerns
ShortTradingDeniedForSecurity This symbol is not available for short sales. Please contact 980-272-3880 for questions or concerns
SpreadTradingDeniedForAccount Account is restricted for spread trading. Please contact 980-272-3880 for questions or concerns
StopPriceUndefined Stop price is not defined
StrikePriceUndefined Strike price for option leg is not defined
TooSmallEquityForDayTrading Pattern Day Trader Rule violation: Equity balance fell below $25,000
TotalInitialMargin You do not have enough buying power for this trade
TradeNonStandartOptions You cannot place an order with non standard options
TradingDeniedForAccount Account is restricted for trading. Please contact 980-272-3880 for questions or concerns
TradingDeniedForSecurity This asset class is restricted for trading
UnexpectedBuyOrder Buy order cannot be placed to cover short position, order must be placed as a Buy to Cover
UnexpectedBuyOrderOption Buy To Open order cannot be placed to close a short option position, order must be placed as a Buy to Close
UnexpectedBuyToCoverOrder Buy To Cover order cannot be placed unless closing a short position, please check open orders.
UnexpectedBuyToCoverOrderOption Buy To Close order cannot be placed unless closing a short option position, please check open orders.
UnexpectedSellOrder Sell order cannot be placed unless you are closing a long position, please check open orders.
UnexpectedSellOrderOption Sell to Close order cannot be placed unless you are closing a long option position, please check open orders.
UnexpectedSellShortOrder Sell short order cannot be placed while you have a current long position, please check open orders.
UnexpectedSellShortOrderOption Sell to Open order cannot be placed while you have a current long option position, please check open orders.
UserDisabled Account is disabled for trading. Please contact 980-272-3880 for questions or concerns
WashTradeAttempt You are unable to place orders on the same security and same price in different direction
Pre-market trading is currently unavailable.
Tradier Brokerage does not accept opening orders for OTC-BB and Pink Sheet securities, please contact us at (980)-272-3880 if you have any questions.
Due to price volatility a limit order must be placed.
Outside of market hours this order is required to be placed at a limit price.
Order failed PriceRange - AGGRESSIVE: OrderPrice {1} RefPrice {2} Limit {3} aggressive