1. 12. Futures 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)
      • Place Spot Order (Market Sell)
      • List Your Spot Orders
      • Get One Spot Order
      • Cancel Spot Order
    • 12. Futures Trading API
      • Get Futures Margin Balance
        GET
      • Open Futures Position (Limit Long)
        POST
      • Close Futures Position (Reduce Only)
        POST
      • List Open Futures Orders
        GET
      • Get Futures Order History
        GET
      • Get One Futures Order
        GET
      • Cancel Futures Order
        DELETE
  1. 12. Futures Trading API

Close Futures Position (Reduce Only)

POST
https://api.minglobal.io/v1/futures/orders
How you close a position: send the opposite side on the same positionSide, with reduceOnly: true.
This example closes the LONG opened above. The position side stays LONG because that is the position being closed. The side flips to SELL because selling is what closes a long.
Closing a position is not the same as cancelling an order.
Cancel (DELETE /v1/futures/orders/{id}) removes an order that has not filled yet.
Close (this request) opens an opposing order that flattens a position you already hold.
Cancelling a filled order does nothing. You still hold the position.
reduceOnly: true is the safety catch. It guarantees the order can only shrink an existing position, never open a new one or flip you into the opposite direction if you get the quantity wrong. Always use it when closing.
A reduceOnly order fully covered by an existing position can reserve "0" margin, which is correct and not a bug.
Permission: FUTURES_TRADE

Request

Header Params

Body Params application/json

Example
{
  "symbol": "BTC-USDT",
  "positionSide": "LONG",
  "side": "SELL",
  "orderType": "MARKET",
  "quantity": "0.01",
  "leverage": 10,
  "marginMode": "ISOLATED",
  "reduceOnly": true
}

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 'https://api.minglobal.io/v1/futures/orders' \
--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>' \
--header 'Content-Type: application/json' \
--data '{
  "symbol": "BTC-USDT",
  "positionSide": "LONG",
  "side": "SELL",
  "orderType": "MARKET",
  "quantity": "0.01",
  "leverage": 10,
  "marginMode": "ISOLATED",
  "reduceOnly": true
}'

Responses

🟢201
application/json
Bodyapplication/json

Example
{
  "id": "clw8n2k4x0011abcdefghij",
  "userId": "clw8n1a2b0000abcdefghij",
  "clientOrderId": "prod_8n1a2b0000ab_4c7e91a2",
  "venueOrderId": "9876543210",
  "symbol": "BTC-USDT",
  "positionSide": "LONG",
  "side": "SELL",
  "orderType": "MARKET",
  "timeInForce": null,
  "price": null,
  "quantity": "0.01",
  "filledQty": "0.01",
  "avgPrice": "60110.20",
  "leverage": 10,
  "marginMode": "ISOLATED",
  "reservedAmount": "0",
  "reservedAsset": "USDT",
  "status": "FILLED",
  "reduceOnly": true,
  "submittedAt": "2026-08-18T09:20:43.100Z",
  "terminalAt": "2026-08-18T10:02:00.000Z",
  "createdAt": "2026-08-18T09:20:43.000Z",
  "updatedAt": "2026-08-18T09:20:43.100Z"
}
Modified at 2026-09-02 09:50:41
Previous
Open Futures Position (Limit Long)
Next
List Open Futures Orders
Built with