# add algo (synthetic and GTC orders)

{% tabs %}
{% tab title="Payload" %}

```
POST /algo/order/add

{
  "instrument": "ETH-USD:USDT-USD",
  "clientOrderId": 1,
  "side": "ask",
  "size": 12345678,
  "volume": 12345678,
  "price": 12345678,
  "type": "limitIOC",
  "firmBookEnabled": true,
  "qsEnabled": false
}

```

<table><thead><tr><th width="170">Parameter</th><th width="164.7999267578125">Type</th><th>Description</th></tr></thead><tbody><tr><td>instrument</td><td>string</td><td>Instrument Technical Name. Might be Synthetic Instrument (e.g., <code>ETH-USD:USDT-USD</code>) or Direct Instrument (e.g., <code>ETH-USD</code>)</td></tr><tr><td>clientOrderId</td><td>Efx::ClientOrderId</td><td>Client Order ID. See <a href="https://app.gitbook.com/o/-MdGV_UNcoyY7eJyul_c/s/lhEtVTUclDpcNfjGvCeB/~/edit/~/changes/439/api-reference/data-types">Data Types</a>.</td></tr><tr><td>side</td><td>string</td><td>Order side. Might be <code>bid</code> or <code>ask</code>.</td></tr><tr><td>size</td><td>Efx::Size</td><td>Order size. See <a href="https://app.gitbook.com/o/-MdGV_UNcoyY7eJyul_c/s/lhEtVTUclDpcNfjGvCeB/~/edit/~/changes/439/api-reference/data-types">Data Types</a>. Must be present only if no <code>volume</code> provided.</td></tr><tr><td>volume</td><td>Efx::Size</td><td>Order volume. See <a href="https://app.gitbook.com/o/-MdGV_UNcoyY7eJyul_c/s/lhEtVTUclDpcNfjGvCeB/~/edit/~/changes/439/api-reference/data-types">Data Types</a>. Must be present only if no <code>size</code> provided.</td></tr><tr><td>price</td><td>Efx::Price</td><td>Order price. See <a href="https://app.gitbook.com/o/-MdGV_UNcoyY7eJyul_c/s/lhEtVTUclDpcNfjGvCeB/~/edit/~/changes/439/api-reference/data-types">Data Types</a>. Must be present only if placing limit order</td></tr><tr><td>type</td><td>string</td><td>Order type. For orders with Synthetic Instruments might be one of <code>limitIOC</code> or <code>marketIOC</code>. For Pending limit orders must be <code>pendingLimit</code></td></tr><tr><td>firmBookEnabled</td><td>boolean</td><td>At the moment must be <code>true</code> for every order</td></tr><tr><td>qsEnabled</td><td>boolean</td><td>At the moment must be <code>false</code> for every order</td></tr></tbody></table>

{% endtab %}

{% tab title="Response 200 OK" %}

```
{
  "content": {
    "id": 123456,
    "clientOrderId": 1,
    "clientId": 9999,
    "status": "PARTIALLY_EXECUTED",
    "side": "ask",
    "initiatorType": "regular",
    "instrument": "ETH-USD:USDT-USD",
    "size": 12345678,
    "volume": 12345678,
    "price": 12345678,
    "remainingSizeOrVolume": 123,
    "createdAt": 1767225600,
    "type": "limitIOC",
    "cancelReason": "some"
  },
  "error": 0
}
```

