This article presents possible use cases and corresponding sample flows that you can support. It provides a useful starting point as you plan your implementation.
Creating a form on a site that has already reached its forms limit is rejected. Checking the limit first keeps the site owner out of a failed write and lets you show them an upgrade prompt instead.
To add a form within the site's limits:
restrictions.formsLimit and totalFormCount.totalFormCount with restrictions.formsLimit.limit. A limit of null means the plan sets no limit on the number of forms, and a totalFormCount of 0 means the count couldn't be retrieved, so treat it as unknown rather than as an empty site.Each limit carries a warnThreshold, the count at which to tell the site owner that the limit is close. Reaching the threshold doesn't block anything, so the site owner can keep working while the warning is on screen.
To warn a site owner before they run out of forms:
restrictions.formsLimit and totalFormCount.totalFormCount with restrictions.formsLimit.warnThreshold. warnThreshold is null when limit is null, and is never greater than limit.totalFormCount and restrictions.formsLimit.limit once the threshold is reached. For some limits warnThreshold equals limit, so the notice can coincide with the limit itself.features is an allowlist: any feature absent from it is unavailable on the site's current plan, and a form that uses it is rejected. Reading the list before you render a form editor lets you present the plan's capabilities accurately.
To offer only the allowed premium features:
restrictions.restrictions.features, such as a file upload field for FILE_UPLOAD_FIELD, a signature field for SIGNATURE_FIELD, or payment collection for ACCEPT_PAYMENTS.restrictions.fieldsLimit, restrictions.stepsLimit, restrictions.rulesLimit, and restrictions.emailsLimit.A downgrade can leave existing forms over a limit. Such a form is disabled rather than deleted: it stops accepting submissions, but it and its submissions stay readable, and it accepts submissions again once the site is back within its limits.
To bring a site's forms back within its limits:
restrictions.restrictions.fieldsLimit, restrictions.stepsLimit, restrictions.rulesLimit, and restrictions.features.Last updated: 3 September 2026