---
title: "Create Order"
method: POST
path: "/accounts/{account_id}/orders"
tags: ["Orders"]
---

# Create Order

`POST /accounts/{account_id}/orders`

## Path parameters

- `account_id` string, required

## Headers

- `LMG-Data-Privacy-Access-Principal` string, required
- `LMG-Data-Privacy-Access-Justification` string, required
- `Idempotency-Key` string

## Request body

- CreateOrderRequest
  - `side` 'buy' | 'sell', required — A category to represent the side of a customer's order: <ul> <li><code>buy</code>: Buy shares of an instrument and pay with cash. <li><code>sell</code>: Sell shares of an instrument and receive cash. </ul>
  - `type` 'batch' | 'market', required — A category describing an order type: <ul> <li><code>batch</code>: A batch order. Batch orders are collected for all customers and executed on the market as one composite order. <li><code>market</code>: A market order. Market orders are executed immediately at the current market price. </ul>
  - `instrument` string, required — An ISIN (International Securities Identification Number) according to ISO 6166. This value uniquely identifies the instrument to be bought/sold.
  - `amount` string — The amount of cash to invest with this order.
  - `quantity` string — Specify the quantity of shares for the instrument to be sold.
  - `fees` FeesRequest, required — Order fee configuration. Use this object to specify how to calculate order fees. **NOTE:** It is mandatory to specify `fees` for an order, even when charging no fees (use a fixed amount of `0` then).
    - `pct` string, number — Specify a relative amount like `"0.20"` to charge a relative fee for this order; in this case, 0.2% of the trade's value, i.e. `0.20 EUR` in case the trade is executed for `100 EUR` as the exchange. In this example a customer would receive `99.80 EUR` for a sell order or pay `100.20 EUR` for a buy order. **NOTE:** For the time being, this property is mutually exclusive with fixed fees. If you need to combine both, feel free to contact your partner manager.
    - `base_amount` string, number — Specify a fixed amount like `"2.00"` to charge a fixed fee for this order. **NOTE:** For the time being, this property is mutually exclusive with relative fees. If you need to combine both, feel free to contact your partner manager.
  - `currency` string, required — An ISO 4217 three-letter currency code. Its value represents the currency for the `fee`, `fees.base_amount` and `amount` listed here. The only currently available currency is `"EUR"`.
  - `securities_account` string — A securities account identifier. Use this property to specify the securities account for order execution and settlement. If the customer has only one securities account, this property is optional. If the customer has more than one securities account, this property is required.
  - `actor` ActorRequest — An object describing the individual performing an action.
    - `type` 'person', required — The actor type. For the time being, the only valid value is `"person"`.
    - `person` string, required — A person identifier. This identifier specifies the individual performing an action (e.g. create/confirm order).

## Response `201`

Successful Response

