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

# Order Data Model

> Supported fields for the public InsertOrderRequest embedded in partner order entry.

<Warning>
  **BETA — SUBJECT TO CHANGE.** This API is in beta and may change without notice.
</Warning>

`CreateVendorOrder` embeds the public `polymarket.v1.InsertOrderRequest`. The supported order shape for partner entry is intentionally narrow: **limit orders** with **fill-or-kill (FOK)** time in force and either a share quantity or a cash quantity such as “spend \$20.”

The service validates populated fields against a fail-closed allowlist. Any field marked **Rejected if set** below causes `INVALID_ARGUMENT`, with the offending field named in the error. This prevents newly added public-order features from becoming available to partner callers unintentionally.

## Supported fields

| `InsertOrderRequest` field          | Type                             | Partner support                     | Requirements                                                                                                                                                                            |
| ----------------------------------- | -------------------------------- | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `type`                              | `OrderType`                      | **Required**                        | Must be `ORDER_TYPE_LIMIT`.                                                                                                                                                             |
| `side`                              | `Side`                           | **Required**                        | `SIDE_BUY` or `SIDE_SELL`.                                                                                                                                                              |
| `order_qty`                         | `int64`                          | **Optional; one quantity required** | Positive share quantity in the instrument's fixed-point quantity scale. Set exactly one of `order_qty` and `cash_order_qty`.                                                            |
| `symbol`                            | `string`                         | **Required**                        | Exchange symbol for the market.                                                                                                                                                         |
| `price`                             | `int64`                          | **Required**                        | Positive limit price in the instrument's fixed-point price scale.                                                                                                                       |
| `time_in_force`                     | `TimeInForce`                    | **Required**                        | Must be `TIME_IN_FORCE_FILL_OR_KILL`. Every other time-in-force value is rejected.                                                                                                      |
| `clord_id`                          | `string`                         | **Required**                        | Your FIX tag-11 client order ID: 1–64 visible ASCII characters, unique across live orders for the participant. Echoed as `clOrdID` on Drop Copy and included in the Vendor Fees report. |
| `account`                           | `string`                         | **Required**                        | The participant's DCM trading account from the KYC approval webhook. This is the sole customer identifier and the account used to match Drop Copy.                                      |
| `stop_price`                        | `int64`                          | **Rejected if set**                 | Stop and stop-limit orders are unsupported.                                                                                                                                             |
| `min_qty`                           | `int64`                          | **Rejected if set**                 | Minimum-quantity instructions are unsupported.                                                                                                                                          |
| `self_match_prevention_id`          | `string`                         | **Rejected if set**                 | Custom self-match prevention identifiers are unsupported.                                                                                                                               |
| `quote`                             | `string`                         | **Rejected if set**                 | Quote-linked orders are unsupported.                                                                                                                                                    |
| `all_or_none`                       | `bool`                           | **Rejected if set**                 | Use FOK for the supported all-or-cancel execution behavior.                                                                                                                             |
| `session_id`                        | `string`                         | **Rejected if set**                 | The service derives submission context. Do not copy a session from another API call.                                                                                                    |
| `user`                              | `string`                         | **Rejected if set**                 | The service derives the submitting participant from the authenticated firm's relationship to `account`.                                                                                 |
| `client_account_id`                 | `string`                         | **Rejected if set**                 | Use `account` as the account identifier.                                                                                                                                                |
| `client_participant_id`             | `string`                         | **Rejected if set**                 | The service derives the participant associated with `account`.                                                                                                                          |
| `participate_dont_initiate`         | `bool`                           | **Rejected if set**                 | Post-only behavior is unsupported.                                                                                                                                                      |
| `cash_order_qty`                    | `int64`                          | **Optional; one quantity required** | Positive USD amount in the instrument's fixed-point price scale. Set exactly one of `cash_order_qty` and `order_qty`.                                                                   |
| `strict_limit`                      | `bool`                           | **Rejected if set**                 | Strict-limit behavior is unsupported.                                                                                                                                                   |
| `good_till_time`                    | `Timestamp`                      | **Rejected if set**                 | Non-default `good_till_time` is unsupported and rejected.                                                                                                                               |
| `best_limit`                        | `bool`                           | **Rejected if set**                 | Best-limit pricing is unsupported.                                                                                                                                                      |
| `immediately_executable_limit`      | `bool`                           | **Rejected if set**                 | Immediately-executable-limit behavior is unsupported.                                                                                                                                   |
| `self_match_prevention_instruction` | `SelfMatchPreventionInstruction` | **Rejected if set**                 | Custom self-match prevention instructions are unsupported.                                                                                                                              |
| `order_capacity`                    | `OrderCapacity`                  | **Rejected if set**                 | Custom order-capacity values are unsupported.                                                                                                                                           |
| `ignore_price_validity_checks`      | `bool`                           | **Rejected if set**                 | Price validity checks cannot be bypassed.                                                                                                                                               |
| `manual_order_indicator`            | `ManualOrderIndicator`           | **Required**                        | `MANUAL_ORDER_INDICATOR_MANUAL` for a human-entered order or `MANUAL_ORDER_INDICATOR_AUTOMATED` for a system-generated order.                                                           |

<Info>
  In proto3, scalar fields at their default value are not populated on the wire. “Rejected if set” means do not send a non-default value for that field. Construct the supported request directly rather than reusing a broad public-order object.
</Info>

## Fixed-point values

`price`, `order_qty`, and `cash_order_qty` are integers on the public exchange message. Convert user-facing decimals with the scales published for the instrument:

```text theme={null}
wire price = decimal price × 10^price_scale
wire share quantity = decimal shares × 10^fractional_quantity_scale
wire cash quantity = decimal USD × 10^price_scale
```

For example, when both scales are `2`, a $0.45 limit price is `price = 45`, 100 shares is `order_qty = 10000`, and “spend $20” is `cash_order_qty = 2000`.

## Customer identity

`order.account` is the only customer identifier accepted by `CreateVendorOrder`. Persist the DCM account delivered when KYC is approved and use it consistently for:

* `order.account` on partner order placement
* `participant_account_id` on [transfers](/partners/funding/transfers)
* the account field on Drop Copy and reconciliation records

Do not set `order.user` or `order.session_id`. The service authenticates your firm, verifies that `order.account` belongs to an enabled participant relationship, and derives the submitting participant.

## MoneyAmount

| Field      | Type     | Description                               |
| ---------- | -------- | ----------------------------------------- |
| `value`    | `string` | Base-10 decimal string, such as `"0.10"`. |
| `currency` | `string` | ISO 4217 code. Must be `USD`.             |

`MoneyAmount` is used for the top-level `vendor_fee`; it is not used for the fixed-point fields in the embedded public order.

## Next step

<Card title="CreateVendorOrder" icon="bolt" href="/partners/orders/create-order" horizontal>
  See complete FOK share-order and “spend \$20” cash-order examples.
</Card>
