Cancel a transfer
Initiate a cancellation for a card, ACH, or queued transfer.
To access this endpoint using a token you'll need
to specify the /accounts/{accountID}/transfers.write scope.
POST
/accounts/{accountID}/transfers/{transferID}/cancellations
curl -X POST "https://api.moov.io/accounts/{accountID}/transfers/{transferID}/cancellations" \
-H "Authorization: Bearer {token}" \
-H "X-Idempotency-Key: UUID" \
-H "x-moov-version: v2024.01.00" \
mc, _ := moov.NewClient()
var accountID string // facilitator ID
var transferID string
mc.CancelTransfer(ctx, accountID, transferID)
import { SDK } from "openapi";
const sdk = new SDK({
xMoovVersion: "v2024.01.00",
});
async function run() {
const result = await sdk.transfers.createCancellation({
accountID: "10ae862c-6658-4f87-967d-46e995737204",
transferID: "36c80a6c-ceb2-4e5d-a437-8a39afdfdc58",
});
console.log(result);
}
run();declare(strict_types=1);
require 'vendor/autoload.php';
use OpenAPI\OpenAPI;
$sdk = OpenAPI\SDK::builder()
->setXMoovVersion('v2024.01.00')
->build();
$response = $sdk->transfers->createCancellation(
accountID: '10ae862c-6658-4f87-967d-46e995737204',
transferID: '36c80a6c-ceb2-4e5d-a437-8a39afdfdc58'
);
if ($response->cancellation !== null) {
// handle response
}from openapi import SDK
with SDK(
x_moov_version="v2024.01.00",
) as sdk:
res = sdk.transfers.create_cancellation(account_id="10ae862c-6658-4f87-967d-46e995737204", transfer_id="36c80a6c-ceb2-4e5d-a437-8a39afdfdc58")
# Handle response
print(res)package hello.world;
import java.lang.Exception;
import org.openapis.openapi.SDK;
import org.openapis.openapi.models.errors.GenericError;
import org.openapis.openapi.models.operations.CreateCancellationResponse;
public class Application {
public static void main(String[] args) throws GenericError, Exception {
SDK sdk = SDK.builder()
.xMoovVersion("v2024.01.00")
.build();
CreateCancellationResponse res = sdk.transfers().createCancellation()
.accountID("10ae862c-6658-4f87-967d-46e995737204")
.transferID("36c80a6c-ceb2-4e5d-a437-8a39afdfdc58")
.call();
if (res.cancellation().isPresent()) {
// handle response
}
}
}require 'openapi'
Models = ::OpenApiSDK::Models
s = ::OpenApiSDK::SDK.new(
x_moov_version: 'v2024.01.00',
)
res = s.transfers.create_cancellation(account_id: '10ae862c-6658-4f87-967d-46e995737204', transfer_id: '36c80a6c-ceb2-4e5d-a437-8a39afdfdc58')
unless res.cancellation.nil?
# handle response
endThe request completed successfully.
{
"cancellationID": "89ca7f54-13ba-4714-b9af-17163eae2057",
"createdOn": "2025-01-19T03:02:43.255309588Z",
"status": "completed"
}Response headers
x-request-id
string
required
A unique identifier used to trace requests.
Successfully initiated a cancellation but an error occurred while waiting for a synchronous response.
{
"cancellationID": "string",
"status": "pending",
"createdOn": "2019-08-24T14:15:22Z"
}Response headers
x-request-id
string
required
A unique identifier used to trace requests.
The server could not understand the request due to invalid syntax.
{
"error": "string"
}Response headers
x-request-id
string
required
A unique identifier used to trace requests.
The request contained missing or expired authentication.
Response headers
x-request-id
string
required
A unique identifier used to trace requests.
The user is not authorized to make the request.
Response headers
x-request-id
string
required
A unique identifier used to trace requests.
The requested resource was not found.
Response headers
x-request-id
string
required
A unique identifier used to trace requests.
Request was refused due to rate limiting.
Response headers
x-request-id
string
required
A unique identifier used to trace requests.
The request failed due to an unexpected error.
Response headers
x-request-id
string
required
A unique identifier used to trace requests.
The request failed because a downstream service failed to respond.
Response headers
x-request-id
string
required
A unique identifier used to trace requests.
Headers
X-Moov-Version
string
Specify an API version.
API versioning follows the format vYYYY.QQ.BB, where
YYYYis the yearQQis the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)BBis the build number, starting at.01, for subsequent builds in the same quarter.- For example,
v2024.01.00is the initial release of the first quarter of 2024.
- For example,
The dev version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
When no version is specified, the API defaults to v2024.01.00.
Path parameters
accountID
string
required
The partner's Moov account ID.
transferID
string
required
The transfer ID to cancel.
Response
cancellationID
string
required
createdOn
string<date-time>
required
status
string<enum>
required
Possible values:
pending,
completed,
failed