---
title: "Modify Orders COID"
method: PATCH
path: "/v1/trade/orders-coid"
---

# Modify Orders COID

`PATCH /v1/trade/orders-coid`

Modify the price and total quantity of existing orders by client order ID.
Requires proxy signature, see [proxy signing](/http/signing#2-proxy-signing).

## Request body

- ModifyByCoidRequest
  - `op` OpModifyOrdersByCoid, required
    - `type` 'modifyOrdersCOID', required
    - `args` ModifyOrderByCoid[], required
      - `coid` string, required — Client order ID
      - `p` string, required — Price
      - `qty` string, required — Quantity in no. of contracts
  - `sig` string, required — Signature in hex format
  - `salt` integer, required — Salt
  - `ts` integer, required — Request timestamp. Unix milliseconds for most operations; Unix seconds for withdrawals (must match the on-chain EIP-712 struct verified against block.timestamp).
  - `exp` integer — Command expiry timestamp in Unix milliseconds. If provided, it must be in the future and within the gateway's default command timeout. It can shorten request validity but cannot extend it. This is not an order auto-cancel time.

## Response `200`

One modify result per requested order, in request order.

- ModifyResponse[]
  - union
    - ModifyAccepted
      - `status` 'ok', required
      - `order` Order, required
        - `oid` integer, required — Order ID
        - `iid` integer, required — Instrument ID
        - `buy` boolean, required — Is buy
        - `p` string, required — Price
        - `qty` string, required — Quantity in no. of contracts
        - `tif` 'gtc' | 'ioc' | 'fok', required — Time in force
        - `po` boolean, required — Post only
        - `ro` boolean, required — Reduce only
        - `rest` string, required — Resting quantity
        - `fill` string, required — Filled quantity
        - `cts` integer, required — Create timestamp in milliseconds
        - `uts` integer, required — Update timestamp in milliseconds
        - `status` string, required — Order status
        - `coid` string — Client order ID
    - ModifyRejected
      - `status` 'err', required
      - `oid` integer — Order ID
      - `coid` string — Client order ID
      - `error` string, required — Error identifier. For domain rejections and transport errors (`401`/`404`/`429`/`500`) this is a stable, machine-readable snake_case identifier that is part of the API contract and safe to branch on, e.g. `insufficient_margin`, `insufficient_balance`, `order_not_found`, `reduce_only_invalid`, `price_outside_bounds`, `position_not_found`, `invalid_margin_mode`, `invalid_margin_amount`, `margin_below_required_initial`, `account_liquidating`, `unauthorized`, `not_found`. For `400` it is a human-readable validation detail whose wording may change. See the Error handling guide for the domain identifiers. (Post-only / Fill-or-Kill outcomes are order statuses such as `post_only_rejected`, not rejections.)

## Other responses

- `400` — Bad request — the batch request was malformed or failed validation (unparseable body, invalid signature, or a domain pre-check). Request-level failures are returned as a single rejected item so batch endpoints always return an array. The `error` field is a human-readable validation detail.
- `404` — Not found — the batch endpoint is disabled on this venue. Request-level failures are returned as a single rejected item so batch endpoints always return an array. `error` is `not_found`.
- `429` — Too Many Requests. Request-level failures are returned as a single rejected item so batch endpoints always return an array. `error` distinguishes the limit that was hit: `ip_rate_limited` (per-IP token bucket), `action_rate_limited` (per-account action rate), or `open_orders_limit` (resting open-order cap).
- `500` — Internal server error. Request-level failures are returned as a single rejected item so batch endpoints always return an array. `error` is `internal_error`.

## Changes

> 7 revisions in range; 1 could not be searched.

- **2026-08-24** `aab41363555b` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/polymarket/apis/polymarket-perps-http-api/changes/v1/trade/orders-coid/patch.md)

---

[API](https://skmtc.dev/polymarket/apis/polymarket-perps-http-api.md) · [All operations](https://skmtc.dev/polymarket/apis/polymarket-perps-http-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/polymarket/polymarket-perps-http-api/revisions/aab41363555b/schema)
