Skip to main content
POST
Respond to a cancellation request
This API is in preview and subject to change.

Overview

Answers a cancellation request another bank sent you. One endpoint covers both outcomes: set responseCode to ACCEPTED to return the funds, or REJECTED to decline. It is the only way to respond to a SWIFT cancellation request. The v1 endpoints Accept cancellation request and Reject cancellation request return 405 ILLEGAL_TRANSACTION_METHOD for SWIFT, and remain available for SEPA Direct Debit.

Scheme coverage

An unsupported schema returns 409 UNSUPPORTED_CANCELLATION_SCHEMA.
Inbound SWIFT cancellation is released per tenant. Until it is enabled for yours, a SWIFT cancellation request returns 403 FEATURE_DISABLED. Contact your integration manager to be switched on.

What to send in responseDetails

Which fields you must supply depends on the response code and the schema. A fee must be smaller than the transaction amount, and fees are not accepted for schemas that do not support them.

Rejecting with ARDT

ARDT says the payment was already returned, and CBPR+ requires the returned payment’s UETR in additionalInformation - it refuses the camt.029 without one. The platform supplies it. Send the reason on its own:
Reject with ARDT
The UETR used is the cancelled payment’s, which is the identifier the whole payment chain travels under, the return included. Sending additionalInformation yourself with ARDT is rejected with 400 VALIDATION_ERROR rather than overridden, so you are never left believing you set a value that was replaced. The same error means the payment carries no UETR to send. Every other SWIFT reason code takes additionalInformation as optional free text.

Errors

A 4xx response means the cancellation request is unchanged.

Tracking the outcome

Accepting sends a pacs.004 return; rejecting sends a camt.029. Either way, follow the cancellation webhook for the resulting status changes.

Path Parameters

id
integer<int64>
required

Cancellation request ID.

Body

application/json
responseCode
enum<string> | null
required

Response code indicating acceptance or rejection of the cancellation request

Available options:
ACCEPTED,
REJECTED
responseDetails
object
required

Response details; which fields are required depends on the response code and the payment schema

Response

Cancellation request response processed

direction
enum<string>
required

Cancellation request transaction direction.

Available options:
OUTBOUND,
INBOUND
id
integer<int64>
required

Cancellation request ID.

reason
enum<string>
required

Cancellation request reason.

Available options:
DUPL,
CUST,
FRAD,
TECH,
AC03,
AM09,
AGNT,
COVR,
CURR,
CUTA,
DS24,
FRNA,
FRTR,
INDM,
SYAD,
UPAY,
NARR,
AC01,
AC04,
AC06,
AC13,
AG01,
AG02,
AM01,
AM04,
AM05,
CNOR,
DNOR,
MD01,
MD02,
MD07,
MS02,
MS03,
RC01,
RR01,
RR02,
RR03,
RR04,
SL01,
BE05,
FF01,
DT01,
ED05,
PY01
sepaMessageId
string
required

Cancellation request sepa message ID.

status
enum<string>
required

Cancellation request status.

Available options:
CANCELLATION_CREATED,
CANCELLATION_IN_PROGRESS,
CANCELLATION_REFUSED,
PAYMENT_RETURNED,
PROCESSING_FAILED,
REFUSING,
RETURNING,
CANCELLATION_COMPLETED,
CANCELLATION_REJECTED,
CANCELLATION_ACCEPTED
additionalComment
string | null

Cancellation request additional comment.

createdAt
string<date-time> | null

Cancellation request creation date time (ISO-8601 format).

externalTransactionReferenceId
integer<int64> | null

ID of the external transaction reference from cancellation request, if present.

rejectionAdditionalReason
string | null

Cancellation request rejection additional reason.

rejectionReason
string | null

Cancellation request rejection reason.

rejectionSepaMessageId
string | null

Cancellation request rejection SEPA message ID.

returnTransactionId
integer<int64> | null

Cancellation request return transaction ID.

sepaCancellationId
string | null

Cancellation request original ID (cxlId).

transactionId
integer<int64> | null

Cancellation request transaction ID.

Last modified on August 28, 2026