Update a form

Updates an existing form. This is a partial update — only the properties
present in the request body are changed; omitted properties keep their current value.

fields

Providing fields replaces the form's entire field set (same resolution rules as
POST /newsletter/{newsletterId}/form: email is auto-prepended for subscribe/order
forms, at least one field is required for update forms). Omit fields entirely to leave
the current fields untouched. To add or remove individual fields without replacing the
whole set, use POST .../fields / DELETE .../field/{fieldName} instead.

Order-form fields

shippingMethodIds, orderType, and products are a group for order forms
(method: "order"): if you provide one of them, provide all three — together they
replace the form's shipping methods, order type, and product list entirely.

Order bumps on update

Products can be order bumps (checkbox upsell, orderBump / bumpStyle — see
POST /newsletter/{newsletterId}/form). Order bumps that already exist on the form
(for example ones set up in the SalesAutopilot admin) are kept: a product you list
without orderBump keeps its current bump state and style. Send orderBump: false to turn
a bump into a regular product, and bumpStyle to replace the style (the whole style is
replaced, omitted properties are cleared). Sending defaultChecked: true for a product that
is (or stays) an order bump is rejected. Changing orderType to 1 (fixed product) turns the
existing bumps into regular products, since order bumps are not available with that type.
GET responses show orderBump and bumpStyle for every product.

method

The form's method (subscribe / update / order) cannot be changed after
creation. Sending a method value that differs from the form's current method
returns a validation error.

Limitations

  • Only forms belonging to the authenticated account are accessible.
  • Only non-archived forms can be updated.
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
integer
required

Form ID within the list

Body Params

Partial update — every property is optional. Omitted properties keep their current
value. method cannot be changed and is rejected with a validation error if it differs
from the form's current method.

string

New form name (displayed in the admin interface)

string
enum

Must match the form's current method if provided — included only to make an
accidental method change fail loudly rather than silently.

Allowed:
string

New heading text displayed at the top of the rendered form.

string

New introductory text shown below the form title.

string

New full HTML content for the thank-you page.

string
enum

What the thank-you page (shown after a successful submission or payment) is. If omitted, the current thank-you page setting is kept.

  • HTML: the page HTML stored on the form (thanksText, or thanksTextUrl to load the HTML source of a page).
  • URL: visitors are forwarded to thanksPageUrl. Use this when the customer gives their own thank-you page address.
  • FORM: visitors are forwarded to the form thanksPageTargetId.
  • LANDING_PAGE: visitors are forwarded to the landing page thanksPageTargetId.
    Without thanksPageType only thanksText / thanksTextUrl may be sent.
Allowed:
string
length ≤ 255

Absolute http(s) URL visitors are forwarded to (required for thanksPageType: URL, not allowed otherwise).
Merge tags in the URL are replaced and URL-encoded, so data can be passed to the page as parameters,
e.g. https://example.com/thanks?email=[email] or, on order forms, ?trnum=[mssys_trnum].

integer
≥ 1

ID of the form (thanksPageType: FORM) or landing page (thanksPageType: LANDING_PAGE) visitors are forwarded to.
It must belong to the authenticated account. A form cannot be its own thank-you page.

string

https URL whose HTML source is loaded into the form as the thank-you page HTML (nothing is forwarded; the page source is copied).
Mutually exclusive with thanksText. Transaction data does not appear on a copied page unless its source contains merge tags.

string

New free-text description of the form (visible in the admin interface).

integer

New form template ID to apply during HTML regeneration.

string

New label text on the submit button.

string

Replaces the form's custom HTML/CSS/JS code. <style> blocks and
<link rel="stylesheet"> tags are automatically moved into the generated page's
<head>; everything else (typically <script> blocks) is placed in the page footer.
Pass an empty string ("") to remove the existing custom code.

integer
enum
  • 0 — subscriber added immediately
  • 2 — double opt-in confirmation e-mail sent first
Allowed:
fields
array of objects

Replaces the form's entire field set. Omit this property entirely to leave the
current fields untouched — an empty array is treated the same as providing fields
(see the field resolution rules on POST /newsletter/{newsletterId}/form).

⚠️ Every radio/horizontalradio/select/textmulti field you include — even one that's
already on the form and unrelated to whatever you're actually changing — must include
its options array, or the request is rejected. See CreateFormFieldItem for why this
trips people up (GET .../fields doesn't return options) and how to source it.

fields
shippingMethodIds
array of integers

Replaces the order form's shipping methods. Must be provided together with
orderType and products. Only applicable to forms with method: "order".

shippingMethodIds
integer
enum

Replaces the order form's order type. Must be provided together with
shippingMethodIds and products.

Allowed:
products
array of objects

Replaces the order form's entire product list. Must be provided together with
shippingMethodIds and orderType.

products
Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json