> ## 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 all variables of a given process instance by id.



## OpenAPI

````yaml GET /process-instance/{id}/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-instance/{id}/variables:
    get:
      tags:
        - Process Instance
      summary: Get Process Variables
      description: Retrieves all variables of a given process instance by id.
      operationId: getProcessInstanceVariables
      parameters:
        - name: id
          in: path
          schema:
            type: string
          required: true
          description: The id of the process instance to retrieve the variables from.
        - 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](https://github.com/FasterXML/jackson) 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: GET `/process-instance/aProcessInstanceId/variables`
                  value:
                    aVariableKey:
                      value:
                        prop1: a
                        prop2: b
                      type: Object
                      valueInfo:
                        objectTypeName: com.example.MyObject
                        serializationDataFormat: application/xml
                example-2:
                  summary: >-
                    GET
                    `/process-instance/aProcessInstanceId/variables?deserializeValue=false`
                  value:
                    aVariableKey:
                      value: ab
                      type: Object
                      valueInfo:
                        objectTypeName: com.example.MyObject
                        serializationDataFormat: application/xml
          description: Request successful.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionDto'
          description: Process instance with given id does not exist.
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

````