---
title: "Delete User Event"
method: DELETE
path: "/user_events/{user_event_id}"
tags: ["user-events"]
---

# Delete User Event

`DELETE /user_events/{user_event_id}`

Soft-cancel a user event (status=cancelled).

The row stays in Postgres to preserve history — same shape as the
``cancel_event`` tool path. Idempotent on already-cancelled rows
(returns 404 because there's nothing active to cancel).

## Path parameters

- `user_event_id` string, required

## Query parameters

- `user_id` string, nullable

## Request body

- UserEventCancelRequest — Optional body for ``DELETE /user_events/{id}``.
  - `reason` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/imperfect/apis/imperfect-api.md) · [All operations](https://skmtc.dev/imperfect/apis/imperfect-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/imperfect/imperfect-api/revisions/cc2293a44257/schema)
