Docs
Trading

Cancel a pending order

Request

Synthetic example for the production API. Replace YOUR_API_KEY and the ids. Do not send it against a live account until you mean to.

curl -X POST "https://api.fxapis.com/v1/orders/ACCOUNT_ID/cancel" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Idempotency-Key: 3f0c9a52-8a8e-4f7e-9b0e-6c1d2f5a7b10"
POST
/v1/orders/{id}/cancel

Removes a pending order that has not triggered. If it already has, the broker refuses with 10035 — at that point there is a position, not an order, and what you want is a close.

Authorization

apiKey
AuthorizationBearer <token>

Authorization: Bearer fx_live_<id>_<secret>.

A key is shown once, at creation. We cannot show it again or recover it for you. Keys carry a label (live or test) in the key itself, so each configuration is easy to tell apart. Both reach real brokers: test with a broker demo account.

Scopes are per key. A key without accounts:write can read accounts and nothing else.

In: header

Path Parameters

id*string
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.fxapis.com/v1/orders/497f6eca-6276-4993-bfeb-53cbbbba6f08/cancel"
{  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",    "clientOrderId": null,    "symbol": "string",    "instrument": "XAUUSD",    "side": "buy",    "type": "market",    "intent": "open",    "brokerPositionId": null,    "volume": null,    "stopLoss": null,    "takeProfit": null,    "state": "accepted",    "stateDetail": null,    "needsReconciliation": true,    "retcode": null,    "retcodeText": null,    "brokerOrderId": null,    "brokerDealId": null,    "filledVolume": null,    "filledPrice": null,    "sentAt": null,    "settledAt": null,    "reconciledAt": null,    "createdAt": "2019-08-24T14:15:22Z"  }}