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

# List version history for an entity

> Returns enriched version history with structured diffs, per-field attribution, and contributor list.



## OpenAPI

````yaml /openapi/em-runtime-utils-v2.yaml get /utils/{resource_type}/{resource_uri}/metadata/versions
openapi: 3.1.0
info:
  title: em_runtime_utils
  version: 5.27.0
servers: []
security: []
paths:
  /utils/{resource_type}/{resource_uri}/metadata/versions:
    get:
      tags:
        - metadata
      summary: List version history for an entity
      description: >-
        Returns enriched version history with structured diffs, per-field
        attribution, and contributor list.
      operationId: list_version_history
      parameters:
        - name: resource_type
          in: path
          required: true
          schema:
            type: string
            title: Resource Type
        - name: resource_uri
          in: path
          required: true
          schema:
            type: string
            title: Resource Uri
        - name: fqn
          in: query
          required: true
          schema:
            type: string
            description: Fully qualified name of the entity
            title: Fqn
          description: Fully qualified name of the entity
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 200
            minimum: 1
            description: Max results per page
            default: 50
            title: Limit
          description: Max results per page
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
            description: Pagination offset
            default: 0
            title: Offset
          description: Pagination offset
        - name: X-Project-ID
          in: header
          required: true
          schema:
            type: string
            title: X-Project-Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataListResponse'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - HTTPBearer: []
