---
title: "Submit Human Input Form"
method: POST
path: "/form/human_input/{form_token}"
tags: ["Human Input"]
---

# Submit Human Input Form

`POST /form/human_input/{form_token}`

**Available for**: Chatflow, Workflow apps.

Submit the recipient's response to a paused Human Input form. The workflow resumes on acceptance; follow subsequent events via the Stream Workflow Events endpoint. Requires WebApp delivery.

## Path parameters

- `form_token` string, required

## Request body

- object
  - `inputs` object, required — Submitted values keyed by each input's `output_variable_name`. Paragraph and select inputs take a string; a `file` input takes one file mapping; a `file-list` input takes an array of file mappings. A file mapping is `{transfer_method: local_file, upload_file_id, type}` or `{transfer_method: remote_url, url, type}`, where `type` is one of the field's `allowed_file_types` (`image`, `document`, `audio`, `video`, `custom`). For `local_file`, `upload_file_id` is the `id` from [Upload File](/en/api-reference/files/upload-file). Use a consistent `user` across the run, upload, and submit.
  - `action` string, required — ID of the action button the recipient selected. Must match one of the `id` values from the form's `user_actions` list (returned by [Get Human Input Form](/en/api-reference/human-input/get-human-input-form)).
  - `user` string, required — Identifier for the end user, defined by your application's rules and unique within the app. Service API and WebApp user IDs are separate, even when identical.

## Response `200`

Form submitted successfully. The response body is an empty object.

- object

## Other responses

- `400` — - `bad_request` : Form recipient type is invalid. - `invalid_form_data` : Submission failed validation against the form definition.
- `404` — `not_found` : Form not found.
- `412` — - `human_input_form_submitted` : Form already submitted. Forms are one-shot; the first response wins regardless of which user submits it. - `human_input_form_expired` : The form's expiration time passed before submission arrived.

---

[API](https://skmtc.dev/langgenius/apis/dify-service-api.md) · [All operations](https://skmtc.dev/langgenius/apis/dify-service-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/langgenius/dify-service-api/revisions/61cc4ae17b90/schema)