- OrderResponse
  - `id` string, required — The unique identifier for this order.
  - `side` 'buy' | 'sell', required — A category to represent the side of a customer's order: <ul> <li><code>buy</code>: Buy shares of an instrument and pay with cash. <li><code>sell</code>: Sell shares of an instrument and receive cash. </ul>
  - `type` 'batch' | 'market', required — A category describing an order type: <ul> <li><code>batch</code>: A batch order. Batch orders are collected for all customers and executed on the market as one composite order. <li><code>market</code>: A market order. Market orders are executed immediately at the current market price. </ul>
  - `workflow` string — A reference to the workflow that created this order. If the order has not been created using a workflow, the property will not be set.
  - `instrument` string, required — An ISIN (International Securities Identification Number) according to ISO 6166. This value uniquely identifies the instrument to be bought/sold.
  - `amount` string, number — The amount of cash for a buy order, `null` for a sell order. **NOTE:** We may evolve the API to allow quantity-based buy orders and amount-based sell orders. We do not recommend to rely on the current behavior.
  - `quantity` string, number — The quantity of shares for a sell order, `null` for a buy order. **NOTE:** We may evolve the API to allow quantity-based buy orders and amount-based sell orders. We do not recommend to rely on the current behavior.
  - `fee` string, number, required — The fee that will be charged by lemon.markets on your behalf.
  - `fees` FeesResponse, required — Order fee configuration. This object specifies how to calculate order fees.
    - `pct` string — Specify a relative amount like `"0.20"` to charge a relative fee for this order; in this case, 0.2% of the trade's value.
    - `base_amount` string — Specify a fixed amount like `"2.00"` to charge a fixed fee for this order.
  - `currency` string, required — An ISO 4217 three-letter currency code. Its value represents the currency for the `fee`, `fees.base_amount` and `amount` listed here. The only currently available currency is `"EUR"`.
  - `history` StatusChangeResponse[]
    - `status` 'accepted' | 'canceled' | 'canceling' | 'confirmed' | 'created' | 'executed' | 'rejected', required — A category representing the state of an order: <ul> <li><code>accepted</code> <li><code>canceled</code> <li><code>canceling</code> <li><code>confirmed</code> <li><code>created</code> <li><code>executed</code> <li><code>rejected</code> </ul>
    - `timestamp` string, date-time, required — The timestamp of the event. It represents the point in time at which the order was updated.
    - `actor` ActorResponse — An object describing the individual performing an action.
      - `type` 'person', required — The actor type. For the time being, the only valid value is `"person"`.
      - `person` string, required — A person identifier. This identifier specifies the individual performing an action (e.g. create/confirm order).
    - `reason` 'insufficient_buying_power' | 'insufficient_available_securities' | 'insufficient_order_amount' | 'rejected_by_exchange' | 'manual_rejection' | 'unknown' — The reason why an order was rejected. Only populated when the order status is `rejected`. <ul> <li><code>insufficient_buying_power</code> - Customer does not have enough buying power for buy order</li> <li><code>insufficient_available_securities</code> - Customer does not have enough available securities for sell order</li> <li><code>insufficient_order_amount</code> - Order amount is not enough to buy at least one unit of the instrument</li> <li><code>rejected_by_exchange</code> - Order was rejected by the exchange</li> <li><code>manual_rejection</code> - Order was manually rejected</li> <li><code>unknown</code> - Rejection reason could not be determined</li> </ul>
  - `regulatory_disclosures` BrokerAppsApiTypesRegulatoryDisclosureResponse — An object describing regulatory information, such as expected prices, quantities and costs as well as links to relevant documents.
    - `kid` string, uri — If present, a document that needs to be made available to the user. A copy of this document will be added to the user's `/documents` eventually.
    - `estimated_amount` string, number, required — An indication of the amount based on the most recent market data. **NOTE:** This information is indicative only and does not have to match the final execution price.
    - `estimated_price` string, number, required — A price indication based on the most recent market data. **NOTE:** This information is indicative only and does not have to match the final execution price.
    - `estimated_quantity` string, number, required — A quantity indication based on the most recent market data. **NOTE:** This information is indicative only and does not have to match the final execution quantity.
    - `service_costs_total` string, number, required — Cost of investment services provided by lemon.markets; specified using the order's currency.
    - `service_costs_total_pct` string, number, required — Relative value of `servic_costs_total` in relation to the total value of the order; specified in percentage points (`"0.23"` means 0.23%).
    - `entry_costs` string, number — The investment service costs related to the buy order; specified using the order's currency.
    - `entry_costs_pct` string, number — Relative value of `entry_costs` in relation to the total value of the order; specified in percentage points (`"0.23"` means 0.23%).
    - `third_party_grants` string, number, required — Inducements paid to the broker by third parties; specified using the order's currency.
    - `third_party_grants_pct` string, number, required — Relative value of `third_party_grants` in relation to the total value of the order; specified in percentage points (`"0.23"` means 0.23%).
    - `product_costs` string, number — The product cost associated with owning the product; specified using the order's currency.
    - `product_costs_pct` string, number — Relative value of `product_costs` in relation to the total value of the order; specified in percentage points (`"0.23"` means 0.23%).
    - `running_costs` string, number — The investment service cost associated with owning the product; specified using the order's currency.
    - `running_costs_pct` string, number — Relative value of `running_costs` in relation to the total value of the order; specified in percentage points (`"0.23"` means 0.23%).
    - `exit_costs` string, number, required — The service costs related to a sell order; specified using the order's currency. **Note:** In case of a buy order, this reflects an estimate of a corresponding sell order.
    - `exit_costs_pct` string, number, required — Relative value of `exit_costs` in relation to the total value of the order; specified in percentage points (`"0.23"` means 0.23%).
    - `acquisition_costs` string
    - `acquisition_costs_pct` string
    - `custody_costs` string
    - `custody_costs_pct` string
    - `impact_first_year` string, number — An indication of the costs incurred during the first year of ownership; specified using the order's currency. This includes both product and investment service costs. **Note:** If the security is sold during the first year, the cost might be even higher.
    - `impact_first_year_pct` string, number — Relative value of `impact_first_year` in relation to the total value of the order; specified in percentage points (`"0.23"` means 0.23%).
    - `impact_subsequent_year` string, number — An indication of the costs incurred during a year of ownership without transactions; specified using the order's currency. This include both product and investment service costs.
    - `impact_subsequent_year_pct` string, number — Relative value of `impact_subsequent_year` in relation to the total value of the order; specified in percentage points (`"0.23"` means 0.23%).
    - `impact_final_year` string, number — An indication of the cost incurred during the last year of ownership; specified using the order's currency. This include both product and investment service cost. **Note:** If the security is sold during the first year, the cost might be even higher.
    - `impact_final_year_pct` string, number — Relative value of `impact_final_year` in relation to the total value of the order; specified in percentage points (`"0.23"` means 0.23%).
  - `appropriateness_check` AppropriatenessConsentResponse — An object representing the requirements for explicit confirmation of an appropriateness warning.
    - `required` boolean, required — Requirement indicator for the appropriateness warning. **NOTE:** If this value is `true`, the frontend must present a warning to the user as outlined in your onboarding documentation.
  - `sca` StrongCustomerAuthenticationRequest — An object representing a strong customer authentication challenge.
    - `required` boolean, required — Indication of strong customer authentication requirement. If this value is `true`, the next request needs to include a solution to the challege (e.g. in the `sca` property for batch order confirmation).
    - `challenge` string, required — A base64-url encoded blob of data. Sign the decoded data using a registered authenticator and include the signature in the next request (e.g. in the `sca` property for batch order confirmation).
  - `securities_account` string — A securities account identifier. This property indicates the securities account used for order execution and settlement.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `422` — Unprocessable Entity
- `5XX` — Server Error

---

[API](https://skmtc.net/lemon/apis/lemon-markets-brokerage-api.md) · [All operations](https://skmtc.net/lemon/apis/lemon-markets-brokerage-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lemon/lemon-markets-brokerage-api/versions/3c8cfd3a96c9/schema)