components:
  schemas:
    MetadataListResponse:
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        results:
          items:
            $ref: '#/components/schemas/MetadataAssetResponse'
          type: array
          title: Results
      type: object
      required:
        - pagination
        - results
      title: MetadataListResponse
      description: Paginated list response for metadata assets.
    ErrorResponse:
      properties:
        error:
          $ref: '#/components/schemas/ErrorBody'
      type: object
      required:
        - error
      title: ErrorResponse
      description: Standard error response model.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PaginationInfo:
      properties:
        offset:
          type: integer
          title: Offset
        limit:
          type: integer
          title: Limit
        total:
          type: integer
          title: Total
      type: object
      required:
        - offset
        - limit
        - total
      title: PaginationInfo
      description: Pagination metadata.
    MetadataAssetResponse:
      properties:
        id:
          type: string
          title: Id
        type:
          $ref: '#/components/schemas/AssetType'
        name:
          type: string
          title: Name
        fully_qualified_name:
          type: string
          title: Fully Qualified Name
        display_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Display Name
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        summary_text:
          anyOf:
            - type: string
            - type: 'null'
          title: Summary Text
        resource_uri:
          type: string
          title: Resource Uri
        service_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Service Name
        organization_id:
          type: string
          title: Organization Id
        project_id:
          type: string
          title: Project Id
        version:
          type: string
          title: Version
        version_major:
          type: integer
          title: Version Major
        version_minor:
          type: integer
          title: Version Minor
        version_change_reason:
          type: string
          title: Version Change Reason
        owners:
          anyOf:
            - items:
                $ref: '#/components/schemas/OwnerSchema'
              type: array
            - type: 'null'
          title: Owners
        extension:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Extension
        schema_definition:
          anyOf:
            - type: string
            - type: 'null'
          title: Schema Definition
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        created_by:
          type: string
          title: Created By
        updated_by:
          type: string
          title: Updated By
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Deleted At
        is_dq_tagged:
          type: boolean
          title: Is Dq Tagged
          default: false
        is_pii_tagged:
          type: boolean
          title: Is Pii Tagged
          default: false
        is_sensitivity_tagged:
          type: boolean
          title: Is Sensitivity Tagged
          default: false
        tags:
          anyOf:
            - items:
                $ref: '#/components/schemas/TagRef'
              type: array
            - type: 'null'
          title: Tags
        children:
          anyOf:
            - items:
                $ref: '#/components/schemas/MetadataAssetResponse'
              type: array
            - type: 'null'
          title: Children
        children_total:
          anyOf:
            - type: integer
            - type: 'null'
          title: Children Total
          description: >-
            Total number of direct children. Compare with len(children) to
            detect truncation (max 500 returned).
        table_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Table Type
        row_count:
          anyOf:
            - type: integer
            - type: 'null'
          title: Row Count
        column_count:
          anyOf:
            - type: integer
            - type: 'null'
          title: Column Count
        table_count:
          anyOf:
            - type: integer
            - type: 'null'
          title: Table Count
        data_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Data Type
        data_type_display:
          anyOf:
            - type: string
            - type: 'null'
          title: Data Type Display
        ordinal_position:
          anyOf:
            - type: integer
            - type: 'null'
          title: Ordinal Position
        nullable:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Nullable
        constraint:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Constraint
        column_relationships:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          title: Column Relationships
        precision:
          anyOf:
            - type: integer
            - type: 'null'
          title: Precision
        scale:
          anyOf:
            - type: integer
            - type: 'null'
          title: Scale
        data_length:
          anyOf:
            - type: integer
            - type: 'null'
          title: Data Length
        business_definition:
          anyOf:
            - type: string
            - type: 'null'
          title: Business Definition
        business_rules:
          anyOf:
            - type: string
            - type: 'null'
          title: Business Rules
        change_description:
          anyOf:
            - $ref: '#/components/schemas/ChangeDescription'
            - type: 'null'
        change_summary:
          anyOf:
            - additionalProperties:
                $ref: '#/components/schemas/FieldAttribution'
              type: object
            - type: 'null'
          title: Change Summary
        changed_by:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Changed By
      type: object
      required:
        - id
        - type
        - name
        - fully_qualified_name
        - resource_uri
        - organization_id
        - project_id
        - version
        - version_major
        - version_minor
        - version_change_reason
        - created_at
        - updated_at
        - created_by
        - updated_by
      title: MetadataAssetResponse
      description: Response schema for metadata assets.
    ErrorBody:
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode'
        message:
          type: string
          title: Message
        details:
          additionalProperties: true
          type: object
          title: Details
        request_id:
          type: string
          title: Request Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
      type: object
      required:
        - code
        - message
        - request_id
        - timestamp
      title: ErrorBody
      description: Error body with structured details.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    AssetType:
      type: string
      enum:
        - database
        - database_schema
        - table
        - column
      title: AssetType
      description: Asset type discriminator values.
    OwnerSchema:
      properties:
        name:
          type: string
          minLength: 1
          title: Name
        type:
          type: string
          title: Type
          description: 'Owner type: user or team'
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
      type: object
      required:
        - name
        - type
      title: OwnerSchema
      description: Owner information for metadata entities.
    TagRef:
      properties:
        tag_id:
          type: string
          title: Tag Id
        tag_fqn:
          type: string
          title: Tag Fqn
        category_name:
          type: string
          title: Category Name
        tag_name:
          type: string
          title: Tag Name
        tag_description:
          anyOf:
            - type: string
            - type: 'null'
          title: Tag Description
      type: object
      required:
        - tag_id
        - tag_fqn
        - category_name
        - tag_name
      title: TagRef
      description: Tag reference in entity responses.
    ChangeDescription:
      properties:
        fields_added:
          items:
            $ref: '#/components/schemas/FieldChange'
          type: array
          title: Fields Added
        fields_updated:
          items:
            $ref: '#/components/schemas/FieldChange'
          type: array
          title: Fields Updated
        fields_deleted:
          items:
            $ref: '#/components/schemas/FieldChange'
          type: array
          title: Fields Deleted
        previous_version:
          anyOf:
            - type: string
            - type: 'null'
          title: Previous Version
      type: object
      title: ChangeDescription
      description: Structured diff between consecutive versions.
    FieldAttribution:
      properties:
        change_source:
          anyOf:
            - type: string
            - type: 'null'
          title: Change Source
        changed_by:
          type: string
          title: Changed By
        changed_at_unix:
          type: integer
          title: Changed At Unix
      type: object
      required:
        - changed_by
        - changed_at_unix
      title: FieldAttribution
      description: Per-field attribution for who changed a field and when.
    ErrorCode:
      type: string
      enum:
        - INVALID_REQUEST
        - INVALID_TOKEN
        - INSUFFICIENT_PERMISSIONS
        - RESOURCE_NOT_FOUND
        - RESOURCE_ALREADY_EXISTS
        - VALIDATION_ERROR
        - RATE_LIMIT_EXCEEDED
        - SERVICE_UNAVAILABLE
        - INTERNAL_ERROR
      title: ErrorCode
      description: Standard error codes for API responses.
    FieldChange:
      properties:
        field_name:
          type: string
          title: Field Name
        change_type:
          $ref: '#/components/schemas/FieldChangeType'
      type: object
      required:
        - field_name
        - change_type
      title: FieldChange
      description: A single field change in a version diff.
    FieldChangeType:
      type: string
      enum:
        - added
        - updated
        - deleted
      title: FieldChangeType
      description: Type of field change in a version diff.
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````