Update Route

Beta

Update a route (merge-patch); a changed method or resolver is re-validated. Dark launch: requires the hosted_apis_access entitlement (402 hosted_apis_not_in_plan otherwise).

Authentication

AuthorizationBearer

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

Path parameters

api_idstringRequired

Hosted API id (prefixed external id, api_...).

route_idstringRequired

Route id (prefixed external id, route_...).

Headers

Speechify-VersionstringOptional

Request

This endpoint expects an object.
methodenumOptional
pathstringOptional
namestringOptional
descriptionstringOptional<=1000 characters
resolverobjectOptional

What answers a route. type selects the fields that apply: store_query (store_id, collection, where, order_by, limit), store_document (store_id, collection, document_id), run_latest (trigger_id of a schedule trigger), run (trigger_id of a webhook trigger, wait_seconds).

response_schemamap from strings to any or nullOptional
cache_ttl_secondsintegerOptional0-3600
enabledbooleanOptional

Response headers

Speechify-Request-IdstringOptional
Unique identifier for this request, present on every response (2xx and non-2xx alike). If the caller sends a `Speechify-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. The legacy alias `X-Request-ID` carries the same value and is still accepted on requests, until 2027-07-24. Prefer the un-prefixed name (RFC 6648).

Response

OK
idstringformat: "^route_[0-9a-hjkmnp-tv-z]{26}$"
api_idstringformat: "^api_[0-9a-hjkmnp-tv-z]{26}$"
methodenum
pathstring
namestring
descriptionstring
resolverobject

What answers a route. type selects the fields that apply: store_query (store_id, collection, where, order_by, limit), store_document (store_id, collection, document_id), run_latest (trigger_id of a schedule trigger), run (trigger_id of a webhook trigger, wait_seconds).

cache_ttl_secondsinteger0-3600

Cache-Control max-age on GET responses; 0 disables caching.

enabledboolean
created_atdatetime
updated_atdatetime
response_schemamap from strings to anyOptional
Optional JSON Schema of the response body, rendered into the OpenAPI document.

Errors

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
404
Not Found Error
409
Conflict Error