Forms
Publish a form
/v1/forms/{formId}/publishPublish the current draft as a new version, live wherever the form is embedded. If the draft has errors, it answers 422 publish_check_failed and nothing is published. Fix them yourself, or have AI fix them with POST /v1/forms/{formId}/fix. A suspended workspace gets 402 workspace_suspended. That happens when its trial ended unpaid or its subscription lapsed (see GET /v1/workspaces/{workspaceId}/billing). Once the owner picks a plan, its published forms come back on their own. See Paid checks and AI builds and fixes.
Path parameters
formIdstringrequiredThe form's id.
Body
JSON, with Content-Type: application/json.
productAnalyticsobjectShow 1 fieldHide 1 field
clientIdstringrequiredmax 80 chars
Response
formIdstringrequiredThe form's id.
versionintegerrequiredThe new version's number.
-9007199254740991–9007199254740991
publishedAtnumberrequiredWhen it was published, in milliseconds since the epoch.
warningsarray of objectrequiredProblems that don't block publishing, such as a step nobody sees, an ending nobody reaches, or a goto to something deleted, which the live form skips. Errors do block publishing. They include duplicate ids, a missing URL, a rule that checks a question asked later, and a loop that never reaches an ending. Errors come back in the 422's
issuesin the same shape, with severity"error".Show 3 fieldsHide 3 fields
pathstringrequiredWhere in the draft the problem is, such as
steps.2.blocks.0.messagestringrequiredThe problem, in plain words.
severity"warning"required
Errors answer with a status and the error shape.