Skip to main content
PATCH
Update a form

Authorizations

Authorization
string
header
required

Organization-scoped bearer credential: a customer API key (1club_sk_live_...) or an MCP OAuth access token.

Path Parameters

id
integer
required

1club form id

Body

application/json

Fields accepted when updating a form. Send only what changes. slug and createsAccount are refused by name: both are fixed once the form exists.

name
string

Internal name, shown to staff in the admin portal.

Maximum string length: 200
title
string | null

Heading at the top of the form. Blank or null falls back to the wizard's own wording.

Maximum string length: 200
subtitle
string | null

Sub-heading under the title. Blank or null falls back to the wizard's own wording.

Maximum string length: 200
planStepTitle
string | null

Heading above the plan picker (sign-up forms). Blank or null falls back to the wizard's own wording.

Maximum string length: 200
classTypeStepTitle
string | null

Heading above the class-type picker (sign-up forms). Blank or null falls back to the wizard's own wording.

Maximum string length: 200
planIds
integer[]

Sign-up forms only. Plans the form sells, from GET /v1/platform/plans. Each must be active, publicly visible and not a season plan (FORM_PLAN_NOT_SELLABLE names each refused id and why). When any are set, the person must choose one to finish.

Maximum array length: 100
classTypeIds
integer[]

Sign-up forms only. Class types offered as an interest, from GET /v1/platform/class-types. Nothing is booked.

Maximum array length: 100
productIds
integer[]

Sign-up forms only. Products the form sells, from GET /v1/platform/products. Each must be active, publicly visible and sold as a product (FORM_PRODUCT_NOT_SELLABLE).

Maximum array length: 100
registrationFor
enum<string>

Who the form registers: the person filling it in, only their children, or both.

Available options:
individual,
child,
both
signatureMethod
enum<string>

How documents are signed: drawn, typed name, or a checkbox.

Available options:
draw,
type,
check
collectsDocuments
boolean

Whether the form asks for the organization's documents and a signature. Which documents is set by the organization's document rules.

requiresAuthentication
boolean

Fill-in forms only: the person must be signed in to fill it in. Refused on a sign-up form (FORM_AUTHENTICATION_FILL_IN_ONLY).

combineSelectionAndDetails
boolean

Put the "choose what to buy" step and the details step on one page. Needs a form that sells something (FORM_NOTHING_TO_COMBINE).

displayMode
enum<string>

How a link to the form opens: as its own page, or as a dialog over the page it was opened from.

Available options:
page,
dialog
videoUrl
string | null

A Cloudinary video URL from the media library, shown as a step before review. null removes the video step.

Maximum string length: 500
videoRequired
boolean

The person cannot continue until the video has played to the end. Needs a video (FORM_VIDEO_REQUIRED_WITHOUT_VIDEO).

videoTitle
string | null

Heading above the video. Blank or null falls back to the wizard's own wording.

Maximum string length: 200
fieldOverrides
object | null

Fill-in forms only (FORM_FIELD_OVERRIDES_FILL_IN_ONLY; an empty object is accepted and ignored on a sign-up form, which asks the organization's own sign-up fields instead). Which built-in contact fields the form asks: required asks it, hidden does not. A fill-in form cannot ask one optionally. address asks the whole postal address. On update the map is merged: the fields you send change and the rest stay as they are, so send hidden to stop asking one. null clears every override.

translations
object | null

Per-locale wording, as { "es": { "title": "..." } }. Replaces the whole map. Translatable fields: title, subtitle, planStepTitle, classTypeStepTitle, videoTitle; any other key is refused (INVALID_TRANSLATIONS).

Response

The updated form

A form: a page people fill in, live at publicUrl.

id
integer
slug
string

The last part of publicUrl. Fixed once the form exists.

createsAccount
boolean

true for a sign-up form (registers the person, can sell); false for a fill-in form (collects answers). Fixed once the form exists.

publicUrl
string | null

Where the form is filled in, on the organization's own website or member portal. It is live: anyone with the link can use it. null when the organization has neither switched on, so nothing can open the form until one is.

name
string

Internal name, shown to staff in the admin portal.

Maximum string length: 200
title
string | null

Heading at the top of the form. Blank or null falls back to the wizard's own wording.

Maximum string length: 200
subtitle
string | null

Sub-heading under the title. Blank or null falls back to the wizard's own wording.

Maximum string length: 200
planStepTitle
string | null

Heading above the plan picker (sign-up forms). Blank or null falls back to the wizard's own wording.

Maximum string length: 200
classTypeStepTitle
string | null

Heading above the class-type picker (sign-up forms). Blank or null falls back to the wizard's own wording.

Maximum string length: 200
planIds
integer[]

Sign-up forms only. Plans the form sells, from GET /v1/platform/plans. Each must be active, publicly visible and not a season plan (FORM_PLAN_NOT_SELLABLE names each refused id and why). When any are set, the person must choose one to finish.

Maximum array length: 100
classTypeIds
integer[]

Sign-up forms only. Class types offered as an interest, from GET /v1/platform/class-types. Nothing is booked.

Maximum array length: 100
productIds
integer[]

Sign-up forms only. Products the form sells, from GET /v1/platform/products. Each must be active, publicly visible and sold as a product (FORM_PRODUCT_NOT_SELLABLE).

Maximum array length: 100
registrationFor
enum<string>

Who the form registers: the person filling it in, only their children, or both.

Available options:
individual,
child,
both
signatureMethod
enum<string>

How documents are signed: drawn, typed name, or a checkbox.

Available options:
draw,
type,
check
collectsDocuments
boolean

Whether the form asks for the organization's documents and a signature. Which documents is set by the organization's document rules.

requiresAuthentication
boolean

Fill-in forms only: the person must be signed in to fill it in. Refused on a sign-up form (FORM_AUTHENTICATION_FILL_IN_ONLY).

combineSelectionAndDetails
boolean

Put the "choose what to buy" step and the details step on one page. Needs a form that sells something (FORM_NOTHING_TO_COMBINE).

displayMode
enum<string>

How a link to the form opens: as its own page, or as a dialog over the page it was opened from.

Available options:
page,
dialog
videoUrl
string | null

A Cloudinary video URL from the media library, shown as a step before review. null removes the video step.

Maximum string length: 500
videoRequired
boolean

The person cannot continue until the video has played to the end. Needs a video (FORM_VIDEO_REQUIRED_WITHOUT_VIDEO).

videoTitle
string | null

Heading above the video. Blank or null falls back to the wizard's own wording.

Maximum string length: 200
fieldOverrides
object | null

Fill-in forms only (FORM_FIELD_OVERRIDES_FILL_IN_ONLY; an empty object is accepted and ignored on a sign-up form, which asks the organization's own sign-up fields instead). Which built-in contact fields the form asks: required asks it, hidden does not. A fill-in form cannot ask one optionally. address asks the whole postal address. On update the map is merged: the fields you send change and the rest stay as they are, so send hidden to stop asking one. null clears every override.

translations
object | null

Per-locale wording, as { "es": { "title": "..." } }. Replaces the whole map. Translatable fields: title, subtitle, planStepTitle, classTypeStepTitle, videoTitle; any other key is refused (INVALID_TRANSLATIONS).

packageIds
integer[]

Read-only here: packages are added in the admin portal.

submissionCount
integer

How many people have completed it. The answers are not served by this API.

createdAt
string<date-time>
updatedAt
string<date-time>
questions
object[]

In order. On a single-form read and on every write; not in the list.