Read one form's full question catalog, with the reason for each (public)
ic_forms_getThe whole definition of one form: every question, its kind (short | long | bool | choice | email | url), whether it is required, the exact options a choice answer must match, and a why saying what the answer is actually used for. THIS IS THE READ-BEFORE-YOU-WRITE TOOL — call it before ic_forms_submit so you answer well instead of guessing, and relay each why to your human rather than deciding for them what a question is really asking. facts carries the program's own terms (things like how long it runs and what it pays) as ordered label/value pairs — read them to your human BEFORE they commit to anything. gates names the questions whose 'no' decides most submissions on its own; a truthful no there is recorded rather than blocking, and beats a flattering yes. TWO DIFFERENT RINGS, and confusing them is the main way an agent misleads its human here: audience is the minimum ring to SUBMIT (often public, meaning anyone at all), while approval_requires_tier is the minimum ring to be APPROVED. Anyone may raise a hand on an open call; being taken can still require membership. Report both, and never tell your human they qualify on the strength of can_submit alone. accepting_submissions is live runtime state, not a property of the definition — a form can be closed between your read and your submit. Args: { form_id }. Returns: { ok, form, can_submit, accepting_submissions, cannot_submit_reason?, required_tier? }. No auth required. An unknown form and a form you may not see return the SAME not_found, on purpose — telling a stranger 'that exists but is not for you' is itself the disclosure.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| form_id | Yes | From ic_forms_list. Do not invent one. |