Widgets

Update saved form

Changed on

Update a saved form's name, audience targeting, copy, visual theme, or content blocks. Every field is optional - send only what should change.

The headline, description, buttonText, and successMessage fields edit the matching content block and fail with 400 when the form has no such block; replace blocks for structural changes. The blocks array fully replaces the form's content blocks and must keep exactly one required email field and one submit button. An empty redirectUrl switches the form back to its confirmation message.

Blocks render in array order and each needs a unique id and a kind. Input blocks use kind: "form-field" with fieldType (text, email, phone, number, textarea, select, radio, checkbox, consent, hidden), name (the custom attribute key), label, placeholder, required, defaultValue, showLabel, width (full or half), mapsTo (email, firstName, lastName, phone, customAttribute; defaults to customAttribute), and options for choice fields ([{ value, label, id }], where label and id default to value). A hidden field with a defaultValue stores that server-owned value and ignores submitted values; a hidden field without one stores the value the page submits. Validation errors name the offending property, for example blocks[3].options[0].value.

patch/forms/{companyIdOrFormId}

Request

  • Base URL
    https://api.sequenzy.com/api/v1
  • URL
    https://api.sequenzy.com/api/v1/forms/{companyIdOrFormId}
  • Auth
    HTTP bearer

Path parameters

companyIdOrFormIdstring required

The saved form ID to update

Request body

namestring
listIdsstring[]
tagIdsstring[]

Replacement tag IDs. An empty array clears tags.

duplicateStrategy'skip' | 'merge' | 'overwrite'
resubscribeBehavior'reactivate' | 'double_opt_in'

What happens when a contact who unsubscribed from all email submits this form again. reactivate resubscribes them and restores the form's lists. double_opt_in sends the workspace confirmation email first and resubscribes them when they confirm. Turning it on requires a double opt-in confirmation email and a sender profile, otherwise the request returns 400; if either is removed later, returning unsubscribed contacts stay unsubscribed. Workspace double opt-in always requires confirmation. duplicateStrategy never changes subscription status.

botProtectionboolean

Run a Cloudflare Turnstile bot check before each signup. The hosted JavaScript embed runs it, invisibly for most visitors. Signups that fail it, or come from the plain HTML form snippet, which cannot run it, must confirm by email before they are subscribed. Turning it on requires a double opt-in confirmation email and a sender profile, otherwise the request returns 400. If either is removed later, those signups get a 400 asking them to try again. Omit to keep the current setting.

headlinestring
descriptionstring
buttonTextstring
successMessagestring
redirectUrlstring

HTTP or HTTPS success redirect. An empty string switches back to the confirmation message.

themeobject

Visual theme overrides merged into the current theme (accentColor, backgroundColor, textColor, mutedTextColor, cardColor, borderColor as "#rrggbb", borderRadius 0-32, headingFontFamily, bodyFontFamily, density).

blocksobject[]

Full replacement for the form's content blocks.

Response

Form updated

successboolean
messagestring

Example response

{
  "success": true
}

Changes

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      the response's property default value changed from {"duplicateStrategy":"skip","listMode":"all","listIds":[],"tagIds":[],"afterSubmission":"message","redirectUrl":""} to {"duplicateStrategy":"skip","resubscribeBehavior":"reactivate","listMode":"all","listIds":[],"tagIds":[],"afterSubmission":"message","redirectUrl":""} for the status

    • info

      added the required property /////// to the response with the status

    • info

      added the required property /////// to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status