Submit a config flow step
integrations_submit_config_flow_stepSubmit user input for a Home Assistant config flow step to advance forms, validate credentials, or create a config entry.
Instructions
Submit user input for the current step of a config flow.
Calls POST /api/config/config_entries/flow/{flow_id} with
user_input. What this does depends entirely on the integration domain
driving the flow: it may just advance to the next form, or it may
validate credentials against the integration's own device/cloud service
and create or overwrite a real config entry that HA loads. HA does not
signal in advance which step is the last one, so any submitted step —
not only a visibly "final" one — can be the one that creates the entry.
Use when: providing the values a config-flow step asked for.
Not for: reading the current step without submitting anything — use
integrations_get_config_flow; cancelling a flow before it finishes —
use integrations_abort_config_flow.
Returns: the next step (form), a step with errors, or the finished
config entry. The returned step's last_step field is True only
when the integration explicitly declares this is the final step, and
None otherwise — most integrations leave it None even on their
actual last step, so None does not mean more steps remain.
Errors: raises httpx.HTTPStatusError if flow_id is unknown or
expired.
Limits: the integration handling this domain may reach an external
device or cloud service while validating user_input; a config entry
can be created without warning on any step.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| flow_id | Yes | Flow id from `integrations_start_config_flow` or `integrations_list_flows_in_progress`. | |
| user_input | Yes | Answers for the current step, matching the fields in the flow's `data_schema` (e.g. host, API key, chosen device). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||