> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rails.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Order

#### Request

```json theme={null}
// Limit Order
{
  "message": "createOrder",
  "content": {
    "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef",
    "market": "BTC-3JUL26-55000-C",
    "price": "6400",
    "quantity": "1",
    "orderType": "buy",
    "tradeType": "limit",
    "postOnly": false
  }
}
```

```json theme={null}
// Market Order
{
  "message": "createOrder",
  "content": {
    "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef",
    "market": "BTC-3JUL26-55000-C",
    "price": "6400",
    "quantity": "1",
    "orderType": "buy",
    "tradeType": "market",
    "maxSlippage": "0.02"
  }
}
```

| Field                     | Type    | Required | Description                                                  |
| ------------------------- | ------- | -------- | ------------------------------------------------------------ |
| `message`                 | string  | Yes      | `createOrder`                                                |
| `content.clientRequestId` | string  | No       | Client-generated UUID for correlation                        |
| `content.market`          | string  | No       | Market name, only required when connecting with `market=ALL` |
| `content.price`           | string  | Yes      | Limit price; for market orders, the expected price           |
| `content.quantity`        | string  | Yes      | Order quantity                                               |
| `content.orderType`       | string  | Yes      | Order side: `buy` or `sell`                                  |
| `content.tradeType`       | string  | Yes      | Order type: `limit` or `market`                              |
| `content.postOnly`        | boolean | No       | Maker-only flag; limit orders only                           |
| `content.reduceOnly`      | boolean | No       | Restrict the order to reducing an existing position          |
| `content.maxSlippage`     | string  | No       | Market orders only; `0 - 1` inclusive. `0` behaves as IOC    |

#### Response — Acknowledgment

```json theme={null}
{
  "resultType": "createOrder",
  "market": "BTC-3JUL26-55000-C",
  "data": {
    "statusCode": 202,
    "body": "order received",
    "order": {
      "market": "BTC-3JUL26-55000-C",
      "orderId": "01KWK47RT6A4DD1TCQE662QJ3W",
      "orderType": "buy",
      "tradeType": "limit",
      "price": "6400",
      "quantity": "1",
      "filledQuantity": "0",
      "leverage": "0",
      "orderStatus": "pending",
      "postOnly": false,
      "createdAt": 1783053411143,
      "updatedAt": 1783053411171,
      "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef"
    },
    "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef"
  }
}
```

| Field                        | Type    | Required | Description                           |
| ---------------------------- | ------- | -------- | ------------------------------------- |
| `resultType`                 | string  | Yes      | `createOrder`                         |
| `market`                     | string  | Yes      | Contract name                         |
| `data.statusCode`            | number  | Yes      | `202`                                 |
| `data.body`                  | string  | Yes      | `order received`                      |
| `data.order.market`          | string  | Yes      | Contract name                         |
| `data.order.orderId`         | string  | Yes      | Unique order identifier               |
| `data.order.orderType`       | string  | Yes      | Order side: `buy` or `sell`           |
| `data.order.tradeType`       | string  | Yes      | Order type: `limit` or `market`       |
| `data.order.price`           | string  | Yes      | Order price                           |
| `data.order.quantity`        | string  | Yes      | Order quantity                        |
| `data.order.filledQuantity`  | string  | Yes      | Quantity filled so far                |
| `data.order.leverage`        | string  | Yes      | Leverage — always `0` for options     |
| `data.order.orderStatus`     | string  | Yes      | `pending`                             |
| `data.order.postOnly`        | boolean | Yes      | Maker-only flag                       |
| `data.order.createdAt`       | number  | Yes      | Creation time (ms since epoch)        |
| `data.order.updatedAt`       | number  | Yes      | Last update time (ms since epoch)     |
| `data.order.clientRequestId` | string  | No       | Client-generated UUID for correlation |
| `data.clientRequestId`       | string  | No       | Client-generated UUID for correlation |

#### Response — Confirmation

```json theme={null}
{
  "resultType": "createOrder",
  "market": "BTC-3JUL26-55000-C",
  "data": {
    "statusCode": 200,
    "body": "order placed",
    "order": {
      "market": "BTC-3JUL26-55000-C",
      "orderId": "01KWK47RT6A4DD1TCQE662QJ3W",
      "orderType": "buy",
      "tradeType": "limit",
      "price": "6400",
      "quantity": "1",
      "filledQuantity": "0",
      "leverage": "0",
      "orderStatus": "open",
      "postOnly": false,
      "createdAt": 1783053411143,
      "updatedAt": 1783053411174,
      "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef"
    },
    "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef"
  }
}
```

| Field                        | Type    | Required | Description                           |
| ---------------------------- | ------- | -------- | ------------------------------------- |
| `resultType`                 | string  | Yes      | `createOrder`                         |
| `market`                     | string  | Yes      | Contract name                         |
| `data.statusCode`            | number  | Yes      | `200`                                 |
| `data.body`                  | string  | Yes      | `order placed`                        |
| `data.order.market`          | string  | Yes      | Contract name                         |
| `data.order.orderId`         | string  | Yes      | Unique order identifier               |
| `data.order.orderType`       | string  | Yes      | Order side: `buy` or `sell`           |
| `data.order.tradeType`       | string  | Yes      | Order type: `limit` or `market`       |
| `data.order.price`           | string  | Yes      | Order price                           |
| `data.order.quantity`        | string  | Yes      | Order quantity                        |
| `data.order.filledQuantity`  | string  | Yes      | Quantity filled so far                |
| `data.order.leverage`        | string  | Yes      | Leverage — always `0` for options     |
| `data.order.orderStatus`     | string  | Yes      | `open`                                |
| `data.order.postOnly`        | boolean | Yes      | Maker-only flag                       |
| `data.order.createdAt`       | number  | Yes      | Creation time (ms since epoch)        |
| `data.order.updatedAt`       | number  | Yes      | Last update time (ms since epoch)     |
| `data.order.clientRequestId` | string  | No       | Client-generated UUID for correlation |
| `data.clientRequestId`       | string  | No       | Client-generated UUID for correlation |

#### Response — Error

```json theme={null}
{
  "resultType": "createOrder",
  "market": "BTC-3JUL26-55000-C",
  "data": {
    "statusCode": 400,
    "body": "self trade not allowed",
    "order": {
      "market": "BTC-3JUL26-55000-C",
      "orderId": "01KWMXCQCSQC1MN9NJ30TYZPKJ",
      "orderType": "sell",
      "tradeType": "limit",
      "price": "6700",
      "quantity": "1",
      "filledQuantity": "0",
      "leverage": "0",
      "orderStatus": "rejected",
      "postOnly": true,
      "createdAt": 1783113342363,
      "updatedAt": 1783113342365,
      "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef"
    },
    "error": {
      "code": "6000",
      "slug": "ORDER_REJECTED"
    },
    "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef"
  }
}
```

| Field                  | Type   | Required | Description                                                                                          |
| ---------------------- | ------ | -------- | ---------------------------------------------------------------------------------------------------- |
| `resultType`           | string | Yes      | `createOrder`                                                                                        |
| `market`               | string | Yes      | Contract name                                                                                        |
| `data.statusCode`      | number | Yes      | Error status, e.g. `400`                                                                             |
| `data.body`            | string | Yes      | Error description                                                                                    |
| `data.order`           | object | No       | The rejected order, when available (same fields as the acknowledgment, with `orderStatus: rejected`) |
| `data.error.slug`      | string | Yes      | Machine-readable error slug                                                                          |
| `data.error.code`      | string | Yes      | Error code                                                                                           |
| `data.clientRequestId` | string | No       | Client-generated UUID for correlation                                                                |
