fields) of the start form. This is a complete replacement — the array sent becomes the entire content of the form.id. Omitting the id of an existing field makes the API interpret it as a new field: instead of updating the intended field, it creates a ghost duplicate (inactive, with no position), while the original field remains untouched and outdated.default_name, default_document, default_value) need to remain present among the fields sent; omitting any of them returns a 422 error.slug field must not be sent — it is derived automatically from name; sending it returns a 400 error.curl --location --request PUT '/v1/flows//start-form//fields' \
--header 'Content-Type: application/json' \
--data '{
"fields": [
{
"id": "string",
"name": "string",
"type": "shortText",
"index": 0,
"active": true,
"editable": true,
"required": true,
"help": "string",
"category": "default",
"sectionMetadata": {
"sectionId": "string",
"sectionTitle": "string",
"sectionIndex": 0
},
"options": [
"string"
]
}
]
}'{
"fields": [
{
"id": "string",
"name": "string",
"type": "string",
"index": 0,
"active": true,
"editable": true,
"required": true,
"help": "string",
"category": "string",
"slug": "string",
"uiComponent": "string",
"sectionMetadata": {},
"options": [
"string"
]
}
]
}