---
{
  "id": "platform.form.overview",
  "topic": "form",
  "title": "Form data collection overview",
  "locale": "en",
  "version": "2026-08-25",
  "summary": "Forms collect registrations, surveys, feedback, and intake responses through a public share link while keeping the editable draft separate from the published snapshot.",
  "content": "Form is Arinova’s structured data-collection product for registrations, surveys, feedback, questionnaires, and intake. A published Form collects responses through its public share link. Its central model has two surfaces: Actions edit the draft working copy, while the public link always serves the snapshot from the most recent successful `publish_form`. After a published Form is edited, `hasUnpublishedChanges: true` means the public Form is still on the older snapshot and must be published again before respondents see the changes.\n\nCanonical entry points are `validate_schema`, which checks fields without creating a temporary Form; `create_form`, which creates initial fields in one call; `update_form`, which atomically updates metadata and appends fields; `get_form`, which returns fields, `responseCount`, and draft/publish state; and `list_forms`, which lists Forms granted to the Agent. Authorization uses `form_agent_permissions`, not an owner-id shortcut. An Agent-created Form grants write access only to its creator; user-created Forms require an explicit Agent grant. A missing grant produces `permission_denied`.\n\nThe 24 registry Actions are grouped as follows: validation (`validate_schema`); CRUD (`list_forms`, `get_form`, `create_form`, `update_form`); fields (`add_field`, `update_field`, `archive_field`); publication (`publish_form`, `close_form`, `reopen_form`, `regenerate_share_token`); responses (`list_responses`, `export_responses`, `delete_response`); blank output (`export_blank_pdf`); lifecycle (`archive_form`, `unarchive_form`, `delete_form`); and private history (`list_versions`, `get_version`, `create_named_version`, `restore_version`, `copy_version`). `publish_form`, `delete_response`, `regenerate_share_token`, `delete_form`, and `restore_version` require UserConfirm; cards never bypass that policy. Use `arinova.action.get_schema` for current arguments, and treat registry policy, action results, persisted status, and typed runtime errors as authoritative.\n",
  "aliases": [
    "form",
    "survey",
    "questionnaire",
    "registration",
    "signup form",
    "feedback form",
    "intake form",
    "public response link"
  ],
  "tags": [
    "form",
    "overview",
    "grants",
    "draft",
    "published"
  ],
  "relatedActions": [
    "arinova.form.validate_schema",
    "arinova.form.create_form",
    "arinova.form.get_form",
    "arinova.form.list_forms",
    "arinova.form.publish_form",
    "arinova.form.list_responses",
    "arinova.form.reopen_form",
    "arinova.form.export_responses",
    "arinova.form.export_blank_pdf",
    "arinova.form.delete_response",
    "arinova.form.regenerate_share_token",
    "arinova.form.restore_version",
    "arinova.form.copy_version",
    "arinova.form.delete_form"
  ],
  "relatedActionPrefixes": [],
  "url": "https://docs.arinova.ai/en/kb/form/overview/"
}
---

Form is Arinova’s structured data-collection product for registrations, surveys, feedback, questionnaires, and intake. A published Form collects responses through its public share link. Its central model has two surfaces: Actions edit the draft working copy, while the public link always serves the snapshot from the most recent successful `publish_form`. After a published Form is edited, `hasUnpublishedChanges: true` means the public Form is still on the older snapshot and must be published again before respondents see the changes.

Canonical entry points are `validate_schema`, which checks fields without creating a temporary Form; `create_form`, which creates initial fields in one call; `update_form`, which atomically updates metadata and appends fields; `get_form`, which returns fields, `responseCount`, and draft/publish state; and `list_forms`, which lists Forms granted to the Agent. Authorization uses `form_agent_permissions`, not an owner-id shortcut. An Agent-created Form grants write access only to its creator; user-created Forms require an explicit Agent grant. A missing grant produces `permission_denied`.

The 24 registry Actions are grouped as follows: validation (`validate_schema`); CRUD (`list_forms`, `get_form`, `create_form`, `update_form`); fields (`add_field`, `update_field`, `archive_field`); publication (`publish_form`, `close_form`, `reopen_form`, `regenerate_share_token`); responses (`list_responses`, `export_responses`, `delete_response`); blank output (`export_blank_pdf`); lifecycle (`archive_form`, `unarchive_form`, `delete_form`); and private history (`list_versions`, `get_version`, `create_named_version`, `restore_version`, `copy_version`). `publish_form`, `delete_response`, `regenerate_share_token`, `delete_form`, and `restore_version` require UserConfirm; cards never bypass that policy. Use `arinova.action.get_schema` for current arguments, and treat registry policy, action results, persisted status, and typed runtime errors as authoritative.
