---
title: "Init Form Session"
method: POST
path: "/forms/init"
tags: ["Form Widget"]
---

# Init Form Session

`POST /forms/init`

Initialize a new form session and get the first question.

## Request body

- FormInitRequest
  - `firm_id` string, required — Customer/firm identifier
  - `origin_url` string, nullable — Page URL where form was started
  - `visitor_id` string, nullable — Persistent visitor identifier from localStorage
  - `is_test` boolean — Whether this is a test session
  - `visitor_language` string, nullable — Visitor's browser language tag (e.g., 'es-419'); resolved against the supported-language registry

## Response `200`

Successful Response

- FormInitResponse
  - `session_id` string, uuid, required
  - `session_token` string, required
  - `first_question` FormQuestionData
    - `question_text` string, required
    - `answer_format` string, required
    - `options` string[], nullable
  - `widget_config` FormWidgetConfigResponse, required
    - `accent_color` string, required
    - `form_title` string, required
    - `enabled` boolean
    - `completion_message` string, required
    - `default_language` string, nullable
    - `language_selector_enabled` boolean
    - `language_selector_options` string[], nullable
  - `language_code` string
  - `language_selector_required` boolean

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/openintake/apis/fastapi.md) · [All operations](https://skmtc.dev/openintake/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openintake/fastapi/revisions/4a81645b59f6/schema)
