> ## Documentation Index
> Fetch the complete documentation index at: https://docs.theguarantors.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Canceling an Application

> Cancel an application that won't be moving forward, at any point before a bond is issued for it.

If an applicant will no longer be moving forward, for example because they withdrew or the unit is no longer available, you can cancel their application as long as a bond has not been issued for it.

**Endpoint:** [`POST /v1/applications/:id/cancel`](https://docs.theguarantors.com/application-api/applications/cancel-an-application)

**Purpose:** Cancels the application and sends an `application.status.canceled` webhook to your subscribed endpoint. See [Webhooks](https://docs.theguarantors.com/webhooks.md).

**Path Parameter:** `id` (string, required) is the unique identifier for the application.

**Request Body (optional):** `reason` (string) is the reason for canceling, up to 1,000 characters.

**Example Request**

```
POST /v1/applications/sd_xyz789/cancel
Authorization: Basic <your-api-key>
Content-Type: application/json

{
  "reason": "Applicant withdrew"
}
```

**Example Response**

```json theme={null}
{
  "id": "sd_xyz789",
  "status": "canceled",
  "invite_id": "inv_abc123",
  "property_id": "prop_ve2x7i0j6psdizy7",
  "bond_id": null,
  "obligee": "Acme Property Management LLC",
  "lease": {...},
  "applicants": [...],
  "metadata": {},
  "object": "application"
}
```

An application can be canceled from any status other than `bound`. Once a bond has been issued, the request is rejected with a 409 and the application is left unchanged. Canceling an application that is already canceled returns 200 with the application as-is.

| Status | When |
| - | - |
| `200` | The application was canceled, or was already canceled |
| `400` | `reason` is longer than 1,000 characters, or the body includes a field other than `reason` |
| `401` | The API key is missing or invalid |
| `404` | The application does not exist or is not accessible with your API key |
| `409` | A bond has been issued for the application (`application cannot be canceled once it is bound`) |

In the sandbox, cancel an application with this endpoint to test the `application.status.canceled` webhook, since it can't be sent through the trigger endpoint. See [Sandbox Guide](https://docs.theguarantors.com/sandbox.md#triggering-events-in-sandbox).
