---
updatedAt: 2026-09-29T10:43:35.000Z
agentTools:
  projectIndex: https://docs.sumsub.com/llms.txt
---

# Cancel Travel Rule transaction

# Overview

Use this method to cancel a Travel Rule transaction before the on-chain transfer is initiated.

Cancelling a transaction indicates that it will no longer proceed, and the counterparty should not expect the digital assets to arrive. If the transaction was initiated through an underlying protocol such as [GTR](https://docs.sumsub.com/sumsub/docs/gtr-protocol), [CODE](https://docs.sumsub.com/sumsub/docs/code-protocol), or [SYGNA](https://docs.sumsub.com/sumsub/docs/sygna-bridge-protocol), the cancellation is also propagated to that protocol.

## Required permissions

To use this method, your [app token](https://docs.sumsub.com/sumsub/docs/app-tokens) must have the **Manage TM transactions - Decisions** [permission](https://docs.sumsub.com/sumsub/docs/user-roles#permissions).

# Request example

```curl
curl -X POST \
     'https://api.sumsub.com/resources/api/tr/66cd891eefa135789ce00000/cancel' \
     -H 'Content-Type: application/json' \
     -H 'X-App-Token: <your-app-token>' \
     -H 'X-App-Access-Sig: <your-signature>' \
     -H 'X-App-Access-Ts: <unix-timestamp>' \
```

# Response explained

The response is a JSON object containing the following fields:

| Field     | Type   | Description                                                                                                     |
| :-------- | :----- | :-------------------------------------------------------------------------------------------------------------- |
| `status`  | String | Indicates the outcome of the cancellation request. See [possible status values](#possible-status-values) below. |
| `message` | String | Human-readable explanation of the outcome.                                                                      |

## Possible `status` values

| Value                | Description                                                                                     |
| :------------------- | :---------------------------------------------------------------------------------------------- |
| `done`               | The transaction was successfully cancelled.                                                     |
| `unknown`            | Cancellation failed due to an unexpected issue.                                                 |
| `alreadyFinal`       | The transaction is already in a final Travel Rule state and can no longer be cancelled.         |
| `invalidTransaction` | The transaction cannot be cancelled (for example, because it is not a Travel Rule transaction). |
| `alreadyCancelled`   | The transaction has already been cancelled.                                                     |

# Response examples

If the request is successfully sent and processed, you will get a response like one of the following:

```json Successfully cancelled
{
    "status": "done",
    "message": "Travel rule transaction was cancelled via SNS."
}
```
```json Already cancelled
{
    "status": "alreadyCancelled",
    "message": "Travel Rule transaction was already cancelled"
}
```
```json Cannot be cancelled
{
    "status": "invalidTransaction",
    "message": "Not a Travel Rule transaction"
}
```

If the request fails, you will receive an HTTP response containing an error code along with a message explaining the error. For example:

```json
{
  "code": 400,
  "correlationId": "0f587e62a96ce6b64809021d96abfa34",
  "description": "Invalid id 'sftxhdfgnx'"
}
```

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "sumsub-api",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.sumsub.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "name": "X-App-Token",
        "in": "header",
        "x-default": ""
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/resources/api/tr/{id}/cancel": {
      "post": {
        "description": "",
        "responses": {
          "200": {
            "description": ""
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Unique transaction identifier in the Sumsub system. <br><br>This ID is returned in the [response](https://docs.sumsub.com/reference/get-transaction#root-variables) to this request and a webhook (`kytTxnId`). Save it for future use in subsequent API calls. Alternatively, you can get this identifier by the [following method](https://docs.sumsub.com/sumsub/reference/get-transaction-information-by-txnid)."
          }
        ],
        "operationId": "post_resources-api-tr-id-cancel",
        "summary": "Cancel Travel Rule transaction"
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```