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

# Get a paginated change-history page for multiple entities



## OpenAPI

````yaml /openapi/customer-api.json post /project/{projectId}/entities/history
openapi: 3.0.0
info:
  contact: {}
  description: >-
    Flow customer API reference. Start with the [quickstart](/api/quickstart)
    and [authentication guide](/api/authentication).
  title: Customer API
  version: 1.0.0
servers:
  - description: Flow API
    url: https://backend.branch.flowengineering.com
security: []
tags:
  - name: Automations
  - name: Branches
  - name: Comments
  - name: Convert
  - name: Data Model
  - name: Diagrams
  - name: Entities
  - name: Files
  - name: Import
  - name: Notifications
  - name: Projects
  - name: ReqIF
  - name: ReqIF Import
  - name: Shared Access Grants
  - name: User Groups
  - name: Users
paths:
  /project/{projectId}/entities/history:
    post:
      tags:
        - Entities
      summary: Get a paginated change-history page for multiple entities
      operationId: EntitiesController_getEntitiesHistory
      parameters:
        - in: path
          name: projectId
          required: true
          schema:
            type: string
        - description: Workspace identifier
          in: header
          name: customer
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerEntityHistoryQueryDto'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerEntityHistoryPageDto'
          description: ''
        '409':
          description: The history cursor expired because the branch was rebased.
      security:
        - api-key: []
        - bearer: []
