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

# Update Conversation Variable

> Update the value of a specific conversation variable. The value must match the expected type.



## OpenAPI

````yaml /en/api-reference/openapi_chatflow.json put /conversations/{conversation_id}/variables/{variable_id}
openapi: 3.0.1
info:
  title: Chatflow App API
  description: >-
    Chatflow applications support session persistence, allowing previous chat
    history to be used as context for responses. Chatflow apps use the
    `advanced-chat` mode, providing workflow-level streaming events for detailed
    execution tracking including node starts, finishes, iterations, and workflow
    lifecycle.
  version: 1.0.0
servers:
  - url: '{api_base_url}'
    description: >-
      The base URL for the Chatflow App API. Replace {api_base_url} with the
      actual API base URL provided for your application.
    variables:
      api_base_url:
        default: https://api.dify.ai/v1
        description: Actual base URL of the API
security:
  - ApiKeyAuth: []
tags:
  - name: Chatflows
    description: >-
      Operations for Chatflow apps, including chat messaging, workflow run
      details, and event streaming.
  - name: Files
    description: File upload and preview operations.
  - name: End Users
    description: Operations related to end user information.
  - name: Feedback
    description: User feedback operations.
  - name: Conversations
    description: Operations related to managing conversations.
  - name: TTS
    description: Text-to-Speech and Speech-to-Text operations.
  - name: Applications
    description: Operations to retrieve application settings and information.
  - name: Annotations
    description: Operations related to managing annotations for direct replies.
  - name: Human Input
    description: Endpoints for resuming paused workflows that require human input.
paths:
  /conversations/{conversation_id}/variables/{variable_id}:
    put:
      tags:
        - Conversations
      summary: Update Conversation Variable
      description: >-
        Update the value of a specific conversation variable. The value must
        match the expected type.
      operationId: updateChatflowConversationVariable
      parameters:
        - name: conversation_id
          in: path
          required: true
          description: Conversation ID.
          schema:
            type: string
            format: uuid
        - name: variable_id
          in: path
          required: true
          description: Variable ID.
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConversationVariableUpdateRequest'
            examples:
              updateStringVariable:
                summary: Request Example
                value:
                  value: new value
                  user: abc-123
      responses:
        '200':
          description: Variable updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversationVariableItem'
              examples:
                updatedVariable:
                  summary: Response Example
                  value:
                    id: a1b2c3d4-5678-90ab-cdef-1234567890ab
                    name: user_preference
                    value_type: string
                    value: new value
                    description: User preference setting
                    created_at: 1705407629
                    updated_at: 1705411229
        '400':
          description: |-
            - `not_chat_app` : App mode does not match the API route.
            - `bad_request` : Variable value type mismatch.
          content:
            application/json:
              examples:
                not_chat_app:
                  summary: not_chat_app
                  value:
                    status: 400
                    code: not_chat_app
                    message: Please check if your app mode matches the right API route.
                type_mismatch:
                  summary: bad_request
                  value:
                    status: 400
                    code: bad_request
                    message: 'Value type mismatch: expected string, got integer.'
        '404':
          description: |-
            - `not_found` : Conversation does not exist.
            - `not_found` : Conversation variable does not exist.
          content:
            application/json:
              examples:
                conversation_not_exists:
                  summary: not_found
                  value:
                    status: 404
                    code: not_found
                    message: Conversation Not Exists.
                variable_not_exists:
                  summary: not_found
                  value:
                    status: 404
                    code: not_found
                    message: Conversation Variable Not Exists.
components:
  schemas:
    ConversationVariableUpdateRequest:
      type: object
      description: Request body for updating a conversation variable.
      required:
        - value
      properties:
        value:
          description: >-
            The new value for the variable. Must match the variable's expected
            type.
        user:
          type: string
          description: User identifier.
    ConversationVariableItem:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Variable ID.
        name:
          type: string
          description: Variable name.
        value_type:
          type: string
          description: >-
            Variable value type. Possible values: `string`, `number`, `object`,
            `secret`, `file`, `boolean`, `array[any]`, `array[string]`,
            `array[number]`, `array[object]`, `array[file]`, `array[boolean]`.
        value:
          type: string
          description: Variable value (can be a JSON string for complex types).
        description:
          type: string
          description: Variable description.
        created_at:
          type: integer
          format: int64
          description: Creation timestamp.
        updated_at:
          type: integer
          format: int64
          description: Last update timestamp.
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: API_KEY
      description: >-
        API Key authentication. For all API requests, include your API Key in
        the `Authorization` HTTP Header, prefixed with `Bearer `. Example:
        `Authorization: Bearer {API_KEY}`. **Strongly recommend storing your API
        Key on the server-side, not shared or stored on the client-side, to
        avoid possible API-Key leakage that can lead to serious consequences.**

````