Skip to main content
PUT
Alpha This endpoint is in alpha: the request shape may still change without a deprecation cycle. Replaces every question of one routing form and returns the routing form in the shape that Get a Routing Form returns.

The write covers the whole list

inputs holds the complete question list. This endpoint is not an append and not a patch.
  • An entry that carries an id updates that stored question in place.
  • An entry without an id creates a question.
  • A stored question that the body leaves out is deleted.
Read the questions first and send them back with your changes. Send the whole list every time.
When a question is deleted, every route that read it drops the matching condition. A rule that ends up with no condition is cleared, which sends every submission to the fallback. Check the routes after you remove a question.
inputs must be present. A body without it answers 422, so a mistyped key never deletes every question. Array position sets the question order. The first entry carries order 0. The order that the read endpoint returns is ignored on write.

Question types

type takes TEXT_INPUT, TEXTAREA, SELECT, RADIO_INPUT, EMAIL, PHONE_NUMBER, NUMBER_INPUT or CRM_ATTRIBUTE. A SELECT or a RADIO_INPUT question needs 1 to 20 options. Every other type ignores the field. A CRM_ATTRIBUTE question needs crmAttribute, which names the CRM object and the attribute that the answer writes to. Two questions of one routing form must not map onto the same attribute of the same object. Get a CRM Object shows which attribute slugs a question maps onto.
The id is a UUID. A malformed id answers 404, not 422. A routing form outside your workspace answers 404 as well.

Authorizations

Authorization
string
header
required

Path Parameters

id
string<uuid>
required

UUID of the routing form.

Body

application/json

The body that replaces every question of a routing form.

inputs
object[]
required

The complete question list. Array position sets the question order, so the first entry carries order 0.

Response

OK

success
boolean
Example:

true

status
integer
Example:

200

routingForm
object

A routing form with its questions and its routes, as returned when you fetch one routing form.

Last modified on September 9, 2026