components:
  schemas:
    CustomerEntityHistoryQueryDto:
      properties:
        branch_id:
          description: Branch whose history should be read. Omit or pass "master" for Base.
          type: string
        cursor:
          description: >-
            Opaque cursor returned by the preceding page. It is valid only for
            the same project, branch, and entity ID set.
          type: string
        entity_ids:
          description: Entity IDs whose history should be included in this page.
          items:
            type: string
          maxItems: 500
          minItems: 1
          type: array
        limit:
          default: 100
          maximum: 100
          minimum: 1
          type: number
      required:
        - entity_ids
      type: object
    CustomerEntityHistoryPageDto:
      properties:
        items:
          items:
            $ref: '#/components/schemas/CustomerEntityHistoryEntryDto'
          type: array
        next_cursor:
          nullable: true
          type: string
      required:
        - items
        - next_cursor
      type: object
    CustomerEntityHistoryEntryDto:
      properties:
        actor:
          $ref: '#/components/schemas/CustomerEntityHistoryActorDto'
        branch_id:
          description: Branch that authored this event; "master" means Base.
          type: string
        change:
          discriminator:
            mapping:
              child_reordered:
                $ref: '#/components/schemas/CustomerEntityChildReorderedChangeDto'
              crosslink_added:
                $ref: '#/components/schemas/CustomerEntityCrosslinkAddedChangeDto'
              crosslink_removed:
                $ref: '#/components/schemas/CustomerEntityCrosslinkRemovedChangeDto'
              entity_created:
                $ref: '#/components/schemas/CustomerEntityCreatedChangeDto'
              entity_deleted:
                $ref: '#/components/schemas/CustomerEntityDeletedChangeDto'
              entity_restored:
                $ref: '#/components/schemas/CustomerEntityRestoredChangeDto'
              formula_changed:
                $ref: '#/components/schemas/CustomerEntityFormulaChangedChangeDto'
              link_added:
                $ref: '#/components/schemas/CustomerEntityLinkAddedChangeDto'
              link_removed:
                $ref: '#/components/schemas/CustomerEntityLinkRemovedChangeDto'
              migration_note:
                $ref: '#/components/schemas/CustomerEntityMigrationNoteChangeDto'
              value_changed:
                $ref: '#/components/schemas/CustomerEntityValueChangedChangeDto'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/CustomerEntityCreatedChangeDto'
            - $ref: '#/components/schemas/CustomerEntityValueChangedChangeDto'
            - $ref: '#/components/schemas/CustomerEntityFormulaChangedChangeDto'
            - $ref: '#/components/schemas/CustomerEntityLinkAddedChangeDto'
            - $ref: '#/components/schemas/CustomerEntityLinkRemovedChangeDto'
            - $ref: '#/components/schemas/CustomerEntityCrosslinkAddedChangeDto'
            - $ref: '#/components/schemas/CustomerEntityCrosslinkRemovedChangeDto'
            - $ref: '#/components/schemas/CustomerEntityDeletedChangeDto'
            - $ref: '#/components/schemas/CustomerEntityRestoredChangeDto'
            - $ref: '#/components/schemas/CustomerEntityChildReorderedChangeDto'
            - $ref: '#/components/schemas/CustomerEntityMigrationNoteChangeDto'
        id:
          description: Stable event ID for deduplication.
          type: string
        reason:
          discriminator:
            mapping:
              default_formula_changed:
                $ref: '#/components/schemas/CustomerDefaultFormulaChangedReasonDto'
              default_formula_reapplied:
                $ref: '#/components/schemas/CustomerDefaultFormulaReappliedReasonDto'
              field_type_changed:
                $ref: '#/components/schemas/CustomerFieldTypeChangedReasonDto'
              formula_recomputed:
                $ref: '#/components/schemas/CustomerFormulaRecomputedReasonDto'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/CustomerFormulaRecomputedReasonDto'
            - $ref: '#/components/schemas/CustomerFieldTypeChangedReasonDto'
            - $ref: '#/components/schemas/CustomerDefaultFormulaChangedReasonDto'
            - $ref: '#/components/schemas/CustomerDefaultFormulaReappliedReasonDto'
        timestamp:
          format: date-time
          type: string
      required:
        - id
        - timestamp
        - branch_id
        - actor
        - change
      type: object
    CustomerEntityHistoryActorDto:
      properties:
        id:
          description: User or agent ID. Omitted for system and unknown actors.
          type: string
        type:
          enum:
            - user
            - agent
            - system
            - unknown
          type: string
      required:
        - type
      type: object
    CustomerEntityChildReorderedChangeDto:
      properties:
        child_entity_id:
          type: string
        parent_entity_id:
          type: string
        type:
          enum:
            - child_reordered
          type: string
      required:
        - type
        - parent_entity_id
        - child_entity_id
      type: object
    CustomerEntityCrosslinkAddedChangeDto:
      properties:
        entity_ids:
          description: The two peer entity IDs for this unordered cross-link.
          items:
            type: string
          maxItems: 2
          minItems: 2
          type: array
        type:
          enum:
            - crosslink_added
          type: string
      required:
        - type
        - entity_ids
      type: object
    CustomerEntityCrosslinkRemovedChangeDto:
      properties:
        entity_ids:
          description: The two peer entity IDs for this unordered cross-link.
          items:
            type: string
          maxItems: 2
          minItems: 2
          type: array
        type:
          enum:
            - crosslink_removed
          type: string
      required:
        - type
        - entity_ids
      type: object
    CustomerEntityCreatedChangeDto:
      properties:
        entity_id:
          type: string
        entity_type:
          type: string
        type:
          enum:
            - entity_created
          type: string
      required:
        - type
        - entity_id
        - entity_type
      type: object
    CustomerEntityDeletedChangeDto:
      properties:
        entity_id:
          type: string
        type:
          enum:
            - entity_deleted
          type: string
      required:
        - type
        - entity_id
      type: object
    CustomerEntityRestoredChangeDto:
      properties:
        entity_id:
          type: string
        type:
          enum:
            - entity_restored
          type: string
      required:
        - type
        - entity_id
      type: object
    CustomerEntityFormulaChangedChangeDto:
      properties:
        entity_id:
          type: string
        field_key:
          type: string
        formula:
          nullable: true
          type: string
        type:
          enum:
            - formula_changed
          type: string
      required:
        - type
        - entity_id
        - field_key
        - formula
      type: object
    CustomerEntityLinkAddedChangeDto:
      properties:
        child_entity_id:
          type: string
        parent_entity_id:
          type: string
        type:
          enum:
            - link_added
          type: string
      required:
        - type
        - parent_entity_id
        - child_entity_id
      type: object
    CustomerEntityLinkRemovedChangeDto:
      properties:
        child_entity_id:
          type: string
        parent_entity_id:
          type: string
        type:
          enum:
            - link_removed
          type: string
      required:
        - type
        - parent_entity_id
        - child_entity_id
      type: object
    CustomerEntityMigrationNoteChangeDto:
      properties:
        action:
          type: string
        note:
          type: string
        source_entity_id:
          type: string
        source_name:
          type: string
        type:
          enum:
            - migration_note
          type: string
      required:
        - type
      type: object
    CustomerEntityValueChangedChangeDto:
      properties:
        entity_id:
          type: string
        field_key:
          type: string
        type:
          enum:
            - value_changed
          type: string
        value:
          nullable: true
          oneOf:
            - type: string
            - type: number
            - type: boolean
            - additionalProperties: true
              type: object
            - items: {}
              type: array
      required:
        - type
        - entity_id
        - field_key
        - value
      type: object
    CustomerDefaultFormulaChangedReasonDto:
      properties:
        field_name:
          type: string
        type:
          enum:
            - default_formula_changed
          type: string
      required:
        - type
        - field_name
      type: object
    CustomerDefaultFormulaReappliedReasonDto:
      properties:
        field_name:
          type: string
        type:
          enum:
            - default_formula_reapplied
          type: string
      required:
        - type
        - field_name
      type: object
    CustomerFieldTypeChangedReasonDto:
      properties:
        field_name:
          type: string
        next_type:
          type: string
        previous_type:
          type: string
        type:
          enum:
            - field_type_changed
          type: string
      required:
        - type
        - field_name
        - previous_type
        - next_type
      type: object
    CustomerFormulaRecomputedReasonDto:
      properties:
        source_entity_id:
          type: string
        source_field_key:
          type: string
        type:
          enum:
            - formula_recomputed
          type: string
      required:
        - type
      type: object
  securitySchemes:
    api-key:
      in: header
      name: X-API-Key
      type: apiKey
    bearer:
      bearerFormat: JWT
      scheme: bearer
      type: http

````