# New Order

> Creates a new trading order for the authenticated user's account

Source: /trader/api/trading/create-order

## `POST /accounts/{account_id}/orders`

**New Order**

Creates a new trading order for the authenticated user's account

Tags: `Trading`

#### Path parameters

- `account_id` (string) (required) — The account ID where order to create belongs


### Request body

**Content-Type:** `application/json`

- `client_order_id` (string) — Client-provided order identifier
- `symbol_id` (string) (required) — Trading symbol identifier
- `side` (string) (required) — Trade side (buy/sell)
  - enum: `TRADE_SIDE_UNSPECIFIED`, `TRADE_SIDE_BUY`, `TRADE_SIDE_SELL`
- `type` (string) (required)
  - enum: `ORDER_TYPE_UNSPECIFIED`, `ORDER_TYPE_MARKET`, `ORDER_TYPE_LIMIT`, `ORDER_TYPE_STOP`, `ORDER_TYPE_STOP_LIMIT`, `ORDER_TYPE_TRAILING_STOP`
- `time_in_force` (string) (required)
  - enum: `TIF_UNSPECIFIED`, `TIF_GTC`, `TIF_DAY`, `TIF_IOC`, `TIF_FOK`, `TIF_GTD`
- `volume` (number) (required) — Trading volume in lots
- `price` (number) — Seen bid/ask price for market orders
- `stop_loss_points` (integer) — Stop loss distance in points for market orders
- `take_profit_points` (integer) — Take profit distance in points for market orders
- `limit_price` (number) — Limit price for limit orders
- `stop_price` (number) — Stop price for stop orders
- `stop_loss_price` (number) — Stop loss price for limit/stop orders
- `take_profit_price` (number) — Take profit price for limit/stop orders
- `expire_time` (string) — Order expiration time
- `good_till_date` (string) — Expiry datetime for GTD (Good Till Date) orders (ISO 8601 / RFC 3339). Required when time_in_force is TIF_GTD; ignored for all other time_in_force values.



### Responses

#### `201` — Order created successfully

**Content-Type:** `application/json`

- `order_id` (string) (required) — The created order identifier

#### `400` — Bad request (missing or invalid fields)

**Content-Type:** `application/json`

- `error` (object) (required)
  - `type` (string) (required) — Error type code
  - `message` (string) (required) — Human-readable error message
  - `field` (string) — Field name if error is field-specific

#### `401` — Unauthorized (invalid or missing JWT token)

**Content-Type:** `application/json`



#### `403` — Forbidden (account access denied)

**Content-Type:** `application/json`



#### `404` — Account or symbol not found

**Content-Type:** `application/json`



#### `422` — Unprocessable entity (business rule violation)

**Content-Type:** `application/json`



#### `500` — Internal server error

**Content-Type:** `application/json`



