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

# 通过Id启动实例

> Instantiates a given process definition.
Process variables and business key may be supplied in the request body.



## OpenAPI

````yaml POST /process-definition/{id}/start
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/{id}/start:
    post:
      tags:
        - Process Definition
      summary: Start Instance
      description: |-
        Instantiates a given process definition.
        Process variables and business key may be supplied in the request body.
      operationId: startProcessInstance
      parameters:
        - name: id
          in: path
          schema:
            type: string
          required: true
          description: The id of the process definition to be retrieved.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartProcessInstanceDto'
            examples:
              example-1:
                summary: Starting a process instance at its default initial activity
                value:
                  variables:
                    aVariable:
                      value: aStringValue
                      type: String
                    anotherVariable:
                      value: true
                      type: Boolean
                  businessKey: myBusinessKey
              example-2:
                summary: Starting a process instance with variables in return
                value:
                  variables:
                    aVariable:
                      value: aStringValue
                      type: String
                    anotherVariable:
                      value: true
                      type: Boolean
                  businessKey: myBusinessKey
                  withVariablesInReturn: true
              example-3:
                summary: Starting a process instance at two specific activities
                value:
                  variables:
                    aProcessVariable:
                      value: aStringValue
                      type: String
                  businessKey: myBusinessKey
                  skipCustomListeners: true
                  startInstructions:
                    - type: startBeforeActivity
                      activityId: activityId
                      variables:
                        var:
                          value: aVariableValue
                          local: false
                          type: String
                    - type: startAfterActivity
                      activityId: anotherActivityId
                      variables:
                        varLocal:
                          value: anotherVariableValue
                          local: true
                          type: String
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessInstanceWithVariablesDto'
              examples:
                example-1:
                  summary: Status 200 Response 1
                  description: >-
                    Response for starting a process instance at its default
                    initial activity
                  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
                example-2:
                  summary: Status 200 Response 2
                  description: >-
                    Response for starting a process instance with variables in
                    return
                  value:
                    links:
                      - method: GET
                        href: >-
                          http://localhost:8080/rest-test/process-instance/aProcInstId
                        rel: self
                    id: aProcInstId
                    definitionId: aProcessDefinitionId
                    businessKey: myBusinessKey
                    caseInstanceId: null
                    ended: false
                    suspended: false
                    tenantId: null
                    variables:
                      anotherVariable:
                        type: Boolean
                        value: true
                        valueInfo:
                          transient: true
                      aVariable:
                        type: String
                        value: aStringValue
                        valueInfo: {}
                example-3:
                  summary: Status 200 Response 3
                  description: >-
                    Response for starting a process instance at two specific
                    activities
                  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.
        '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:
    StartProcessInstanceDto:
      type: object
      properties:
        businessKey:
          type: string
          nullable: true
          description: The business key of the process instance.
        variables:
          type: object
          nullable: true
          additionalProperties:
            $ref: '#/components/schemas/VariableValueDto'
          description: ''
        caseInstanceId:
          type: string
          nullable: true
          description: The case instance id the process instance is to be initialized with.
        startInstructions:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/ProcessInstanceModificationInstructionDto'
          description: >-
            **Optional**. A JSON array of instructions that specify which
            activities to start the process instance at.

            If this property is omitted, the process instance starts at its
            default blank start event.
        skipCustomListeners:
          type: boolean
          nullable: true
          description: >-
            Skip execution listener invocation for activities that are started
            or ended as part of this request.

            **Note**: This option is currently only respected when start
            instructions are submitted

            via the `startInstructions` property.
        skipIoMappings:
          type: boolean
          nullable: true
          description: >-
            Skip execution of

            [input/output variable
            mappings](https://docs.camunda.org/manual/7.22/user-guide/process-engine/variables/#input-output-variable-mapping)

            for activities that are started or ended as part of this request.

            **Note**: This option is currently only respected when start
            instructions are submitted

            via the `startInstructions` property.
        withVariablesInReturn:
          type: boolean
          nullable: true
          description: >-
            Indicates if the variables, which was used by the process instance
            during execution, should be returned.

            Default value: `false`
    ProcessInstanceWithVariablesDto:
      allOf:
        - type: object
          properties:
            variables:
              type: object
              nullable: true
              additionalProperties:
                $ref: '#/components/schemas/VariableValueDto'
              description: The id of the process instance.
        - $ref: '#/components/schemas/ProcessInstanceDto'
    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)
    ProcessInstanceModificationInstructionDto:
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - cancel
            - startBeforeActivity
            - startAfterActivity
            - startTransition
          description: >-
            **Mandatory**. One of the following values: `cancel`,
            `startBeforeActivity`, `startAfterActivity`, `startTransition`.


            * A cancel instruction requests cancellation of a single activity
            instance or all instances of one activity.

            * A startBeforeActivity instruction requests to enter a given
            activity.

            * A startAfterActivity instruction requests to execute the single
            outgoing sequence flow of a given activity.

            * A startTransition instruction requests to execute a specific
            sequence flow.
        variables:
          $ref: '#/components/schemas/TriggerVariableValueDto'
        activityId:
          type: string
          nullable: true
          description: >-
            Can be used with instructions of types `startTransition`. Specifies
            the sequence flow to start.
        transitionId:
          type: string
          nullable: true
          description: >-
            Can be used with instructions of types `startTransition`. Specifies
            the sequence flow to start.
        activityInstanceId:
          type: string
          nullable: true
          description: >-
            Can be used with instructions of type `cancel`. Specifies the
            activity instance to cancel.

            Valid values are the activity instance IDs supplied by the [Get
            Activity Instance
            request](https://docs.camunda.org/manual/7.22/reference/rest/process-instance/get-activity-instances/).
        transitionInstanceId:
          type: string
          nullable: true
          description: >-
            Can be used with instructions of type `cancel`. Specifies the
            transition instance to cancel.

            Valid values are the transition instance IDs supplied by the [Get
            Activity Instance
            request](https://docs.camunda.org/manual/7.22/reference/rest/process-instance/get-activity-instances/).
        ancestorActivityInstanceId:
          type: string
          nullable: true
          description: >-
            Can be used with instructions of type `startBeforeActivity`,
            `startAfterActivity`, and `startTransition`.

            Valid values are the activity instance IDs supplied by the Get
            Activity Instance request.

            If there are multiple parent activity instances of the targeted
            activity,

            this specifies the ancestor scope in which hierarchy the
            activity/transition is to be instantiated.


            Example: When there are two instances of a subprocess and an
            activity contained in the subprocess is to be started,

            this parameter allows to specifiy under which subprocess instance
            the activity should be started.
        cancelCurrentActiveActivityInstances:
          type: boolean
          nullable: true
          description: >-
            Can be used with instructions of type cancel. Prevents the deletion
            of new created activity instances.
    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'
    AnyValue:
      description: |-
        Can be any value - string, number, boolean, array or object.
         **Note**: Not every endpoint supports every type.
    TriggerVariableValueDto:
      allOf:
        - type: object
          properties:
            local:
              type: boolean
              nullable: true
              description: >-
                Indicates whether the variable should be a local variable or
                not.

                If set to true, the variable becomes a local variable of the
                execution

                entering the target activity.
        - $ref: '#/components/schemas/VariableValueDto'
    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`.
    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

````