1. 11. Spot Trading API
MIN-Global API
  • MinGlobal External API (v1)
    • 01. Overview and Quick Start
      • Step 1. Check API Reachability (no key needed)
      • Step 2. Your First Signed Request
    • 02. Authentication and Request Signing
    • 03. Spot Trading Explained
    • 04. Futures Trading Explained
    • 05. Data Formats and Conventions
    • 06. Errors and Troubleshooting
    • 07. Rate Limits, Permissions and Known Limits
    • 08. Market Data API (public, no key needed)
      • List Spot Trading Pairs
      • Get All Spot Tickers
      • Get Spot Candlesticks (Klines)
      • Get Spot Order Book (Depth)
      • Get Recent Spot Trades
      • List Futures Contracts
      • Get All Futures Tickers
      • Get Futures Candlesticks (Klines)
      • Get Futures Order Book (Depth)
      • Get Recent Futures Trades
    • 09. Wallets and Balances API
      • Get All Balances
      • Get Balances by Coin
    • 10. Assets and Networks API
      • List Supported Coins
      • List Networks for a Coin
    • 11. Spot Trading API
      • Place Spot Order (Limit Buy)
        POST
      • Place Spot Order (Market Sell)
        POST
      • List Your Spot Orders
        GET
      • Get One Spot Order
        GET
      • Cancel Spot Order
        DELETE
    • 12. Futures Trading API
      • Get Futures Margin Balance
      • Open Futures Position (Limit Long)
      • Close Futures Position (Reduce Only)
      • List Open Futures Orders
      • Get Futures Order History
      • Get One Futures Order
      • Cancel Futures Order
  1. 11. Spot Trading API

Cancel Spot Order

DELETE
https://api.minglobal.io/v1/orders/{orderId}
Cancels an open spot order and releases its reserve.
Permission: SPOT_TRADE | Success: 200 OK, returning the updated order with status: "CANCELED" and terminalAt set.

A failed cancel is not a cancelled order, and it is not a failed order#

On 501, 409 and 503 alike, nothing is released and no status is written. We never infer an outcome from a cancel we could not complete. Your order keeps whatever status it had, and it is reconciled against the venue on its own schedule.
Always re-read GET /v1/orders/{id} instead of assuming. Assuming "cancelled" leaves you blind to a fill. Assuming "failed" and placing a replacement leaves you with two live orders.

Errors#

StatuscodeWhat it means
400ORDER_ALREADY_TERMINALThe order already finished, for example "order is already FILLED and cannot be canceled"
400VALIDATION_ERRORMissing Idempotency-Key, or a malformed id
404NOT_FOUNDUnknown order, or one that is not yours
501CANCEL_NOT_SUPPORTEDThis market runs on the internal matching engine, which has no cancel endpoint. The order stays open and may still fill. Do not poll expecting a cancellation
409CANCEL_REJECTED_BY_VENUEThe exchange answered and refused. It is already gone, already filled, or not cancellable there. details.venueCode carries the exchange's own code, or null if it gave none. Retrying will fail identically
503VENUE_UNAVAILABLEWe could not get a usable answer from the exchange at all. Whether the cancel landed is genuinely unknown. Retryable after a short back-off

Request

Path Params

Header Params

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --globoff --request DELETE 'https://api.minglobal.io/v1/orders/{{order_id}}' \
--header 'X-MG-API-KEY: {{api_key}}' \
--header 'X-MG-TIMESTAMP: <set automatically at send time>' \
--header 'X-MG-RECV-WINDOW: {{recv_window}}' \
--header 'X-MG-SIGNATURE: <set automatically at send time>' \
--header 'Origin: {{origin}}' \
--header 'Idempotency-Key: <set automatically at send time>'

Responses

🟢200
application/json
Bodyapplication/json

Example
{
  "id": "clw8n2k4x0003abcdefghij",
  "userId": "clw8n1a2b0000abcdefghij",
  "clientOrderId": "prod_8n1a2b0000ab_9f3c2a",
  "venueOrderId": "1234567890",
  "symbol": "BTC-USDT",
  "marketType": "SPOT",
  "side": "BUY",
  "orderType": "LIMIT",
  "timeInForce": "GTC",
  "price": "60000",
  "quantity": "0.001",
  "filledQty": "0",
  "avgPrice": null,
  "reservedAmount": "60",
  "reservedAsset": "USDT",
  "reservedConsumed": "0",
  "status": "CANCELED",
  "reduceOnly": false,
  "submittedAt": "2026-08-18T09:20:43.100Z",
  "terminalAt": "2026-08-18T09:31:12.000Z",
  "createdAt": "2026-08-18T09:20:43.000Z",
  "updatedAt": "2026-08-18T09:31:12.000Z"
}
🟠400
🔴501
🟠409
🔴503
Modified at 2026-09-02 09:50:41
Previous
Get One Spot Order
Next
12. Futures Trading API
Built with