Update IVR Menu Option Label

Beta

Re-label one option in the stored menu_tree, matched on the supplied DTMF value. The label is shown when reviewing the menu and is read back to the agent at navigate time to surface the option semantically. Unknown DTMF values are a no-op (the response echoes the unchanged menu).

Authentication

AuthorizationBearer

Enter your API key with the Bearer prefix, e.g. ‘Bearer sk_…’.

Path parameters

ivr_menu_idstringRequired
IVR menu ID.

Headers

Speechify-VersionstringOptional

Request

This endpoint expects an object.
dtmfstringRequired

DTMF value of the option to relabel (e.g. “1”, ”*”, ”#”).

labelstringRequired<=256 characters

New label. Capped at 256 chars server-side.

Response headers

X-Request-IDstring
Unique identifier for this request, present on every response (2xx and non-2xx alike). If the caller sends an `X-Request-ID` request header the server echoes it back (sanitized and length-capped) so one logical request can be traced end-to-end; otherwise the server generates a fresh value. Log it on every response and quote it in support requests - it is the stable handle that ties your observation to Speechify's server-side logs, and it matches the `request_id` field in the error envelope.

Response

The refreshed menu shape.
idstringformat: "^menu_[0-9a-hjkmnp-tv-z]{26}$"

Prefixed wire identifier (menu_<26 char Crockford base32>). URL paths accept only this prefixed form; legacy UUID path parameters are rejected with 404.

fingerprint_idstringformat: "^fp_[0-9a-hjkmnp-tv-z]{26}$"
schema_versioninteger
menu_treeobject

Validated menu_tree per contracts/agents/ivr_menu.schema.json. Opaque to consumers other than the worker.

confidence_scorefloat
succeeded_traversalsinteger
total_traversalsinteger
last_validated_atdatetime
created_atdatetime
updated_atdatetime
invalidated_atdatetime or null

Errors

400
Bad Request Error
401
Unauthorized Error
404
Not Found Error