> ## Documentation index
> Fetch the complete documentation index at: https://dify-docs.docs7.io/llms.txt
> Ask it with GET https://dify-docs.docs7.io/ask?q=<keywords or question>. Short keywords rank best.
> Use these to discover all available pages before exploring further.

# Get Human Input Form

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

Returns the contents of a paused Human Input form. Requires web app delivery.

For the full sequence of Human Input calls, see [Human Input Flow](/en/api-reference/guides/human-input-flow).

`GET /form/human_input/{form_token}`

## OpenAPI

````yaml en/api-reference/openapi_service.json get /form/human_input/{form_token}
openapi: 3.0.1
info:
  description: REST API for Dify applications and knowledge bases. Application
    endpoints authenticate with an app API key; knowledge endpoints authenticate
    with a dataset API key.
  title: Dify Service API
  version: 1.0.0
servers:
  - description: Base URL of the Dify Service API. For self-hosted deployments,
      replace it with your own API base URL.
    url: https://{api_base_url}
    variables:
      api_base_url:
        default: api.dify.ai/v1
        description: Host and path of the API base URL, without the `https://` prefix.
security:
  - ApiKeyAuth: []
tags:
  - description: Operations related to chat messages and interactions.
    name: Chat Messages
  - description: File upload and preview operations.
    name: Files
  - description: Operations related to end user information.
    name: End Users
  - description: User feedback operations.
    name: Feedback
  - description: Operations related to managing conversations.
    name: Conversations
  - description: Text-to-Speech and Speech-to-Text operations.
    name: Audio
  - description: Operations to retrieve application settings and information.
    name: Applications
  - description: Operations related to managing annotations for direct replies.
    name: Annotations
  - description: Endpoints for resuming paused workflows that require human input.
    name: Human Input
  - description: Operations for executing and managing workflows.
    name: Workflow Runs
  - description: Operations related to text generation and completion.
    name: Completion Messages
  - description: Operations for managing knowledge bases, including creation,
      configuration, and retrieval.
    name: Knowledge Bases
  - description: Operations for creating, updating, and managing documents within a
      knowledge base.
    name: Documents
  - description: Operations for managing document chunks and child chunks.
    name: Chunks
  - description: Operations for managing knowledge base metadata fields and document
      metadata values.
    name: Metadata
  - description: Operations for managing knowledge base tags and tag bindings.
    name: Tags
  - description: Operations for retrieving available models.
    name: Models
  - description: Operations for managing and running knowledge pipelines, including
      datasource plugins and pipeline execution.
    name: Knowledge Pipeline
