Cancel a Deal
Cancel a deal that has not yet been settled. Only deals in PROCESSING status can be cancelled. Upon successful cancellation, the deal status changes to CANCELLED, and a cancellation fee may be charged depending on the deal type. The response returns the updated deal details including the cancellation timestamp and any applicable fees.
Request Parameters
idstring
required
Deal ID to cancel. The deal must be in PROCESSING status and belong to the current account.
Response Parameters
resultResult
See Result.
idstring
Unique deal identifier assigned by WorldFirst.
requestIdstring
Idempotency ID supplied when the deal was created.
dealTypestring
Deal type, determined by the quote used.
Valid Values:
SPOT — Standard spot deal. Settles automatically.
UNFUNDED_SPOT — Unfunded spot deal. Requires explicit settlement.
FORWARD — Forward deal. Requires margin and settlement period.
quoteQuote
Quote information associated with this deal.
sellAmountAmount
Amount being sold in the deal. See Data Types for the Amount structure.
buyAmountAmount
Amount being bought in the deal. See Data Types for the Amount structure.
creditSupportCreditSupport
Margin and credit information. Returned only for FORWARD deals.
settlementPeriodSettlementPeriod
Settlement period information. Returned for UNFUNDED_SPOT and FORWARD deals.
unSettleBuyAmountAmount
Unsettled buy amount. Populated after cancellation for UNFUNDED_SPOT and FORWARD deals. See Data Types for the Amount structure.
unSettleSellAmountAmount
Unsettled sell amount. Populated after cancellation for UNFUNDED_SPOT and FORWARD deals. See Data Types for the Amount structure.
cancelFeeAmountAmount
Cancellation fee amount charged for cancelling the deal. Returned when status is CANCELLED. See Data Types for the Amount structure.
statusstring
Current deal status. After a successful cancellation, this value is CANCELLED. See DealStatus.
createdAtdatetime
Timestamp when the deal was created. ISO 8601 format.
cancelledAtdatetime
Timestamp when the deal was cancelled. ISO 8601 format.
Error Codes
Definition
POST /api/open/v1/fx/deals/cancelRequest
{
"id": "DEAL20260402001"
}Response
{
"result": {
"resultCode": "SUCCESS",
"resultMessage": "success",
"resultStatus": "S"
},
"id": "DEAL20260402001",
"requestId": "REQ20260402001",
"dealType": "UNFUNDED_SPOT",
"quote": {
"quoteId": "QT202604021208001",
"currencyPair": "GBP/EUR",
"clientRate": 1.162,
"effectiveAt": "2026-04-02T04:09:30Z",
"expiresAt": "2026-04-02T04:10:30Z"
},
"sellAmount": {
"currency": "GBP",
"value": 5000
},
"buyAmount": {
"currency": "EUR",
"value": 5810
},
"settlementPeriod": {
"endDate": "2026-04-04"
},
"unSettleSellAmount": {
"currency": "GBP",
"value": 5000
},
"unSettleBuyAmount": {
"currency": "EUR",
"value": 5810
},
"cancelFeeAmount": {
"currency": "GBP",
"value": 50
},
"status": "CANCELLED",
"createdAt": "2026-04-02T04:09:35Z",
"cancelledAt": "2026-04-02T04:20:00Z"
}