title and fields at the top level — the same forbidden keys (description, blocksMovement, slug, uiComponent, active, rules) continue to be rejected with a 400 error.id returned by a previous configuration query. Omitting the id of an existing field does not permanently remove it: the API marks that field as inactive (soft delete), preserving its history. Before building an update payload from a previous query, discard fields that are already inactive, so you do not resend already-removed fields.fields sent on this call should include the active key — even though the query returns that information for each field, resending it here is rejected with a 400 error.curl --location --request PUT '/v1/flows//phases//opinion-config' \
--header 'Content-Type: application/json' \
--data '{
"title": "string",
"fields": [
{
"id": "string",
"name": "string",
"type": "shortText",
"help": "string",
"index": 0,
"editable": true,
"options": [
"string"
]
}
]
}'{
"id": "string",
"title": "string",
"fields": [
{
"id": "string",
"name": "string",
"type": "string",
"active": true,
"index": 0,
"editable": true,
"help": "string",
"options": [
"string"
]
}
]
}