Skip to the documentation
API

Change a form’s design

A designer applies written instructions to the draft of a form and leaves the rest alone, as Ask AI does in the form builder of the app.

POST/forms/{id}/redesign

Runs the real call on your workspace.

POST /forms/{id}/redesign

A designer applies written instructions to the draft of a form and leaves the rest alone, as Ask AI does in the form builder of the app.

Example

Needs forms:write. instructions says what to change, up to 4,000 characters: add, remove or reorder fields, rewrite or translate the copy, change colours or fonts.

curl
curl -X POST "$OE/forms/frm_3b9d2e7a1c4f80d56e2a9b14/redesign" -H "$AUTH" -H 'content-type: application/json' -d '{  "instructions": "Add a required company field after the name, and make the button say Join.",  "expectedUpdatedAt": "2026-09-30T09:12:44.000Z"}'
Response
{  "object": "form",  "id": "frm_3b9d2e7a1c4f80d56e2a9b14",  "name": "Newsletter sign-up",  "status": "live",  "hasUnpublishedChanges": true,  "design": {    "notes": ["Added a required company field after the name.", "Changed the button to say Join."]  }}

The change is saved to the draft, so a live form keeps showing its published version until POST /forms/{id}/publish.

Send the updatedAt you read as expectedUpdatedAt, and a save made in between is refused with 409 version_conflict. A save made while the designer works is refused the same way, and nothing is written.

It spends one AI action and can take up to half a minute, and fails the same ways as designing a form.

Reference