Skip to main content

Request

{
  "message": "cancelOrder",
  "content": {
    "clientRequestId": "0835bf3e-4a20-41f0-908d-8213f2b7a285",
    "orderId": "01HH0X2VD6R0CJE4X0P0D1NQ11",
    "cancelBy": "orderId"
  }
}
FieldTypeRequiredDescription
messagestringYescancelOrder
content.clientRequestIdstringNoClient-generated UUID for correlation
content.orderIdstringYesTarget order identifier
content.cancelBystringYesCancellation mode; currently orderId

Response — Acknowledgment

{
  "resultType": "cancelOrder",
  "data": {
    "statusCode": 202,
    "body": "cancelling order",
    "order": {
      "market": "ETH-USD",
      "orderId": "01HZ5J70FCBNJAS7TVPVB4GAAG",
      "orderType": "buy",
      "tradeType": "limit",
      "price": "3601",
      "quantity": "1",
      "filledQuantity": "0.5",
      "leverage": "1",
      "createdAt": 1717100052972,
      "updatedAt": 1717100393492,
      "orderStatus": "cancelling",
      "clientRequestId": "0835bf3e-4a20-41f0-908d-8213f2b7a285",
      "postOnly": false,
      "avgFillPrice": "3601"
    },
    "clientRequestId": "0835bf3e-4a20-41f0-908d-8213f2b7a285",
    "apiQuotaUsed": 1
  }
}
FieldTypeRequiredDescription
resultTypestringYescancelOrder
data.statusCodenumberYes202
data.bodystringYesStatus message
data.order.marketstringYesMarket name
data.order.orderIdstringYesUnique identifier for the order
data.order.orderTypestringYesOrder side: buy or sell
data.order.tradeTypestringYesOrder type: limit or market
data.order.pricestringYesPrice used
data.order.quantitystringYesRemaining quantity
data.order.filledQuantitystringYesFilled quantity
data.order.leveragestringYesLeverage used at order creation
data.order.createdAtnumberYesMilliseconds since epoch
data.order.updatedAtnumberYesMilliseconds since epoch
data.order.orderStatusstringYescancelling
data.order.clientRequestIdstringNoClient-generated UUID for correlation
data.order.postOnlybooleanYesMaker-only creation flag
data.order.avgFillPricestringNoAverage price across fills
data.clientRequestIdstringNoClient-generated UUID for correlation
data.apiQuotaUsednumberYesAPI quota consumed

Response — Confirmation

{
  "resultType": "cancelOrder",
  "data": {
    "statusCode": 200,
    "body": "order cancelled",
    "order": {
      "market": "ETH-USD",
      "orderId": "01HZ5J70FCBNJAS7TVPVB4GAAG",
      "orderType": "buy",
      "tradeType": "limit",
      "price": "3601",
      "quantity": "1",
      "filledQuantity": "0.5",
      "leverage": "1",
      "createdAt": 1717100052972,
      "updatedAt": 1717100393492,
      "orderStatus": "cancelled",
      "clientRequestId": "0835bf3e-4a20-41f0-908d-8213f2b7a285",
      "postOnly": false,
      "avgFillPrice": "3601"
    },
    "clientRequestId": "0835bf3e-4a20-41f0-908d-8213f2b7a285"
  }
}
FieldTypeRequiredDescription
resultTypestringYescancelOrder
data.statusCodenumberYes200
data.bodystringYesStatus message
data.order.marketstringYesMarket name
data.order.orderIdstringYesUnique identifier for the order
data.order.orderTypestringYesOrder side: buy or sell
data.order.tradeTypestringYesOrder type: limit or market
data.order.pricestringYesPrice used
data.order.quantitystringYesRemaining quantity
data.order.filledQuantitystringYesFilled quantity
data.order.leveragestringYesLeverage used at order creation
data.order.createdAtnumberYesMilliseconds since epoch
data.order.updatedAtnumberYesMilliseconds since epoch
data.order.orderStatusstringYescancelled
data.order.clientRequestIdstringNoClient-generated UUID for correlation
data.order.postOnlybooleanYesMaker-only creation flag
data.order.avgFillPricestringNoAverage price across fills
data.clientRequestIdstringNoClient-generated UUID for correlation

Response — Error

{
  "resultType": "cancelOrder",
  "data": {
    "statusCode": 400,
    "body": "Invalid request",
    "error": {
      "slug": "CANCEL_ORDER_ERROR",
      "code": "2000"
    },
    "apiQuotaUsed": 1,
    "clientRequestId": "0835bf3e-4a20-41f0-908d-8213f2b7a285"
  }
}
{
  "resultType": "cancelOrder",
  "data": {
    "statusCode": 404,
    "body": "order not found",
    "error": {
      "slug": "NOT_FOUND",
      "code": "0007"
    },
    "apiQuotaUsed": 1,
    "clientRequestId": "505c8b64-3bcc-4871-9b4d-fbe8c42926c3"
  }
}
{
  "resultType": "cancelOrder",
  "data": {
    "statusCode": 409,
    "body": "order cannot be cancelled at the moment, please try again",
    "error": {
      "slug": "CANCEL_ORDER_CONFLICT_ERROR",
      "code": "2001"
    },
    "apiQuotaUsed": 1,
    "clientRequestId": "2f6635e5-bdab-4fbc-8e2e-21252d2219dc"
  }
}
{
  "resultType": "cancelOrder",
  "data": {
    "statusCode": 429,
    "body": "api call rate limit exceeded",
    "error": {
      "slug": "TOO_MANY_REQUESTS",
      "code": "0003"
    },
    "apiQuotaUsed": 10001,
    "retryAfterSec": 300,
    "clientRequestId": "2f6635e5-bdab-4fbc-8e2e-21252d2219dc"
  }
}
{
  "resultType": "cancelOrder",
  "data": {
    "statusCode": 500,
    "body": "Internal Server Error",
    "error": {
      "slug": "CANCEL_ORDER_ERROR",
      "code": "2000"
    },
    "apiQuotaUsed": 1,
    "clientRequestId": "2f6635e5-bdab-4fbc-8e2e-21252d2219dc"
  }
}
FieldTypeRequiredDescription
resultTypestringYescancelOrder
data.statusCodenumberYesError status (400, 404, 409, 429, 500)
data.bodystringYesError description
data.error.slugstringYesError slug
data.error.codestringYesError code
data.apiQuotaUsednumberNoPresent for quota responses
data.retryAfterSecnumberNoPresent when throttled
data.clientRequestIdstringNoClient-generated UUID for correlation