> ## Documentation index
> Fetch the complete documentation index at: https://dify-docs.docs7.io/llms.txt
> Ask it with GET https://dify-docs.docs7.io/ask?q=<keywords or question>. Short keywords rank best.
> Use these to discover all available pages before exploring further.

# List Conversation Variables

> **Available for**: Chatflow, Chatbot, Legacy Agent apps.

Lists the variables stored in a conversation.

`GET /conversations/{conversation_id}/variables`

## OpenAPI

````yaml en/api-reference/openapi_service.json get /conversations/{conversation_id}/variables
openapi: 3.0.1
info:
  description: REST API for Dify applications and knowledge bases. Application
    endpoints authenticate with an app API key; knowledge endpoints authenticate
    with a dataset API key.
  title: Dify Service API
  version: 1.0.0
servers:
  - description: Base URL of the Dify Service API. For self-hosted deployments,
      replace it with your own API base URL.
    url: https://{api_base_url}
    variables:
      api_base_url:
        default: api.dify.ai/v1
        description: Host and path of the API base URL, without the `https://` prefix.
security:
  - ApiKeyAuth: []
tags:
  - description: Operations related to chat messages and interactions.
    name: Chat Messages
  - description: File upload and preview operations.
    name: Files
  - description: Operations related to end user information.
    name: End Users
  - description: User feedback operations.
    name: Feedback
  - description: Operations related to managing conversations.
    name: Conversations
  - description: Text-to-Speech and Speech-to-Text operations.
    name: Audio
  - description: Operations to retrieve application settings and information.
    name: Applications
  - description: Operations related to managing annotations for direct replies.
    name: Annotations
  - description: Endpoints for resuming paused workflows that require human input.
    name: Human Input
  - description: Operations for executing and managing workflows.
    name: Workflow Runs
  - description: Operations related to text generation and completion.
    name: Completion Messages
  - description: Operations for managing knowledge bases, including creation,
      configuration, and retrieval.
    name: Knowledge Bases
  - description: Operations for creating, updating, and managing documents within a
      knowledge base.
    name: Documents
  - description: Operations for managing document chunks and child chunks.
    name: Chunks
  - description: Operations for managing knowledge base metadata fields and document
      metadata values.
    name: Metadata
  - description: Operations for managing knowledge base tags and tag bindings.
    name: Tags
  - description: Operations for retrieving available models.
    name: Models
  - description: Operations for managing and running knowledge pipelines, including
      datasource plugins and pipeline execution.
    name: Knowledge Pipeline
paths:
  /conversations/{conversation_id}/variables:
    get:
      description: |-
        **Available for**: Chatflow, Chatbot, Legacy Agent apps.

        Lists the variables stored in a conversation.
      operationId: getConversationVariables
      parameters:
        - description: ID of the conversation whose variables to list. Get conversation
            IDs from [List
            Conversations](/en/api-reference/conversations/list-conversations).
          in: path
          name: conversation_id
          required: true
          schema:
            type: string
        - description: End-user identifier, defined by your app and unique within it. See
            [End User Identity](/en/api-reference/guides/end-user-identity).
          in: query
          name: user
          required: false
          schema:
            type: string
        - description: "Pagination cursor: the `id` of the last variable on the current
            page. Omit to fetch the first page."
          in: query
          name: last_id
          required: false
          schema:
            type: string
        - description: Number of records to return.
          in: query
          name: limit
          required: false
          schema:
            default: 20
            maximum: 100
            minimum: 1
            type: integer
        - description: Filter variables by a specific name.
          in: query
          name: variable_name
          required: false
          schema:
            maxLength: 255
            minLength: 1
            type: string
      responses:
        "200":
          content:
            application/json:
              examples:
                conversationVariables:
                  summary: Response Example
                  value:
                    data:
                      - created_at: 1705407629
                        description: User preference setting
                        id: a1b2c3d4-5678-90ab-cdef-1234567890ab
                        name: user_preference
                        updated_at: 1705411229
                        value: dark_mode
                        value_type: string
                    has_more: false
                    limit: 20
              schema:
                $ref: "#/components/schemas/ConversationVariablesResponse"
          description: Successfully retrieved conversation variables.
        "400":
          content:
            application/json:
              examples:
                invalid_last_id:
                  summary: invalid_param
                  value:
                    code: invalid_param
                    message: ""
                    status: 400
                not_chat_app:
                  summary: not_chat_app
                  value:
                    code: not_chat_app
                    message: Please check if your app mode matches the right API route.
                    status: 400
          description: >-
            - `not_chat_app` : App mode does not match the API route.

            - `invalid_param` : The `last_id` does not match any variable in
            this conversation.
        "404":
          content:
            application/json:
              examples:
                conversation_not_exists:
                  summary: not_found
                  value:
                    code: not_found
                    message: Conversation Not Exists.
                    status: 404
          description: "`not_found` : Conversation does not exist."
      summary: List Conversation Variables
      tags:
        - Conversations
      x-mint:
        href: /en/api-reference/conversations/list-conversation-variables
        metadata:
          sidebarTitle: List Conversation Variables
          title: List Conversation Variables
components:
  schemas:
    ConversationVariableItem:
      properties:
        created_at:
          description: Creation timestamp.
          format: int64
          type: integer
        description:
          description: Variable description.
          type: string
        id:
          description: Variable ID.
          format: uuid
          type: string
        name:
          description: Variable name.
          type: string
        updated_at:
          description: Last update timestamp.
          format: int64
          type: integer
        value:
          description: Variable value (can be a JSON string for complex types).
          type: string
        value_type:
          description: "Variable value type. Possible values: `string`, `number`,
            `object`, `secret`, `file`, `boolean`, `array[any]`,
            `array[string]`, `array[number]`, `array[object]`, `array[file]`,
            `array[boolean]`."
          type: string
      type: object
    ConversationVariablesResponse:
      properties:
        data:
          description: List of conversation variables.
          items:
            $ref: "#/components/schemas/ConversationVariableItem"
          type: array
        has_more:
          description: Whether there is a next page.
          type: boolean
        limit:
          description: Number of items per page.
          type: integer
      type: object
  securitySchemes:
    ApiKeyAuth:
      bearerFormat: API_KEY
      description: >-
        Every request authenticates with an API key: `Authorization: Bearer
        {API_KEY}`. App endpoints take an app API key; knowledge endpoints take
        a knowledge base API key ([Get
        Started](/en/api-reference/guides/get-started)).


        Keep keys server-side; never embed them in client code. Requests with a
        missing or invalid key fail with HTTP `401` (`unauthorized`).
      scheme: bearer
      type: http
````
