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

# List a flow's edit history

> Every save of this flow, newest first: what changed, who changed it and from which surface. The first entry is the version the flow is currently on.

Every save of the flow, newest first — what changed, who changed it and from which surface. The first entry is the version the flow is currently on.

<Tip>
  `changed_fields` tells a canvas-only move (`["ui"]`) apart from a graph edit (`["config"]`), which is what makes a long history readable when you are looking for the change that broke something.
</Tip>


## OpenAPI

````yaml GET /v1/flows/{flow_id}/versions
openapi: 3.1.0
info:
  title: Databar.ai API
  description: >-

    # Authentication


    Databar uses API keys to allow access to the API. You can find your API key
    in your workspace home page, but to use the REST API you’ll first need to
    schedule a call with us.

    Our API expects the API key to be included in all API requests to the server
    in the Header of your request with the key `x-apikey`.

    To find your API key, head over to your Databar workspace and click
    Integrations.


    **Example:**


    `bash

    curl https://api.databar.ai/v1/user/me -H x-apikey: {YOUR_API_KEY}`
  contact:
    email: info@databar.ai
  version: 0.1.2
servers:
  - url: https://api.databar.ai
    description: Production
security: []
paths:
  /v1/flows/{flow_id}/versions:
    get:
      tags:
        - Flows
      summary: List a flow's edit history
      description: >-
        Every save of this flow, newest first: what changed, who changed it and
        from which surface. The first entry is the version the flow is currently
        on.
      operationId: list_flow_versions_v1_flows__flow_id__versions_get
      parameters:
        - name: flow_id
          in: path
          required: true
          schema:
            type: string
            title: Flow ID
          description: Flow identifier, e.g. `fl_ab12cd34`
        - name: page
          in: query
          required: false
          schema:
            type: integer
            default: 1
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 50
        - name: x-apikey
          in: header
          required: true
          schema:
            type: string
            title: API Key
            description: API Key for authentication
          description: API Key for authentication
      responses:
        '200':
          description: Versions, newest first
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FlowVersion'
        '403':
          description: Forbidden
        '404':
          description: Flow not found
components:
  schemas:
    FlowVersion:
      description: >-
        One saved version of a flow. The list arrives newest first, so the first
        entry is the version the flow is currently on.
      properties:
        number:
          type: integer
          title: Number
          description: 1-based, monotonic within one flow.
        name:
          type: string
          title: Name
        description:
          type: string
          title: Description
        changed_fields:
          type: array
          items:
            type: string
          title: Changed Fields
          description: >-
            Which of `name`, `description`, `config`, `ui` differ from the
            previous version — so a canvas-only move can be told from a graph
            edit.
        source:
          type: string
          enum:
            - ui
            - api
            - mcp
            - admin
            - system
          title: Source
          description: Where the edit came from.
        created_at:
          type: string
          title: Created At
        created_by:
          anyOf:
            - type: string
            - type: 'null'
          title: Created By
          description: Email of the author, or null for edits made outside a user session.
        restored_from:
          anyOf:
            - type: integer
            - type: 'null'
          title: Restored From
          description: Set when this version was produced by a rollback.
      type: object
      required:
        - number
        - name
        - description
        - changed_fields
        - source
        - created_at
        - created_by
      title: FlowVersion

````