# Place a Limit Order Rate Limit: 1 request per 2 seconds Creates a new Limit order, which executes at a specified price or better. - To place a buy order, use a positive quantity. The order will fill at the limitPrice or lower. - To place a sell order, use a negative quantity. The order will fill at the limitPrice or higher. Order Limitations * Orders can be executed only in the main account currency * Only Market Orders are supported for the live (real money) environment Important: In this beta version, this endpoint is not idempotent. Sending the same request multiple times may result in duplicate orders. Endpoint: POST /api/v0/equity/orders/limit Version: v0 Security: authWithSecretKey ## Request fields (application/json): - `limitPrice` (number) The target price for the order. For a buy order, this is the maximum price you are willing to pay. For a sell order, this is the minimum price you are willing to accept. Example: 100.23 - `quantity` (number) The number of shares or units to trade. Use a positive number (e.g., 10.5) for a BUY order and a negative number (e.g., -10.5) for a SELL order. The value cannot be zero. Example: 0.1 - `ticker` (string) The unique identifier for the instrument you want to trade. You can retrieve a list of available tickers from the /equity/metadata/instruments endpoint. Example: "AAPL_US_EQ" - `timeValidity` (string) Specifies how long the order remains active. - DAY: The order will automatically expire if not executed by midnight in the time zone of the instrument's exchange. - GOOD_TILL_CANCEL: The order remains active indefinitely until it is either filled or explicitly cancelled by you. Enum: "DAY", "GOOD_TILL_CANCEL" ## Response 200 fields (application/json): - `creationTime` (string) The ISO 8601 timestamp of when the order was created. - `extendedHours` (boolean) Indicates if the order is eligible for execution outside regular trading hours. - `filledQuantity` (number) The number of shares that have been successfully executed. - `filledValue` (number) The total monetary value of the executed portion of the order. - `id` (integer) A unique, system-generated identifier for the order. - `limitPrice` (number) The limit price for LIMIT and STOP_LIMIT orders. - `quantity` (number) The number of shares requested in the order. A negative number indicates a sell order. Applicable to orders placed by quantity. - `status` (string) The current state of the order in its lifecycle. Enum: "LOCAL", "UNCONFIRMED", "CONFIRMED", "NEW", "CANCELLING", "CANCELLED", "PARTIALLY_FILLED", "FILLED", "REJECTED", "REPLACING", "REPLACED" - `stopPrice` (number) The stop price for STOP and STOP_LIMIT orders. - `strategy` (string) The strategy used to place the order, either by QUANTITY or VALUE. The API currently only supports placing orders by QUANTITY. Enum: "QUANTITY", "VALUE" - `ticker` (string) Unique instrument identifier for the traded asset. Example: "AAPL_US_EQ" - `type` (string) The type of the order, which determines its execution logic. Enum: "LIMIT", "STOP", "MARKET", "STOP_LIMIT" - `value` (number) The monetary value of the order in your account's currency. Applicable to orders placed by value. Note: Placing orders by value is not currently supported via the API but can be done through other Trading 212 platforms. ## Response 400 fields (application/json): - `clarification` (string) - `code` (string) Enum: "SellingEquityNotOwned", "CantLegalyTradeException", "InsufficientResources", "InsufficientValueForStocksSell", "TargetPriceTooFar", "TargetPriceTooClose", "NotEligibleForISA", "ShareLendingAgreementNotAccepted", "InstrumentNotFound", "MaxEquityBuyQuantityExceeded", "MaxEquitySellQuantityExceeded", "LimitPriceMissing", "StopPriceMissing", "TickerMissing", "QuantityMissing", "MaxQuantityExceeded", "InvalidValue", "InsufficientFreeForStocksException", "MinValueExceeded", "MinQuantityExceeded", "PriceTooFar", "UNDEFINED", "NotAvailableForRealMoneyAccounts", "ExtendedHoursTradingNotAllowed", "UnfilledOrderCountExceeded" ## Response 401 fields ## Response 403 fields ## Response 408 fields ## Response 429 fields