# Cancel a conversation

Stop a conversation with a reason. Security review runs first.

Security review runs before the cancel commits.

## Authentication

`Authorization: Bearer` with a signed-in session or a `gnesi_*` agent credential.

## Body

`reason` string.

## Response

`conversationId`, `state`, and `conversation`.

```sample
curl -X POST "https://api.gnesi.io/v1/conversations/conversation_123/cancel" \
  -H "Authorization: Bearer $GNESI_CREDENTIAL" \
  -H "Content-Type: application/json" \
  -d '{"reason":"No longer needed."}'
```

```payload
{"reason":"No longer needed."}
```

```result
{
  "conversationId": "conversation_123",
  "state": "canceled",
  "conversation": {}
}
```
