Skip to content

Save Form Route

PUT
/forms/{form_key}/route

Set where this form’s submissions go, and how its fields map.

SEND THE expected_* PRECONDITIONS. They are optimistic-concurrency guards, not settings: without them the save is last-writer-wins and can silently overwrite a colleague’s route on a live form.

workflow_policy defaults to disabled. simulate records what WOULD have run without running it, which is the safe way to turn automation on for a form that is already receiving real submissions.

Authorizations

Parameters

Path Parameters

form_key
required

Form key.

string

Form key.

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

Save a form’s route: where its submissions land, and how they map.

extra="forbid" mirrors the app. An unknown key here is a typo in a caller’s mapping, and silently dropping it would send submissions to the right list with the wrong fields.

object
defaults

Values applied to every submission.

object
key
additional properties
any
expected_current_route_version
Any of:
integer
expected_route_history_version
Any of:
integer
expected_schema_version
Any of:
integer
>= 1
mapping

Form field -> graph8 field.

Array<object>
object
key
additional properties
any
schema_drift_approved

Save anyway when the schema HAS drifted. Deliberate override.

boolean
source_id
required
string
>= 1 characters <= 500 characters
target_list_id
required

Audience list submissions land in.

integer
>= 1
workflow_policy

Whether routed submissions trigger workflows. simulate records what WOULD have run without running it - the safe way to turn automation on for a live form. Defaults to disabled.

string
default: disabled
Allowed values: disabled simulate enabled

Responses

200

Successful Response

object
data
required

An open envelope for a form operational view.

overview, fields, placements, activity, a route save result and a submission trace each return a different shape assembled from several upstreams. Pinning any of them would drop a field the moment one is added, and on a delivery-diagnostics surface a missing field reads as a missing delivery.

object
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string