---
title: "Cancel Public Charge"
method: POST
path: "/api/v1/payments/charges/{charge_id}/cancel"
tags: ["payments-api"]
---

# Cancel Public Charge

`POST /api/v1/payments/charges/{charge_id}/cancel`

## Request

- Base URL: `https://www.elocuenti.com`
- URL: `https://www.elocuenti.com/api/v1/payments/charges/{charge_id}/cancel`
- Auth: HTTP bearer

## Path parameters

- `charge_id` string, required

## Request body

- CancelBody
  - `reason` string, nullable: Why, for your records.

## Response `200`

Successful Response

- ChargeCancellationResponse
  - `data` ChargeCancellation, required
    - `id` string, required
    - `status` string, nullable, required
    - `cancelled` boolean, required: False when it was no longer open (e.g. already paid).
    - `cancel_requested` boolean: True for a Nequi push the payer can still approve: Nequi cannot withdraw it, so the charge stays pending until it is approved (paid) or expires (failed).
  - `request_id` string, nullable

## Other responses

- `400`: Petición malformada: una validación que el JSON Schema no puede expresar (reglas entre campos, headers de firma obligatorios ausentes) o un cuerpo que no es UTF-8. Un JSON roto en UTF-8 responde, en cambio, **422** `json_invalid`.
- `401`: No autenticado: falta la credencial, es inválida o expiró.
- `403`: Autenticado, pero sin permiso sobre este recurso o tenant.
- `404`: El recurso referenciado no existe (o no es visible para este tenant).
- `422`: Validation Error
- `429`: Se superó el límite de peticiones del API key o de la IP.
- `500`: Error interno no recuperable por el cliente.

---

[API](https://skmtc.dev/elocuenti/apis/elocuenti-api.md) · [All operations](https://skmtc.dev/elocuenti/apis/elocuenti-api/llms.txt) · [OpenAPI document](https://skmtc.dev/elocuenti/apis/elocuenti-api/revisions/633c2767ac8a?raw)
