Skip to main content
POST
/
v1
/
order
/
close-position
Close position order
curl --request POST \
  --url https://api.polymarket.us/v1/order/close-position \
  --header 'Content-Type: application/json' \
  --header 'X-PM-Access-Key: <api-key>' \
  --header 'X-PM-Signature: <api-key>' \
  --header 'X-PM-Timestamp: <api-key>' \
  --data '
{
  "marketSlug": "<string>",
  "manualOrderIndicator": "MANUAL_ORDER_INDICATOR_MANUAL",
  "synchronousExecution": true,
  "maxBlockTime": "<string>",
  "slippageTolerance": {
    "currentPrice": {
      "value": "0.55",
      "currency": "USD"
    },
    "bips": 123,
    "ticks": 123
  }
}
'
{
  "id": "<string>",
  "executions": [
    {
      "id": "<string>",
      "order": {
        "id": "<string>",
        "marketSlug": "<string>",
        "side": "ORDER_SIDE_BUY",
        "type": "ORDER_TYPE_LIMIT",
        "price": {
          "value": "0.55",
          "currency": "USD"
        },
        "quantity": 123,
        "cumQuantity": 123,
        "leavesQuantity": 123,
        "tif": "TIME_IN_FORCE_GOOD_TILL_CANCEL",
        "goodTillTime": "2023-11-07T05:31:56Z",
        "intent": "ORDER_INTENT_BUY_LONG",
        "marketMetadata": {
          "slug": "<string>",
          "icon": "<string>",
          "title": "<string>",
          "outcome": "<string>",
          "eventSlug": "<string>",
          "teamId": 123,
          "team": {
            "id": 123,
            "name": "<string>",
            "abbreviation": "<string>",
            "league": "<string>",
            "record": "<string>",
            "logo": "<string>",
            "alias": "<string>",
            "safeName": "<string>",
            "homeIcon": "<string>",
            "awayIcon": "<string>",
            "colorPrimary": "<string>",
            "ordering": "<string>",
            "ranking": "<string>",
            "conference": "<string>"
          }
        },
        "state": "ORDER_STATE_PARTIALLY_FILLED",
        "commissionNotionalTotalCollected": {
          "value": "0.55",
          "currency": "USD"
        },
        "commissionsBasisPoints": "<string>",
        "makerCommissionsBasisPoints": "<string>",
        "avgPx": {
          "value": "0.55",
          "currency": "USD"
        },
        "cashOrderQty": {
          "value": "0.55",
          "currency": "USD"
        },
        "insertTime": "2023-11-07T05:31:56Z",
        "createTime": "2023-11-07T05:31:56Z"
      },
      "lastShares": "<string>",
      "lastPx": {
        "value": "0.55",
        "currency": "USD"
      },
      "type": "EXECUTION_TYPE_PARTIAL_FILL",
      "text": "<string>",
      "orderRejectReason": "ORD_REJECT_REASON_UNKNOWN_MARKET",
      "transactTime": "2023-11-07T05:31:56Z",
      "legPrices": [
        {
          "marketSlug": "<string>",
          "anchor": true,
          "px": {
            "value": "0.55",
            "currency": "USD"
          },
          "qty": "<string>",
          "side": "ORDER_SIDE_BUY",
          "referencePx": "<string>"
        }
      ],
      "tradeId": "<string>",
      "aggressor": true,
      "commissionNotionalCollected": {
        "value": "0.55",
        "currency": "USD"
      },
      "unsolicitedCancelReason": "UNSOLICITED_CXL_REASON_CONNECTION_LOSS",
      "traceId": "<string>",
      "commissionSpreadPx": {
        "value": "0.55",
        "currency": "USD"
      },
      "transactTradeDate": "2023-11-07T05:31:56Z"
    }
  ]
}

Authorizations

X-PM-Access-Key
string
header
required

Your API key ID (UUID). Generate at polymarket.us/developer.

X-PM-Timestamp
string
header
required

Unix timestamp in milliseconds. Must be within 30 seconds of server time.

X-PM-Signature
string
header
required

Base64-encoded Ed25519 signature of timestamp + method + path. See Authentication for details.

Body

application/json

Request to create an order to close a position

Request to create an order to close a position

marketSlug
string
required

Market slug of the position to close

manualOrderIndicator
enum<string>

Indicates whether the order was placed manually or automatically

Available options:
MANUAL_ORDER_INDICATOR_MANUAL,
MANUAL_ORDER_INDICATOR_AUTOMATIC
synchronousExecution
boolean

If true, will block until the order is filled, rejected, canceled, or expired, up to maxBlockTime seconds

maxBlockTime
string<int64>

Maximum block time in seconds if synchronous execution is requested

slippageTolerance
object

Slippage tolerance configuration for the close order

Response

Position order closed successfully

Response containing closed position order ID

id
string

Exchange-assigned order ID for the close position order

executions
object[]

Executions if synchronous execution was requested