paths:
  /form/human_input/{form_token}:
    get:
      description: >-
        **Available for**: Chatflow, Workflow apps.


        Returns the contents of a paused Human Input form. Requires web app
        delivery.


        For the full sequence of Human Input calls, see [Human Input
        Flow](/en/api-reference/guides/human-input-flow).
      operationId: getChatflowHumanInputForm
      parameters:
        - description: Access token for the paused form, returned in the
            `human_input_required` event from the Run Workflow or Send Chat
            Message endpoint in streaming mode.
          in: path
          name: form_token
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              examples:
                success:
                  summary: Response Example
                  value:
                    expiration_time: 1745510400
                    form_content: Please review the draft, set a priority, and confirm or request
                      changes.
                    inputs:
                      - default:
                          selector: []
                          type: constant
                          value: ""
                        output_variable_name: feedback
                        type: paragraph
                      - option_source:
                          selector: []
                          type: constant
                          value:
                            - low
                            - medium
                            - high
                        output_variable_name: priority
                        type: select
                      - allowed_file_extensions: []
                        allowed_file_types:
                          - image
                          - document
                        allowed_file_upload_methods:
                          - local_file
                          - remote_url
                        output_variable_name: attachment
                        type: file
                      - allowed_file_extensions: []
                        allowed_file_types:
                          - image
                          - document
                        allowed_file_upload_methods:
                          - local_file
                          - remote_url
                        number_limits: 5
                        output_variable_name: attachments
                        type: file-list
                    resolved_default_values:
                      feedback: ""
                    user_actions:
                      - button_style: primary
                        id: approve
                        title: Approve
                      - button_style: default
                        id: reject
                        title: Request changes
              schema:
                properties:
                  expiration_time:
                    description: Unix timestamp (seconds) after which this form can no longer be
                      submitted.
                    format: int64
                    nullable: true
                    type: integer
                  form_content:
                    description: Pre-rendered form body with workflow variables substituted.
                    type: string
                  inputs:
                    description: Form input field definitions.
                    items:
                      properties:
                        allowed_file_extensions:
                          description: Allowed file extensions when `allowed_file_types` includes
                            `custom`. Include the leading `.` in each extension,
                            for example `.md`. Present for `file` and
                            `file-list` inputs.
                          items:
                            type: string
                          type: array
                        allowed_file_types:
                          description: "File categories the recipient may upload. Present for `file` and
                            `file-list` inputs. Values: `image`, `document`,
                            `audio`, `video`, `custom`."
                          items:
                            enum:
                              - image
                              - document
                              - audio
                              - video
                              - custom
                            type: string
                          type: array
                        allowed_file_upload_methods:
                          description: "Upload methods the recipient may use. Values: `local_file`,
                            `remote_url`. Present for `file` and `file-list`
                            inputs."
                          items:
                            enum:
                              - local_file
                              - remote_url
                            type: string
                          type: array
                        default:
                          description: Raw default-value configuration for `paragraph` inputs. The client
                            should not resolve this directly; use
                            `resolved_default_values` to display defaults.
                            absent for other input types or when no default is
                            configured.
                          nullable: true
                          properties:
                            selector:
                              description: Variable reference path (for example, `["node_id", "var_name"]`)
                                when `type` is `variable`. Must contain at least
                                two elements.
                              items:
                                type: string
                              type: array
                            type:
                              description: Source of the default. `constant` means `value` is used as a
                                literal string; `variable` means `selector`
                                points to a workflow variable.
                              type: string
                            value:
                              description: Literal default value when `type` is `constant`. Always a string.
                              type: string
                          type: object
                        number_limits:
                          description: Maximum number of files the recipient may upload. Present only for
                            `file-list` inputs.
                          type: integer
                        option_source:
                          description: Source of options for `select` inputs. Present only when `type` is
                            `select`.
                          properties:
                            selector:
                              description: Variable reference path when `type` is `variable`.
                              items:
                                type: string
                              type: array
                            type:
                              description: Origin of the options. `constant` means `value` lists the options
                                literally; `variable` means `selector` points to
                                an `array[string]` workflow variable that
                                provides them.
                              enum:
                                - variable
                                - constant
                              type: string
                            value:
                              description: Literal option list when `type` is `constant`.
                              items:
                                type: string
                              type: array
                          type: object
                        output_variable_name:
                          description: Variable name used to reference this input's submitted value inside
                            the workflow. Corresponds to the key in the
                            submission `inputs` object.
                          type: string
                        type:
                          description: "Form input control type. Available values: `paragraph` (multi-line
                            text input), `select` (single-choice from a list),
                            `file` (single file upload), and `file-list`
                            (multiple file uploads)."
                          type: string
                      type: object
                    type: array
                  resolved_default_values:
                    additionalProperties:
                      type: string
                    description: Pre-rendered values to display in the form. Keyed by input
                      `output_variable_name`. Populated for `paragraph` inputs
                      whose default resolves from a workflow variable; empty for
                      inputs with no resolvable default. Display these values;
                      do not re-resolve `default` on the client. All values are
                      stringified.
                    type: object
                  user_actions:
                    description: Available submission actions.
                    items:
                      properties:
                        button_style:
                          description: "Visual style of the button. Available values: `primary`,
                            `default`, `accent`, `ghost`."
                          type: string
                        id:
                          description: Identifier of the action button. Pass as `action` on [Submit Human
                            Input
                            Form](/en/api-reference/human-input/submit-human-input-form)
                            when the recipient selects this button.
                          maxLength: 20
                          pattern: ^[A-Za-z_][A-Za-z0-9_]*$
                          type: string
                        title:
                          description: Button label shown to the recipient.
                          maxLength: 100
                          type: string
                      type: object
                    type: array
                type: object
          description: Form contents retrieved successfully.
        "404":
          content:
            application/json:
              examples:
                not_found:
                  summary: not_found
                  value:
                    code: not_found
                    message: Form not found
                    status: 404
          description: "`not_found` : Form not found."
        "412":
          content:
            application/json:
              examples:
                human_input_form_expired:
                  summary: human_input_form_expired
                  value:
                    code: human_input_form_expired
                    message: This form has expired, form_id=a1b2c3d4-e5f6-7890-abcd-ef1234567890
                    status: 412
                human_input_form_submitted:
                  summary: human_input_form_submitted
                  value:
                    code: human_input_form_submitted
                    message: This form has already been submitted by another user,
                      form_id=a1b2c3d4-e5f6-7890-abcd-ef1234567890
                    status: 412
          description: >-
            - `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.
      summary: Get Human Input Form
      tags:
        - Human Input
      x-mint:
        href: /en/api-reference/human-input/get-human-input-form
        metadata:
          sidebarTitle: Get Human Input Form
          title: Get Human Input Form
components:
  securitySchemes:
    ApiKeyAuth:
      bearerFormat: API_KEY
      description: >-
        Every request authenticates with an API key: `Authorization: Bearer
        {API_KEY}`. App endpoints take an app API key; knowledge endpoints take
        a knowledge base API key ([Get
        Started](/en/api-reference/guides/get-started)).


        Keep keys server-side; never embed them in client code. Requests with a
        missing or invalid key fail with HTTP `401` (`unauthorized`).
      scheme: bearer
      type: http
````
