---
title: "Update Conversation Agent Toggle"
method: PATCH
path: "/conversations/{conversation_id}/agent-toggle"
tags: ["conversations"]
---

# Update Conversation Agent Toggle

`PATCH /conversations/{conversation_id}/agent-toggle`

Toggle the SMS agent on or off for a specific conversation.

When disabled, the agent will still run in shadow mode (logs to
sms_agent_shadow_logs) but will not send SMS or execute tools.

The updated state is broadcast via Supabase Realtime, allowing
both dashboard and mobile clients to sync in real-time.

## Path parameters

- `conversation_id` string, uuid, required

## Request body

- UpdateConversationAgentToggleRequest — Request model for updating the per-conversation SMS agent toggle.
  - `enabled` boolean, required
  - `updated_by` string, required — Source of the toggle action: 'dashboard' or 'mobile'
  - `user_name` string, nullable — Display name of the user performing the toggle, for activity log attribution
  - `disable_reason` string, nullable — Free-text reason captured when a technician disables AI Reply. Stored on the agent_toggle timeline event metadata as feedback.

## Response `200`

Successful Response

- ConversationAgentSettingsResponse — Response model for per-conversation SMS agent toggle state.
  - `conversation_id` string, uuid, required
  - `enabled` boolean, required
  - `status_message` string, nullable
  - `updated_at` string, date-time, nullable
  - `updated_by` string, nullable

## Other responses

- `404` — Not found
- `422` — Validation Error

---

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