<table><thead><tr><th width="269.199951171875">Attribute</th><th width="165.199951171875">Type</th><th>Description</th></tr></thead><tbody><tr><td>error</td><td>Efx::ErrorCode</td><td>Operation result code. Possible values are in <a href="https://app.gitbook.com/o/-MdGV_UNcoyY7eJyul_c/s/lhEtVTUclDpcNfjGvCeB/~/edit/~/changes/439/api-reference/troubleshooting-errors/list-of-error-codes">List of Error Codes</a></td></tr><tr><td>content.id</td><td>Efx::OrderId</td><td>Order ID. See <a href="https://app.gitbook.com/o/-MdGV_UNcoyY7eJyul_c/s/lhEtVTUclDpcNfjGvCeB/~/edit/~/changes/439/api-reference/data-types">Data Types</a>.</td></tr><tr><td>content.clientOrderId</td><td>Efx::ClientOrderId</td><td>Client Order ID. See <a href="https://app.gitbook.com/o/-MdGV_UNcoyY7eJyul_c/s/lhEtVTUclDpcNfjGvCeB/~/edit/~/changes/439/api-reference/data-types">Data Types</a>.</td></tr><tr><td>content.clientId</td><td>Efx::ClientId</td><td>ID of a client who placed order. See <a href="https://app.gitbook.com/o/-MdGV_UNcoyY7eJyul_c/s/lhEtVTUclDpcNfjGvCeB/~/edit/~/changes/439/api-reference/data-types">Data Types</a>.</td></tr><tr><td>content.status</td><td>string</td><td>Order status. Might be <code>PENDING</code>, <code>PARTIALLY_EXECUTED</code>, <code>COMPLETED</code>, <code>CANCELED</code></td></tr><tr><td>content.side</td><td>string</td><td>Order side. Might be <code>bid</code>, <code>ask</code></td></tr><tr><td>content.initiatorType</td><td>string</td><td>Order Initiator type. Always <code>regular</code></td></tr><tr><td>content.instrument</td><td>string</td><td>Technical name of order instrument</td></tr><tr><td>content.size</td><td>Efx::Size</td><td>Order size. See <a href="https://app.gitbook.com/o/-MdGV_UNcoyY7eJyul_c/s/lhEtVTUclDpcNfjGvCeB/~/edit/~/changes/439/api-reference/data-types">Data Types</a>. Will be present if order is by size.</td></tr><tr><td>content.volume</td><td>Efx::Size</td><td>Order volume. See <a href="https://app.gitbook.com/o/-MdGV_UNcoyY7eJyul_c/s/lhEtVTUclDpcNfjGvCeB/~/edit/~/changes/439/api-reference/data-types">Data Types</a>. Will be present if order is by volume.</td></tr><tr><td>content.price</td><td>Efx::Price</td><td>Order price. See <a href="https://app.gitbook.com/o/-MdGV_UNcoyY7eJyul_c/s/lhEtVTUclDpcNfjGvCeB/~/edit/~/changes/439/api-reference/data-types">Data Types</a>. Will be present for limit orders only.</td></tr><tr><td>content.remainingSizeOrVolume</td><td>Efx::Size</td><td>For orders by size: remaining order size after order execution. For orders by volume: remaining order volume after order execution</td></tr><tr><td>content.createdAt</td><td>Efx::Timestamp</td><td>Order creation date</td></tr><tr><td>content.type</td><td>string</td><td>Order type. One of <code>limitIOC</code>, <code>marketIOC</code>, <code>pendingLimit</code></td></tr><tr><td>content.cancelReason</td><td>string</td><td>Order cancel reason. Will be present in cancelled orders</td></tr></tbody></table>
{% endtab %}

{% tab title="Response NoOK" %}

```
{
    "error": 9,
    "errorDescription": [
        "Some description"
    ]
}
```

<table><thead><tr><th width="165.4000244140625">Attribute</th><th width="147.2000732421875">Type</th><th>Description</th></tr></thead><tbody><tr><td>error</td><td>Efx::ErrorCode</td><td>Operation result code. Possible values are in <a href="https://app.gitbook.com/o/-MdGV_UNcoyY7eJyul_c/s/lhEtVTUclDpcNfjGvCeB/~/edit/~/changes/439/api-reference/troubleshooting-errors/list-of-error-codes">List of Error Codes</a></td></tr><tr><td>errorDescription</td><td>string array</td><td>List of strings describing observed errors</td></tr></tbody></table>
{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://faq.finerymarkets.com/api-reference/rest-api/trading/adding-orders/add-algo-synthetic-and-gtc-orders.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
