---
title: "POST /place-order"
method: POST
path: "/place-order"
tags: ["order-gateway"]
---

# POST /place-order

`POST /place-order`

## Request body

- PlaceOrderRequest
  - `aid` string, nullable — Optional account ID. If omitted, the account is inferred from the connection: the user's default account, or the session account for an account-scoped session.
  - `cid` integer
  - `d` 'B' | 'S', required
  - `p` string, required — Order price in USD as decimal string; e.g. "1.2345"
  - `po` boolean, required — Whether the order is post-only (maker-or-cancel)
  - `q` integer, required — Order quantity in contracts; e.g. 100, 1000
  - `s` string, required — Order symbol; e.g. XAU-PERP, EURUSD-PERP
  - `st` 'CancelIncoming' | 'CancelResting' | 'CancelBoth' — Controls how the matching engine handles an order that would trade against the submitter's own resting orders. Defaults to `CancelIncoming`.
  - `tag` string, nullable — Optional order tag; maximum 10 alphanumeric characters
  - `tif` string, required — Order time in force; e.g. "GTC", "IOC". "DAY" is accepted but deprecated and will be removed in a future release — use "GTC" instead.

## Response `200`

Order placed successfully

- PlaceOrderResponse
  - `oid` string, required — Order ID of the placed order; e.g. "ORD-1234567890"

## Other responses

- `400` — Bad request

---

[API](https://skmtc.net/architect/apis/ax-api-gateway.md) · [All operations](https://skmtc.net/architect/apis/ax-api-gateway/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/architect/ax-api-gateway/revisions/2955c31c524d/schema)
