---
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.

Submits the recipient's response to a paused Human Input form. On acceptance the workflow resumes; follow the resumed run via [Stream Workflow Events](/en/api-reference/workflow-runs/stream-workflow-events). Requires web app 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`. 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 — End-user identifier, defined by your app and unique within it. Service API and web app user IDs are separate, even when identical. See [End User Identity](/en/api-reference/guides/end-user-identity).

## 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.net/langgenius/apis/dify-service-api.md) · [All operations](https://skmtc.net/langgenius/apis/dify-service-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/langgenius/dify-service-api/revisions/e49b3db72bad/schema)
