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

# 提交开始表单

> Starts the latest version of the process definition which belongs to no tenant
using a set of process variables and the business key.
If the start event has Form Field Metadata defined, the process engine will perform backend validation
for any form fields which have validators defined.
See [Documentation on Generated Task Forms](https://docs.camunda.org/manual/7.22/user-guide/task-forms/#generated-task-forms).



## OpenAPI

````yaml POST /process-definition/key/{key}/submit-form
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}/submit-form:
    post:
      tags:
        - Process Definition
      summary: Submit Start Form
      description: >-
        Starts the latest version of the process definition which belongs to no
        tenant

        using a set of process variables and the business key.

        If the start event has Form Field Metadata defined, the process engine
        will perform backend validation

        for any form fields which have validators defined.

        See [Documentation on Generated Task
        Forms](https://docs.camunda.org/manual/7.22/user-guide/task-forms/#generated-task-forms).
      operationId: submitFormByKey
      parameters:
        - name: key
          in: path
          schema:
            type: string
          required: true
          description: The key of the process definition to submit the form for.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartProcessInstanceFormDto'
            examples:
              example-1:
                summary: >-
                  POST
                  `/process-definition/key/aProcessDefinitionKey/submit-form`
                value:
                  variables:
                    aVariable:
                      value: aStringValue
                      type: String
                    anotherVariable:
                      value: true
                      type: Boolean
                  businessKey: myBusinessKey
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessInstanceDto'
              examples:
                example-1:
                  summary: Status 200 Response 1
                  description: >-
                    POST
                    `/process-definition/key/aProcessDefinitionKey/submit-form`
                  value:
                    links:
                      - method: GET
                        href: http://localhost:8080/rest-test/process-instance/anId
                        rel: self
                    id: anId
                    definitionId: aProcessDefinitionId
                    businessKey: myBusinessKey
                    caseInstanceId: null
                    tenantId: null
                    ended: false
                    suspended: false
          description: Request successful.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionDto'
          description: >-
            The instance could not be created due to an invalid variable value,

            for example if the value could not be parsed to an `Integer` value
            or

            the passed variable type is not supported.

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

            for the error response format.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionDto'
          description: >-
            Process definition with given key does not exist.

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

            for the error response format.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionDto'
          description: >-
            The instance could not be created successfully.

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

            for the error response format.
components:
  schemas:
    StartProcessInstanceFormDto:
      type: object
      properties:
        variables:
          type: object
          nullable: true
          additionalProperties:
            $ref: '#/components/schemas/VariableValueDto'
          description: ''
        businessKey:
          type: string
          nullable: true
          description: >-
            The business key the process instance is to be initialized with.

            The business key uniquely identifies the process instance in the
            context of the given process definition.
    ProcessInstanceDto:
      allOf:
        - type: object
          properties:
            id:
              type: string
              nullable: true
              description: The id of the process instance.
            definitionId:
              type: string
              nullable: true
              description: >-
                The id of the process definition that this process instance
                belongs to.
            businessKey:
              type: string
              nullable: true
              description: The business key of the process instance.
            caseInstanceId:
              type: string
              nullable: true
              description: >-
                The id of the case instance associated with the process
                instance.
            ended:
              type: boolean
              nullable: true
              deprecated: true
              description: >-
                A flag indicating whether the process instance has ended or not.
                Deprecated: will always be false!
            suspended:
              type: boolean
              nullable: true
              description: >-
                A flag indicating whether the process instance is suspended or
                not.
            tenantId:
              type: string
              nullable: true
              description: The tenant id of the process instance.
        - $ref: '#/components/schemas/LinkableDto'
    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).
    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)
    LinkableDto:
      type: object
      properties:
        links:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/AtomLink'
          description: >-
            The links associated to this resource, with `method`, `href` and
            `rel`.
    AnyValue:
      description: |-
        Can be any value - string, number, boolean, array or object.
         **Note**: Not every endpoint supports every type.
    AtomLink:
      type: object
      properties:
        rel:
          type: string
          nullable: true
          description: The relation of the link to the object that belongs to.
        href:
          type: string
          nullable: true
          description: The url of the link.
        method:
          type: string
          nullable: true
          description: The http method.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic

````