---
title: "Place an order"
method: POST
path: "/trading/order"
tags: ["Trading"]
---

# Place an order

`POST /trading/order`

Permissions required: **Execute trades**

Place an order, either Market or Limit, currently only FillOrKill is supported.

One of `accountId` or `subaccountId` must be specified but not both.

## Request body

- NewOrderSingle
  - `accountId` string — Account ID for this order to book into.
  - `allocation` OrderAllocation[] — Order subaccount allocation
    - `quantity` string, required — Quantity to allocate to the subaccount
    - `subaccountId` string, required — The Subaccount Identifier
  - `clOrderId` string, required — Unique client order ID.
  - `currency` string, required — The currency in which order quantity is specified in.
  - `limitPrice` string — Limit price for the order, required for limit order
  - `orderType` 'MARKET' | 'LIMIT' | 'RFQ' | 'LIMIT_ALL_IN', required — Order type either MARKET or LIMIT
  - `quantity` string, required — Order quantity in units of currency.
  - `side` 'BUY' | 'SELL', required — Order side, either "BUY" or "SELL".
  - `subaccountId` string — Subaccount ID for this order to book into.
  - `symbol` string, required — Symbol for the order, e.g. BTC-USD.
  - `timestamp` string, date-time, required — Timestamp when submitting this order. Date-times are always in UTC [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) 'date-time'.

## Response `201`

Successfully executed an order

- TradingOrderResponse
  - `data` OrderExecutionReport, required
    - `accountId` string — Account ID for this order to book into.
    - `allocation` Allocation[] — Subaccount allocation
      - `counterQtyAllIn` string, required — Counter quantity all in
      - `counterQtyAllInToSettle` string, required — Counter quantity all in to be settled
      - `cumQty` string, required — Filled quantity
      - `executionId` string — Execution identifier
      - `fee` string, required — Fee
      - `quantity` string, required — Allocated quantity
      - `subaccountId` string, required — The Subaccount Identifier
    - `avgPx` string, required — Average filled price for this order.
    - `avgPxAllIn` string — Average filled price + anchorage commission.
    - `clOrderId` string, required — Original client order ID as submitted.
    - `counterCurrency` string, required — The counter currency of the order.
    - `counterQty` string, required — Filled quantity of the counter currency.
    - `counterQtyAllIn` string, required — Filled quantity of the counter currency including all fees.
    - `cumQty` string, required — Cumulative filled quantity for this order.
    - `currency` string, required — The currency in which order quantity is specified in.
    - `execId` string, required — Execution ID of this report. This ID can be used to retrieve the trade.
    - `fee` string — Commission charged for this order.
    - `feeCurrency` string — Currency commission was charged in, which is always the opposite currency from what the order quantity is specified in.
    - `limitPrice` string — Original limit price for this order if present.
    - `orderId` string, required — Order ID generated by anchorage.
    - `orderQty` string, required — Original order quantity.
    - `orderStatus` 'FILLED' | 'REJECTED' | 'CANCELED', required — Order status
    - `orderType` 'MARKET' | 'LIMIT', required — Order type either Market or Limit
    - `reasonText` string — Additional description for reason of reject or cancel.
    - `rejectReason` 'InvalidSymbol' | 'InvalidCurrency' | 'InvalidSide' | 'InvalidQuantity' | 'InvalidOrderType' | 'InvalidAccount' | 'AccountDisabledForTrading' | 'UnauthorizedForTrading' | 'InsufficientLiquidity' | 'DuplicateOrder' | 'ExecutionLimitExceeded' | 'InternalError' | 'InvalidPrice' | 'InvalidAccountsInAllocation' | 'InvalidCurrencyForFOK' — Reason for rejection, this is a set of standardized reason code.
    - `side` 'BUY' | 'SELL', required — Order side, either "BUY" or "SELL".
    - `subaccountId` string — Subaccount ID for this order to book into.
    - `subaccountTransactionId` string — Subaccount transaction ID linked with this order.
    - `symbol` string, required — Symbol for the order, e.g. BTC-USD.
    - `transactTime` string, date-time, required — UTC timestamp when order is executed. [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) 'date-time'.

## Other responses

- `400` — Bad Request
- `401` — Unauthenticated
- `403` — Forbidden
- `429` — Too Many Requests
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/anchorage/apis/anchorage-digital-api-reference.md) · [All operations](https://skmtc.net/anchorage/apis/anchorage-digital-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/anchorage/anchorage-digital-api-reference/versions/166864b1ec6d/schema)
