---
title: "Update Smartadvocate Case Status Rule"
method: PUT
path: "/smartadvocate/case-status-rules/{rule_id}"
tags: ["SmartAdvocate"]
---

# Update Smartadvocate Case Status Rule

`PUT /smartadvocate/case-status-rules/{rule_id}`

## Request

- Base URL: `https://api.openintake.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openintake.ai/smartadvocate/case-status-rules/{rule_id}`
- Auth: none declared

Update a case status routing rule. Omitted fields are unchanged.

## Path parameters

- `rule_id` string, uuid, required

## Request body

- SmartAdvocateCaseStatusRuleUpdateRequest: Update a case status routing rule. Omitted fields are unchanged. The status identity (sa_status_id / status_name / status_type_name) is immutable; delete and recreate to retarget a rule. Changing destination_kind requires supplying the matching target field.
  - `destination_kind` 'destination' | 'case_staff' | 'take_message', nullable
  - `transfer_destination_id` string, uuid, nullable
  - `staff_role` string, nullable
  - `spoken_status_phrase` string, nullable: Plain-English phrase the voice agent reads aloud verbatim when a caller asks where the case stands. Must be wording a caller can understand - never internal jargon, a stage code, a date or a dollar figure. Unlike the other fields, an empty string is an explicit clear back to no phrase
  - `records_email` string, nullable: Email address the voice agent gives a medical provider who wants to send records or bills for a case in this status, e.g. liens@firm.com. An empty string is an explicit clear back to no email
  - `active` boolean, nullable

## Response `200`

Successful Response

- SmartAdvocateCaseStatusRuleResponse: One per-customer case status -> transfer destination routing rule
  - `smartadvocate_case_status_rule_id` string, uuid, required
  - `sa_status_id` integer, required
  - `status_name` string, required
  - `status_type_name` string, nullable: None = primary case status rule; otherwise the second-status type this rule matches within
  - `destination_kind` 'destination' | 'case_staff' | 'take_message', required
  - `transfer_destination_id` string, uuid, nullable
  - `staff_role` string, nullable
  - `spoken_status_phrase` string, nullable: Plain-English phrase the voice agent reads aloud verbatim when a caller asks where the case stands, e.g. 'The case has settled and the team is preparing the closing statement'. Must be wording a caller can understand - never internal jargon, a stage code, a date or a dollar figure. None = the agent only says whether the case is active or closed
  - `records_email` string, nullable: Email address the voice agent gives a medical provider who wants to send records or bills for a case in this status, e.g. liens@firm.com. None = no email for this status
  - `active` boolean, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-14** `5d668a9fc9dd`: 2 info
  - added the new optional request property `records_email`
  - added the optional property `records_email` to the response with the `200` status
- **2026-09-20** `28867c1dbb52`: 1 warning, 3 info
  - added the new `take_message` enum value to the `destination_kind` response property for the response status `200`
  - added the new optional request property `spoken_status_phrase`
  - added the new `take_message` enum value to the request property `destination_kind/anyOf[subschema #1]/`
  - added the optional property `spoken_status_phrase` to the response with the `200` status

[Operation history](https://skmtc.dev/openintake/apis/openintake-api/changes/smartadvocate/case-status-rules/:rule_id/put.md)

---

[API](https://skmtc.dev/openintake/apis/openintake-api.md) - [All operations](https://skmtc.dev/openintake/apis/openintake-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openintake/apis/openintake-api/revisions/de90a8dcbc07?raw)
