---
title: Cancel a pre-approval
description: Stop charging a customer under a pre-approval. Needs the collect permission.
api: DELETE /preapprovals/{reference}
---

Cancels an `approved` pre-approval at the provider. Charges under it are rejected from then on, and you get `preapproval.cancelled`.

- **`reference`** · path · `string` · required

  The pre-approval's `external_reference`.

## Response

The [pre-approval](/docs/api/create-preapproval#the-pre-approval-object), now `cancelled`.

```json 200
{
  "success": true,
  "message": "pre-approval cancelled",
  "data": {
    "external_reference": "gym-membership-sipho",
    "provider_id": "momo",
    "provider_ref": "11377cbe-374c-43f6-a019-4fb70e57b617",
    "payer_phone": "26876123456",
    "currency": "SZL",
    "message": "Monthly gym membership Ref 11377CBE",
    "validity_seconds": 31536000,
    "status": "cancelled",
    "metadata": {},
    "created_at": 1760774400,
    "updated_at": 1763452800
  }
}
```

```json 400
{ "success": false, "message": "only approved pre-approvals can be cancelled; this one is pending", "data": null }
```
