Skip to content

Forms

Publish a form

POST/v1/forms/{formId}/publish

Publish 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

  • formIdstringrequired

    The form's id.

Body

JSON, with Content-Type: application/json.

  • productAnalyticsobject
    Show 1 field
    • clientIdstringrequired

      max 80 chars

Response

  • formIdstringrequired

    The form's id.

  • versionintegerrequired

    The new version's number.

    -9007199254740991–9007199254740991

  • publishedAtnumberrequired

    When it was published, in milliseconds since the epoch.

  • warningsarray of objectrequired

    Problems 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 issues in the same shape, with severity "error".

    Show 3 fields
    • pathstringrequired

      Where in the draft the problem is, such as steps.2.blocks.0.

    • messagestringrequired

      The problem, in plain words.

    • severity"warning"required

Errors answer with a status and the error shape.