---
title: "Cancelar Preauthorization"
method: POST
path: "/{country_code}/preauth/cancel"
tags: ["Transactions"]
---

# Cancelar Preauthorization

`POST /{country_code}/preauth/cancel`

## Request

- Base URL: `https://api.trytoku.com`
- URL: `https://api.trytoku.com/{country_code}/preauth/cancel`
- Auth: API key in header `x-api-key`

Cancela una autorización diferida que todavía no fue capturada.

Se usa para liberar el monto retenido cuando el cobro no se va a completar: el cuerpo indica la Transaction con la autorización (`transaction_reference`) y, opcionalmente, el motivo del aborto. Las rutas `/cl`, `/mx` y `/br` son equivalentes: el país con que se contacta al medio de pago lo determina la Organization autenticada, no el prefijo de la ruta.

La cancelación se pide al medio de pago y, si este la acepta, la Transaction queda abortada. La respuesta usa `200` en ambos casos: `success` en `true` cuando el medio de pago canceló, y en `false` con el mensaje del medio de pago en `detail` cuando la rechazó.

Responde `404` cuando la Transaction no existe, y `400` cuando la Transaction no está en estado `CAPTURE_PENDING`.

**Límite de tasa:** 20 solicitudes por segundo. Al superarlo, la API responde `429`. Ver [Límites de tasa](/reference/limites-de-tasa).

## Path parameters

- `country_code` 'cl' | 'mx' | 'br', required

## Headers

- `x-account-key` string

## Request body

- CancelPreauthRequest: Cancelación de una autorización diferida no capturada.
  - `abort_reason` string: Motivo con que queda registrado el aborto de la Transaction.
  - `idempotency_key` string: Llave con que se deduplican los reintentos de la cancelación; si se omite, se genera una.
  - `transaction_reference` string, required: Identificador público de la Transaction que tiene la autorización a cancelar.

## Response `200`

Resultado que devolvió el medio de pago para la cancelación.

- AcknowledgeResponse: Confirmación sin datos adicionales de que la operación se ejecutó.
  - `detail` string: Mensaje complementario de la operación; `null` cuando no hay mensaje.
  - `success` boolean, required: Indica si la operación se completó.

## Other responses

- `400`: La Transaction no está en estado `CAPTURE_PENDING`, o el monto a capturar supera el autorizado.
- `401`: Faltan las credenciales o son inválidas.
- `403`: No tienes acceso a este recurso.
- `404`: La Transaction no existe.
- `422`: El cuerpo de la petición no pasó la validación.
- `429`: Se superó el límite de peticiones permitidas.

## Changes

- **2026-11-03** `a6ef070075b1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/trytoku/apis/toku-api/changes/:country_code/preauth/cancel/post.md)

---

[API](https://skmtc.dev/trytoku/apis/toku-api.md) - [All operations](https://skmtc.dev/trytoku/apis/toku-api/llms.txt) - [OpenAPI document](https://skmtc.dev/trytoku/apis/toku-api/revisions/a6ef070075b1?raw)
