Change sign-up form requirements
Use screen channel.signup-form to read and change what a selected channel asks members to provide. Get returns definitions and state; apply merges requested changes into one full-form save. This workflow does not register a publ account or read/edit member answers.
Read, plan and save
- Resolve the intended channel through authorized discovery or its bound hosted resource. Use a selected-channel OWNER credential or DELEGATEE credential with
MANAGE_CHANNEL_PUBLIC_SETTING; the separate CHANNEL_MANAGEMENT origin must be configured. - Read the form. Require
canApply:true; investigatemissingKeyswhen false. Pick keys from the returned definitions, preserving the returned revision. - Explain the intended collection changes, including the possible effect on existing members. A custom question being enabled needs a valid name; three essential fields cannot change.
- Plan with a stable request ID and
dryRun:true. For a new request inspectwriteNeeded, planned fields andwritesPerformed:false. - Submit the same business inputs with
dryRun:false. A new dry run creates no recoverable job. RequireSIGNUP_FORM_APPLIEDand inspectverification, then use get for a fresh observation when needed.
Read:
{"channelCode":"selected-channel-code"}
Plan two custom questions, making only the first mandatory:
{"requestId":"signup-questions-example-001","channelCode":"selected-channel-code","expectedRevision":"0000000000000000000000000000000000000000000000000000000000000000","changes":[{"key":"profile_add_info_custom_1","enabled":true,"required":true,"name":"Preferred workshop"},{"key":"profile_add_info_custom_2","enabled":true,"required":false,"name":"Additional interests"}],"dryRun":true}
The channel and zero revision are placeholders; replace them from get. These are illustrative inputs, not execution evidence. Only perform the real save within the user's requested scope.
Understand defaults and preservation
There are 47 displayed definitions: three locked essential fields, 39 fixed questions and five custom slots. An exactly empty server array receives initial screen defaults for the 44 editable fields: disabled, not required, custom names blank. Get labels those values empty-form-screen-default and writes nothing. A partially missing nonempty array is not repaired; missing values remain null and saving is blocked.
required:true enables; enabled:false clears required. Setting both disabled and required is invalid. required:false alone leaves collection enabled if it already was. Omitting a property preserves it. Only the five custom slots accept name; explicit names are trimmed and normally need 2–100 characters, while an inactive slot can be cleared with an empty string. Existing unchanged names are retained.
Apply sends all 44 editable fields after merging the requested changes. It does not send essential fields or member answers. Disabling or renaming a question does not delete answers or prove recollection. A successful full-form readback proves stored settings only; there is no atomic concurrency lock or automatic rollback.
Recover the original request
After a real request returns a task ID, inspect it with task_status:
{"taskId":"signup-questions-example-001","taskType":"signup-form"}
Use the same ID/type with task_resume only to continue the original authorized change. prepared may perform a remaining write after a fresh comparison. sent only reconciles the saved target; it does not repeat an uncertain PUT. done returns historical completion. Do not omit taskType, regenerate the request ID to bypass uncertainty, or assume status is a fresh get. The apply reference explains phase and error details.
Resolved successful calls provide one console destination at /channels/{encodedChannelCode}/publish/sign-up-form, with the same legacy consoleUrl alias. Existing-job dry runs and task status cannot infer a fresh target link from saved data. A URL is a navigation reference, not proof that the browser reached the API environment.
Field keys
Use get's returned keys and state before editing. Labels here are English summaries; the tool also preserves quoted original UI labels. These data types/formats describe questions, not member-answer mutation inputs.
| Key | Label | Category | Data type / format |
|---|---|---|---|
essential_info_email |
ESSENTIAL | email / normal | |
essential_info_nick_name |
Nickname | ESSENTIAL | string / normal |
essential_info_country |
Country | ESSENTIAL | enum / country |
profile_add_info_personal_name |
Name | PERSONAL | string / normal |
profile_add_info_personal_gender |
Gender | PERSONAL | enum / gender |
profile_add_info_personal_birth_year |
Birth year | PERSONAL | birth_date / YYYY |
profile_add_info_personal_birth_month |
Birth month | PERSONAL | birth_date / MM |
profile_add_info_personal_birth_day |
Birth day | PERSONAL | birth_date / DD |
profile_add_info_contact_address |
Home address | CONTACT | address / normal |
profile_add_info_contact_email |
Personal email address | CONTACT | email / normal |
profile_add_info_contact_mobile_number |
Mobile phone number | CONTACT | phone_number / normal |
profile_add_info_contact_phone_number |
Home phone number | CONTACT | phone_number / normal |
profile_add_info_shipping_name |
Recipient name | SHIPPING | string / normal |
profile_add_info_shipping_mobile_number |
Recipient phone number | SHIPPING | phone_number / normal |
profile_add_info_shipping_address |
Shipping address | SHIPPING | address / normal |
profile_add_info_workplace_company_name |
Workplace name | WORKPLACE | string / normal |
profile_add_info_workplace_department_name |
Department name | WORKPLACE | string / normal |
profile_add_info_workplace_name |
Name | WORKPLACE | string / normal |
profile_add_info_workplace_position |
Job title | WORKPLACE | string / normal |
profile_add_info_workplace_email |
Work email address | WORKPLACE | email / normal |
profile_add_info_workplace_phone_number |
Work phone number | WORKPLACE | phone_number / normal |
profile_add_info_workplace_address |
Work address | WORKPLACE | address / normal |
profile_add_info_biz_company_name |
Company name | BIZ | string / normal |
profile_add_info_biz_ceo_name |
Business representative name | BIZ | string / normal |
profile_add_info_biz_type |
Business type | BIZ | enum / biz_type |
profile_add_info_biz_registration_number |
Business registration number | BIZ | string / normal |
profile_add_info_biz_establishment |
Business opening date | BIZ | date / YYYY-MM-DD |
profile_add_info_biz_category |
Business category | BIZ | string / normal |
profile_add_info_biz_sector |
Business activity | BIZ | string / normal |
profile_add_info_biz_location |
Business location | BIZ | string / normal |
profile_add_info_biz_email |
Business email address | BIZ | email / normal |
profile_add_info_biz_contact_name |
Contact person name | BIZ | string / normal |
profile_add_info_biz_contact_mobile_number |
Contact person phone number | BIZ | phone_number / normal |
profile_add_info_biz_contact_email |
Contact person email address | BIZ | email / normal |
profile_add_info_etc_website |
Website or blog URL | ETC | url / normal |
profile_add_info_etc_education |
Education | ETC | enum / education |
profile_add_info_etc_interests |
Hobbies/interests | ETC | enum / interest |
profile_add_info_etc_marital |
Marital status | ETC | enum / marital |
profile_add_info_etc_children |
Number of children | ETC | string / normal |
profile_add_info_etc_sns |
Social media account | ETC | sns / sns |
profile_add_info_etc_referrer |
Referrer | ETC | string / normal |
profile_add_info_etc_referrer_code |
Referral code | ETC | string / normal |
profile_add_info_custom_1 |
Additional information 1 | CUSTOM | string / normal |
profile_add_info_custom_2 |
Additional information 2 | CUSTOM | string / normal |
profile_add_info_custom_3 |
Additional information 3 | CUSTOM | string / normal |
profile_add_info_custom_4 |
Additional information 4 | CUSTOM | string / normal |
profile_add_info_custom_5 |
Additional information 5 | CUSTOM | string / normal |
See common results for navigation and recovery conventions.
Saved record identity
Existing apply/dry-run calls and task status/resume require both the saved task ID
and saved input requestId to match the requested ID. A mismatching or malformed
saved identity returns TASK_STATE_UNVERIFIED before workflow context or business
reads. Preserve the original record for inspection; do not rename/edit it, try
its embedded ID or create a replacement request to bypass the error. No record
is repaired or resent. Matching records retain their existing recovery and
freshness checks; this rule does not convert them into universally read-only calls.