---
updatedAt: 2026-05-29T16:44:17.000Z
---

Fetch the complete documentation index at: https://developers.pismo.io/pismo-docs/llms.txt. Use this file to discover all available pages before exploring further.

# Cancel forced operation

Cancel forced operation. Only works with forced operations and with the total amount.

This endpoint generates an [Authorization cancelled](https://developers.pismo.io/events/docs/authorization-authorization-cancellation-event-1) event with authorization > type "FORCE".

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Core platform - Payment methods",
    "version": "1.0.0",
    "description": "API to handle payments.",
    "contact": {
      "name": "API Support",
      "url": "https://developers.pismo.io/support/"
    },
    "license": {
      "name": "Copyright Pismo"
    }
  },
  "servers": [
    {
      "url": "https://sandbox.pismolabs.io",
      "description": "Sandbox API server for testing"
    },
    {
      "url": "https://gw-pci.pismolabs.io",
      "description": "Sandbox PCI API server for testing"
    }
  ],
  "tags": [
    {
      "name": "Force operations",
      "description": "APIs to manage force operations."
    }
  ],
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Account access token. Tokens can expire quickly, which can result in an \"Unauthorized\" error.",
        "bearerFormat": "JWT"
      }
    },
    "schemas": {
      "AcceptedResponse": {
        "properties": {
          "error_code": {
            "type": "string",
            "description": "Error code",
            "example": "EP2P0010",
            "deprecated": true
          },
          "code": {
            "type": "string",
            "description": "Error code",
            "example": "EP2P0010"
          },
          "message": {
            "type": "string",
            "description": "Message that the request is processing and will finish asynchronously.",
            "example": "Request is processing and will finish asynchronously"
          }
        },
        "title": "AcceptedResponse",
        "description": "Object indicating request could not finish synchronously but will be completed later"
      },
      "ErrorModel": {
        "description": "API generic returned error.",
        "type": "object",
        "properties": {
          "error_code": {
            "type": "string",
            "description": "Error code.",
            "deprecated": true
          },
          "code": {
            "type": "string",
            "description": "Error code."
          },
          "message": {
            "type": "string",
            "description": "Error description."
          }
        },
        "title": "ErrorModel"
      },
      "ForceCancelRequest": {
        "title": "ForceCancelRequest",
        "type": "object",
        "description": "Request object for `POST v1/payments/force/cancel`.",
        "properties": {
          "authorization_id": {
            "type": "integer",
            "format": "int64",
            "example": 15301234,
            "minimum": 1
          },
          "tracking_id": {
            "type": "string",
            "minLength": 36,
            "maxLength": 50,
            "example": "1ff51e99-3a05-448a-bc19-7b5c05274174",
            "description": "Unique tracking ID of the cancellation. If you don't provide one, the Pismo platform generates it randomly.",
            "pattern": "^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$"
          },
          "amount": {
            "description": "Optional full or partial amount to cancel, which cannot be more than the original transaction amount. Maximum of two decimal places.",
            "type": "number",
            "format": "float"
          },
          "original_tracking_id": {
            "type": "string",
            "minLength": 36,
            "maxLength": 50,
            "description": "Either this field or `authorization_id` is **REQUIRED**. Unique tracking ID of the original operation to be canceled. Returned from the force request (`v1/payments/force`) as `tracking_id`.",
            "example": "0d240226-d03e-47eb-ab3f-6d57c7d5feeb",
            "pattern": "^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$"
          },
          "cancel_fees": {
            "type": "boolean",
            "description": "Indicates whether to cancel associated fees when canceling a forced operation. Default value is `false`.\n- If set to `true`, when the cancel forced operation is performed, the associated fees on the original forced operation are cancelled also.\n- If set to `false`, when the cancel forced operation is performed, the associated fees on the original forced operation are not cancelled.\n",
            "example": false
          },
          "descriptor": {
            "type": "string",
            "description": "Optional text that describes the created authorization. The platform supports only letters and numbers in this field and removes any special characters or emojis.",
            "example": "Single credit adjustment"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          }
        }
      },
      "ForceCancelResponse": {
        "title": "ForceCancelResponse",
        "description": "Successful response object from `v1/payments/force/cancel` (Force cancellation operation).",
        "required": [
          "tracking_id",
          "event_date",
          "authorization_id"
        ],
        "type": "object",
        "properties": {
          "authorization_id": {
            "description": "Generated cancellation authorization ID",
            "type": "integer",
            "format": "int64",
            "example": 15301234
          },
          "event_date": {
            "description": "Date and time of the cancellation authorization, in the UTC-0 (RFC3339) format.",
            "type": "string",
            "format": "date-time",
            "example": "2020-01-02T15:14:00.218Z"
          },
          "tracking_id": {
            "description": "Unique 36-character identifier for the forced cancellation operation. If you didn't provide an identifier, then the Pismo platform automatically generates and includes one in the response.",
            "type": "string",
            "example": "82766158-514c-42f0-87e2-1bb3250c6dee"
          }
        }
      },
      "CancelForceTrackingIdAlreadyInUseResponse": {
        "properties": {
          "authorization_id": {
            "description": "Authorization ID of the previously generated cancellation operation.",
            "type": "integer",
            "format": "int64",
            "example": 15301234
          },
          "event_date": {
            "description": "Date and time of the previous cancellation authorization, in the UTC-0 (RFC3339) format.",
            "type": "string",
            "format": "date-time",
            "example": "2020-01-02T15:14:00.218Z"
          },
          "tracking_id": {
            "description": "Unique identifier for the previous cancellation authorization.",
            "type": "string",
            "example": "82766158-514c-42f0-87e2-1bb3250c6dee"
          }
        },
        "title": "CancelForceTrackingIdAlreadyInUseResponse",
        "description": "Tracking ID has already in use error object."
      },
      "Metadata": {
        "type": "object",
        "description": "This optional user-defined key-value object field can be used with external operations to provide additional context or supplementary custom information for the operation. \n\nThe Pismo platform does not perform any validation or processing on this field but passes this object to the acquirer in transactions involving calls to the acquirer and sends it in the events related to the stream of data produced at the end of the request.\n\n**Note**: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to [Get started with Pismo APIs](https://developers.pismo.io/pismo-docs/reference/get-started-with-pismo-apis#metadata).\n",
        "example": {
          "any-key": "any-value"
        }
      }
    }
  },
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "paths": {
    "/payments/v1/payments/force/cancel": {
      "post": {
        "operationId": "post-payments-v1-force-cancel",
        "summary": "Cancel forced operation",
        "description": "Cancel forced operation. Only works with forced operations and with the total amount.\n\nThis endpoint generates an [Authorization cancelled](https://developers.pismo.io/events/docs/authorization-authorization-cancellation-event-1) event with authorization > type \"FORCE\".",
        "tags": [
          "Force operations"
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "header",
            "name": "x-skip-timeline",
            "description": "If set to `true`, this will prevent the generation of timeline events in the customer timeline.",
            "schema": {
              "type": "string",
              "example": "true"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ForceCancelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForceCancelResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                },
                "examples": {
                  "Invalid payload": {
                    "value": {
                      "error_code": "WP2P0000",
                      "code": "WP2P0000",
                      "message": "Invalid payload"
                    }
                  },
                  "Authorization is not Force": {
                    "value": {
                      "error_code": "WP2P0022",
                      "code": "WP2P0022",
                      "message": "Only allowed to cancel force authorizations"
                    }
                  },
                  "Orgs operation not found": {
                    "value": {
                      "error_code": "WP2P0003",
                      "code": "WP2P0003",
                      "message": "No Orgs Operation Found"
                    }
                  },
                  "The amount cannot be negative or zero": {
                    "value": {
                      "error_code": "WP2P1005",
                      "code": "WP2P1005",
                      "message": "The amount cannot be negative or zero."
                    }
                  },
                  "Amount should be less than or equal to the amount of the original transaction, and greater than 0": {
                    "value": {
                      "error_code": "EP2P0005",
                      "code": "EP2P0005",
                      "message": "Amount should be less than or equal to the amount of the original transaction, and greater than 0."
                    }
                  },
                  "Partial cancellation with the associated fees was already made": {
                    "value": {
                      "error_code": "EP2P0014",
                      "code": "EP2P0014",
                      "message": "Partial cancellation with the associated fees was already made."
                    }
                  },
                  "Limit of two decimal places": {
                    "value": {
                      "error_code": "WP2P0000",
                      "code": "WP2P0000",
                      "message": "The amount must have a maximum of two decimal places."
                    }
                  },
                  "Exceed amount limit": {
                    "value": {
                      "error_code": "WP2P0000",
                      "code": "WP2P0000",
                      "message": "A maximum of 20 digits, including two decimals, is allowed for the amount field."
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                },
                "examples": {
                  "Authorization not found": {
                    "value": {
                      "error_code": "WP2P0008",
                      "code": "WP2P0008",
                      "message": "Authorization not found"
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CancelForceTrackingIdAlreadyInUseResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                },
                "examples": {
                  "Database connection error": {
                    "value": {
                      "error_code": "WP2P0000"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
```