> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eorion.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 获取开始表单变量

> Retrieves the start form variables for the latest process definition which belongs to no tenant
(only if they are defined via the 
[Generated Task Form](https://docs.camunda.org/manual/7.22/user-guide/task-forms/#generated-task-forms) approach).
The start form variables take form data specified on the start event into account.
If form fields are defined, the variable types and default values
of the form fields are taken into account.



## OpenAPI

````yaml GET /process-definition/key/{key}/form-variables
openapi: 3.0.2
info:
  title: ORION Platform REST API
  description: OpenApi Spec for ORION Camunda Platform REST API.
  version: 7.22.6-ee
  license:
    name: Apache License 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: http://{host}:{port}/{contextPath}
    description: The API server for the default process engine
    variables:
      host:
        default: localhost
      port:
        default: '8080'
      contextPath:
        default: engine-rest
  - url: http://{host}:{port}/{contextPath}/engine/{engineName}
    description: The API server for a named process engine
    variables:
      host:
        default: localhost
      port:
        default: '8080'
      contextPath:
        default: engine-rest
      engineName:
        default: default
  - url: '{url}'
    description: The API server with a custom url
    variables:
      url:
        default: ''
security:
  - basicAuth: []
tags:
  - name: Authorization
  - name: Batch
  - name: Condition
  - name: Decision Definition
  - name: Decision Requirements Definition
  - name: Deployment
  - name: Engine
  - name: Event Subscription
  - name: Execution
  - name: External Task
  - name: Filter
  - name: Group
  - name: Historic Activity Instance
  - name: Historic Batch
  - name: Historic Decision Definition
  - name: Historic Decision Instance
  - name: Historic Decision Requirements Definition
  - name: Historic Detail
  - name: Historic External Task Log
  - name: Historic Identity Link Log
  - name: Historic Incident
  - name: Historic Job Log
  - name: Historic Process Definition
  - name: Historic Process Instance
  - name: Historic Task Instance
  - name: Historic User Operation Log
  - name: Historic Variable Instance
  - name: History Cleanup
  - name: Identity
  - name: Incident
  - name: Job
  - name: Job Definition
  - name: Message
  - name: Metrics
  - name: Migration
  - name: Modification
  - name: Process Definition
  - name: Process Instance
  - name: Signal
  - name: Schema Log
  - name: Task
  - name: Task Attachment
  - name: Task Comment
  - name: Task Identity Link
  - name: Task Local Variable
  - name: Task Variable
  - name: Telemetry
  - name: Tenant
  - name: User
  - name: Variable Instance
  - name: Version
externalDocs:
  description: Find out more about ORION Rest API
  url: https://docs.eorion.com
paths:
  /process-definition/key/{key}/form-variables:
    get:
      tags:
        - Process Definition
      summary: Get Start Form Variables
      description: >-
        Retrieves the start form variables for the latest process definition
        which belongs to no tenant

        (only if they are defined via the 

        [Generated Task
        Form](https://docs.camunda.org/manual/7.22/user-guide/task-forms/#generated-task-forms)
        approach).

        The start form variables take form data specified on the start event
        into account.

        If form fields are defined, the variable types and default values

        of the form fields are taken into account.
      operationId: getStartFormVariablesByKey
      parameters:
        - name: key
          in: path
          schema:
            type: string
          required: true
          description: >-
            The key of the process definition (the latest version thereof) to be
            retrieved.
        - name: variableNames
          in: query
          schema:
            type: string
          description: >-
            A comma-separated list of variable names. Allows restricting the
            list of requested

            variables to the variable names in the list. It is best practice to
            restrict the

            list of variables to the variables actually required by the form in
            order to

            minimize fetching of data. If the query parameter is ommitted all
            variables are

            fetched. If the query parameter contains non-existent variable
            names, the variable

            names are ignored.
        - name: deserializeValues
          in: query
          schema:
            default: true
            type: boolean
          description: >-
            Determines whether serializable variable values (typically variables
            that store

            custom Java objects) should be deserialized on server side (default
            true).


            If set to true, a serializable variable will be deserialized on
            server side and

            transformed to JSON using [Jackson's](http://jackson.codehaus.org/)
            POJO/bean

            property introspection feature. Note that this requires the Java
            classes of the

            variable value to be on the REST API's classpath.


            If set to false, a serializable variable will be returned in its
            serialized format.

            For example, a variable that is serialized as XML will be returned
            as a JSON string

            containing XML.


            **Note**: While true is the default value for reasons of backward
            compatibility, we

            recommend setting this parameter to false when developing web
            applications that are

            independent of the Java process applications deployed to the engine.
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/VariableValueDto'
              examples:
                example-1:
                  summary: Status 200 Response
                  description: GET `/process-definition/anId/form-variables`
                  value:
                    amount:
                      type: integer
                      value: 5
                      valueInfo: {}
                    firstName:
                      type: String
                      value: Jonny
                      valueInfo: {}
          description: >-
            Request successful. A JSON object containing a property for each
            variable returned.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionDto'
          description: >-
            The key is null or does not exist. See the

            [Introduction](https://docs.camunda.org/manual/7.22/reference/rest/overview/#error-handling)

            for the error response format.
components:
  schemas:
    VariableValueDto:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/AnyValue'
        type:
          type: string
          nullable: true
          description: The value type of the variable.
        valueInfo:
          type: object
          additionalProperties: true
          description: >-
            A JSON object containing additional, value-type-dependent
            properties.

            For serialized variables of type Object, the following properties
            can be provided:


            * `objectTypeName`: A string representation of the object's type
            name.

            * `serializationDataFormat`: The serialization format used to store
            the variable.


            For serialized variables of type File, the following properties can
            be provided:


            * `filename`: The name of the file. This is not the variable name
            but the name that will be used when downloading the file again.

            * `mimetype`: The MIME type of the file that is being uploaded.

            * `encoding`: The encoding of the file that is being uploaded.


            The following property can be provided for all value types:


            * `transient`: Indicates whether the variable should be transient or

            not. See
            [documentation](https://docs.camunda.org/manual/7.22/user-guide/process-engine/variables#transient-variables)
            for more informations.

            (Not applicable for `decision-definition`, `
            /process-instance/variables-async`, and `/migration/executeAsync`
            endpoints)
    ExceptionDto:
      title: ExceptionDto
      type: object
      properties:
        type:
          type: string
          nullable: true
          description: An exception class indicating the occurred error.
        message:
          type: string
          nullable: true
          description: A detailed message of the error.
        code:
          type: number
          description: >-
            The code allows your client application to identify the error in an
            automated fashion.

            You can look up the meaning of all built-in codes and learn how to
            add custom codes

            in the [User
            Guide](https://docs.camunda.org/manual/7.22/user-guide/process-engine/error-handling/#exception-codes).
    AnyValue:
      description: |-
        Can be any value - string, number, boolean, array or object.
         **Note**: Not every endpoint supports every type.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic

````