---
title: "Select Form Language"
method: POST
path: "/forms/{session_id}/select-language"
tags: ["Form Widget"]
---

# Select Form Language

`POST /forms/{session_id}/select-language`

## Request

- Base URL: `https://api.openintake.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openintake.ai/forms/{session_id}/select-language`
- Auth: none declared

Resolve a visitor-selected language and return the first question in that language.

Called by the form widget when the language selector is enabled. The widget
passes either a preset_code (from the configured buttons) or other_text
(free-form input); backend validates against the supported-language set,
falling back to a Haiku language-resolution call if local fuzzy matching fails.

## Path parameters

- `session_id` string, uuid, required

## Request body

- SelectLanguageRequest
  - `preset_code` string, nullable: ISO 639-1 / BCP-47 code from the preset options
  - `other_text` string, nullable: Free-form language name entered via 'Other'

## Response `200`

Successful Response

- SelectLanguageResponse
  - `language_code` string, required
  - `language_name_native` string, required
  - `first_question` FormQuestionData, required
    - `question_text` string, required
    - `answer_format` string, required
    - `options` string[], nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/openintake/apis/openintake-api.md) - [All operations](https://skmtc.dev/openintake/apis/openintake-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openintake/apis/openintake-api/revisions/de90a8dcbc07?raw)
