---
title: "List file and directory entries changed between base and head"
method: GET
path: "/api/repos/{namespace}/{repo_name}/compare/{base_head}/entries"
tags: ["Compare"]
---

# List file and directory entries changed between base and head

`GET /api/repos/{namespace}/{repo_name}/compare/{base_head}/entries`

## Request

- Base URL: `https://hub.oxen.ai`
- URL: `https://hub.oxen.ai/api/repos/{namespace}/{repo_name}/compare/{base_head}/entries`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/oxen/apis/oxen-server/docs/api/repos/:namespace/:repo_name/compare/:base_head/entries/get.ts> (a function with typed inputs; its response is checked against the schema)

List paginated entries (files and directories) that changed between two revisions with change counts.

## Path parameters

- `namespace` string, required
- `repo_name` string, required
- `base_head` string, required

## Query parameters

- `page` integer
- `page_size` integer

## Response `200`

Entries found successfully

- CompareEntriesResponse
  - `oxen_version` string, nullable
  - `status` string, required
  - `status_message` string, required
  - `page_number` integer, required
  - `page_size` integer, required
  - `total_entries` integer, required
  - `total_pages` integer, required
  - `compare` CompareEntries, required
    - `base_commit` Commit, required
      - `author` string, required
      - `email` string, required
      - `id` string, required
      - `message` string, required
      - `parent_ids` string[], required
      - `timestamp` string, date-time, required
    - `counts` AddRemoveModifyCounts, required
      - `added` integer, required
      - `modified` integer, required
      - `removed` integer, required
    - `entries` DiffEntry[], required
      - `base_entry` MetadataEntry: `deny_unknown_fields` is the discriminator for the untagged `EMetadataEntry` enum: payloads with a `changes` field (i.e. `WorkspaceMetadataEntry`) fail to deserialize here and fall through to the workspace variant.
        - `children` MetadataEntry[], nullable
        - `data_type` 'dir' | 'text' | 'image' | 'video' | 'audio' | 'tabular' | 'binary', required
        - `extension` string, required
        - `filename` string, required
        - `hash` string, required
        - `is_dir` boolean, required
        - `is_queryable` boolean, nullable
        - `latest_commit` Commit
          - `author` string, required
          - `email` string, required
          - `id` string, required
          - `message` string, required
          - `parent_ids` string[], required
          - `timestamp` string, date-time, required
        - `metadata` union
          - MetadataDir
            - `dir` MetadataDirImpl, required
              - …
          - MetadataText
            - `text` MetadataTextImpl, required
              - …
          - MetadataImage
            - `image` MetadataImageImpl, required
              - …
          - MetadataVideo
            - `video` MetadataVideoImpl, required
              - …
          - MetadataAudio
            - `audio` MetadataAudioImpl, required
              - …
          - MetadataTabular
            - `tabular` MetadataTabularImpl, required
              - …
        - `mime_type` string, required
        - `resource` ParsedResourceView: External (view) model that is returned to the client with fewer fields.
          - `branch` Branch
            - `commit_id` string, required
            - `name` string, required
          - `commit` Commit
            - `author` string, required
            - `email` string, required
            - `id` string, required
            - `message` string, required
            - `parent_ids` string[], required
            - `timestamp` string, date-time, required
          - `path` string, required
          - `resource` string, required
          - `version` string, required
          - `workspace` WorkspaceView: Used to send workspace state across the wire. The `Workspace`'s other fields (like `LocalRepository`) would bloat the response and leak internal state.
            - `commit` Commit, required
              - …
            - `created_at` string, date-time, nullable: `None` for a workspace created before the server recorded creation time.
            - `id` string, required
            - `name` string, nullable
        - `size` integer, required
      - `base_resource` ParsedResourceView: External (view) model that is returned to the client with fewer fields.
        - `branch` Branch
          - `commit_id` string, required
          - `name` string, required
        - `commit` Commit
          - `author` string, required
          - `email` string, required
          - `id` string, required
          - `message` string, required
          - `parent_ids` string[], required
          - `timestamp` string, date-time, required
        - `path` string, required
        - `resource` string, required
        - `version` string, required
        - `workspace` WorkspaceView: Used to send workspace state across the wire. The `Workspace`'s other fields (like `LocalRepository`) would bloat the response and leak internal state.
          - `commit` Commit, required
            - `author` string, required
            - `email` string, required
            - `id` string, required
            - `message` string, required
            - `parent_ids` string[], required
            - `timestamp` string, date-time, required
          - `created_at` string, date-time, nullable: `None` for a workspace created before the server recorded creation time.
          - `id` string, required
          - `name` string, nullable
      - `data_type` 'dir' | 'text' | 'image' | 'video' | 'audio' | 'tabular' | 'binary', required
      - `diff` union
        - DirDiff
          - `dir` DirDiffSummaryImpl, required
            - `file_counts` AddRemoveModifyCounts, required
              - …
        - TabularDiffView
          - `tabular` TabularDiffViewImpl, required
            - `summary` TabularDiffSummaryImpl, required
              - …
            - `added_cols` JsonDataFrame
              - …
            - `added_cols_view` JsonDataFrameView
              - …
            - `added_rows` JsonDataFrame
              - …
            - `added_rows_view` JsonDataFrameView
              - …
            - `base_schema` Schema
              - …
            - `head_schema` Schema
              - …
            - `removed_cols` JsonDataFrame
              - …
            - `removed_cols_view` JsonDataFrameView
              - …
            - `removed_rows` JsonDataFrame
              - …
            - `removed_rows_view` JsonDataFrameView
              - …
        - TextDiff
          - `filename1` string, nullable
          - `filename2` string, nullable
          - `lines` LineDiff[], required
            - `modification` 'Added' | 'Removed' | 'Modified' | 'Unchanged', required
            - `text` string, required
      - `diff_summary` union
        - DirDiffSummary
          - `dir` DirDiffSummaryImpl, required
            - `file_counts` AddRemoveModifyCounts, required
              - …
        - TabularDiffWrapper
          - `tabular` TabularDiffSummaryImpl, required
            - `num_added_cols` integer, required
            - `num_added_rows` integer, required
            - `num_removed_cols` integer, required
            - `num_removed_rows` integer, required
            - `schema_has_changed` boolean, required
      - `filename` string, required
      - `head_entry` MetadataEntry: `deny_unknown_fields` is the discriminator for the untagged `EMetadataEntry` enum: payloads with a `changes` field (i.e. `WorkspaceMetadataEntry`) fail to deserialize here and fall through to the workspace variant.
        - `children` MetadataEntry[], nullable
        - `data_type` 'dir' | 'text' | 'image' | 'video' | 'audio' | 'tabular' | 'binary', required
        - `extension` string, required
        - `filename` string, required
        - `hash` string, required
        - `is_dir` boolean, required
        - `is_queryable` boolean, nullable
        - `latest_commit` Commit
          - `author` string, required
          - `email` string, required
          - `id` string, required
          - `message` string, required
          - `parent_ids` string[], required
          - `timestamp` string, date-time, required
        - `metadata` union
          - MetadataDir
            - `dir` MetadataDirImpl, required
              - …
          - MetadataText
            - `text` MetadataTextImpl, required
              - …
          - MetadataImage
            - `image` MetadataImageImpl, required
              - …
          - MetadataVideo
            - `video` MetadataVideoImpl, required
              - …
          - MetadataAudio
            - `audio` MetadataAudioImpl, required
              - …
          - MetadataTabular
            - `tabular` MetadataTabularImpl, required
              - …
        - `mime_type` string, required
        - `resource` ParsedResourceView: External (view) model that is returned to the client with fewer fields.
          - `branch` Branch
            - `commit_id` string, required
            - `name` string, required
          - `commit` Commit
            - `author` string, required
            - `email` string, required
            - `id` string, required
            - `message` string, required
            - `parent_ids` string[], required
            - `timestamp` string, date-time, required
          - `path` string, required
          - `resource` string, required
          - `version` string, required
          - `workspace` WorkspaceView: Used to send workspace state across the wire. The `Workspace`'s other fields (like `LocalRepository`) would bloat the response and leak internal state.
            - `commit` Commit, required
              - …
            - `created_at` string, date-time, nullable: `None` for a workspace created before the server recorded creation time.
            - `id` string, required
            - `name` string, nullable
        - `size` integer, required
      - `head_resource` ParsedResourceView: External (view) model that is returned to the client with fewer fields.
        - `branch` Branch
          - `commit_id` string, required
          - `name` string, required
        - `commit` Commit
          - `author` string, required
          - `email` string, required
          - `id` string, required
          - `message` string, required
          - `parent_ids` string[], required
          - `timestamp` string, date-time, required
        - `path` string, required
        - `resource` string, required
        - `version` string, required
        - `workspace` WorkspaceView: Used to send workspace state across the wire. The `Workspace`'s other fields (like `LocalRepository`) would bloat the response and leak internal state.
          - `commit` Commit, required
            - `author` string, required
            - `email` string, required
            - `id` string, required
            - `message` string, required
            - `parent_ids` string[], required
            - `timestamp` string, date-time, required
          - `created_at` string, date-time, nullable: `None` for a workspace created before the server recorded creation time.
          - `id` string, required
          - `name` string, nullable
      - `is_dir` boolean, required
      - `size` integer, required
      - `status` string, required
    - `head_commit` Commit, required
      - `author` string, required
      - `email` string, required
      - `id` string, required
      - `message` string, required
      - `parent_ids` string[], required
      - `timestamp` string, date-time, required
    - `self` DiffEntry
      - `base_entry` MetadataEntry: `deny_unknown_fields` is the discriminator for the untagged `EMetadataEntry` enum: payloads with a `changes` field (i.e. `WorkspaceMetadataEntry`) fail to deserialize here and fall through to the workspace variant.
        - `children` MetadataEntry[], nullable
        - `data_type` 'dir' | 'text' | 'image' | 'video' | 'audio' | 'tabular' | 'binary', required
        - `extension` string, required
        - `filename` string, required
        - `hash` string, required
        - `is_dir` boolean, required
        - `is_queryable` boolean, nullable
        - `latest_commit` Commit
          - `author` string, required
          - `email` string, required
          - `id` string, required
          - `message` string, required
          - `parent_ids` string[], required
          - `timestamp` string, date-time, required
        - `metadata` union
          - MetadataDir
            - `dir` MetadataDirImpl, required
              - …
          - MetadataText
            - `text` MetadataTextImpl, required
              - …
          - MetadataImage
            - `image` MetadataImageImpl, required
              - …
          - MetadataVideo
            - `video` MetadataVideoImpl, required
              - …
          - MetadataAudio
            - `audio` MetadataAudioImpl, required
              - …
          - MetadataTabular
            - `tabular` MetadataTabularImpl, required
              - …
        - `mime_type` string, required
        - `resource` ParsedResourceView: External (view) model that is returned to the client with fewer fields.
          - `branch` Branch
            - `commit_id` string, required
            - `name` string, required
          - `commit` Commit
            - `author` string, required
            - `email` string, required
            - `id` string, required
            - `message` string, required
            - `parent_ids` string[], required
            - `timestamp` string, date-time, required
          - `path` string, required
          - `resource` string, required
          - `version` string, required
          - `workspace` WorkspaceView: Used to send workspace state across the wire. The `Workspace`'s other fields (like `LocalRepository`) would bloat the response and leak internal state.
            - `commit` Commit, required
              - …
            - `created_at` string, date-time, nullable: `None` for a workspace created before the server recorded creation time.
            - `id` string, required
            - `name` string, nullable
        - `size` integer, required
      - `base_resource` ParsedResourceView: External (view) model that is returned to the client with fewer fields.
        - `branch` Branch
          - `commit_id` string, required
          - `name` string, required
        - `commit` Commit
          - `author` string, required
          - `email` string, required
          - `id` string, required
          - `message` string, required
          - `parent_ids` string[], required
          - `timestamp` string, date-time, required
        - `path` string, required
        - `resource` string, required
        - `version` string, required
        - `workspace` WorkspaceView: Used to send workspace state across the wire. The `Workspace`'s other fields (like `LocalRepository`) would bloat the response and leak internal state.
          - `commit` Commit, required
            - `author` string, required
            - `email` string, required
            - `id` string, required
            - `message` string, required
            - `parent_ids` string[], required
            - `timestamp` string, date-time, required
          - `created_at` string, date-time, nullable: `None` for a workspace created before the server recorded creation time.
          - `id` string, required
          - `name` string, nullable
      - `data_type` 'dir' | 'text' | 'image' | 'video' | 'audio' | 'tabular' | 'binary', required
      - `diff` union
        - DirDiff
          - `dir` DirDiffSummaryImpl, required
            - `file_counts` AddRemoveModifyCounts, required
              - …
        - TabularDiffView
          - `tabular` TabularDiffViewImpl, required
            - `summary` TabularDiffSummaryImpl, required
              - …
            - `added_cols` JsonDataFrame
              - …
            - `added_cols_view` JsonDataFrameView
              - …
            - `added_rows` JsonDataFrame
              - …
            - `added_rows_view` JsonDataFrameView
              - …
            - `base_schema` Schema
              - …
            - `head_schema` Schema
              - …
            - `removed_cols` JsonDataFrame
              - …
            - `removed_cols_view` JsonDataFrameView
              - …
            - `removed_rows` JsonDataFrame
              - …
            - `removed_rows_view` JsonDataFrameView
              - …
        - TextDiff
          - `filename1` string, nullable
          - `filename2` string, nullable
          - `lines` LineDiff[], required
            - `modification` 'Added' | 'Removed' | 'Modified' | 'Unchanged', required
            - `text` string, required
      - `diff_summary` union
        - DirDiffSummary
          - `dir` DirDiffSummaryImpl, required
            - `file_counts` AddRemoveModifyCounts, required
              - …
        - TabularDiffWrapper
          - `tabular` TabularDiffSummaryImpl, required
            - `num_added_cols` integer, required
            - `num_added_rows` integer, required
            - `num_removed_cols` integer, required
            - `num_removed_rows` integer, required
            - `schema_has_changed` boolean, required
      - `filename` string, required
      - `head_entry` MetadataEntry: `deny_unknown_fields` is the discriminator for the untagged `EMetadataEntry` enum: payloads with a `changes` field (i.e. `WorkspaceMetadataEntry`) fail to deserialize here and fall through to the workspace variant.
        - `children` MetadataEntry[], nullable
        - `data_type` 'dir' | 'text' | 'image' | 'video' | 'audio' | 'tabular' | 'binary', required
        - `extension` string, required
        - `filename` string, required
        - `hash` string, required
        - `is_dir` boolean, required
        - `is_queryable` boolean, nullable
        - `latest_commit` Commit
          - `author` string, required
          - `email` string, required
          - `id` string, required
          - `message` string, required
          - `parent_ids` string[], required
          - `timestamp` string, date-time, required
        - `metadata` union
          - MetadataDir
            - `dir` MetadataDirImpl, required
              - …
          - MetadataText
            - `text` MetadataTextImpl, required
              - …
          - MetadataImage
            - `image` MetadataImageImpl, required
              - …
          - MetadataVideo
            - `video` MetadataVideoImpl, required
              - …
          - MetadataAudio
            - `audio` MetadataAudioImpl, required
              - …
          - MetadataTabular
            - `tabular` MetadataTabularImpl, required
              - …
        - `mime_type` string, required
        - `resource` ParsedResourceView: External (view) model that is returned to the client with fewer fields.
          - `branch` Branch
            - `commit_id` string, required
            - `name` string, required
          - `commit` Commit
            - `author` string, required
            - `email` string, required
            - `id` string, required
            - `message` string, required
            - `parent_ids` string[], required
            - `timestamp` string, date-time, required
          - `path` string, required
          - `resource` string, required
          - `version` string, required
          - `workspace` WorkspaceView: Used to send workspace state across the wire. The `Workspace`'s other fields (like `LocalRepository`) would bloat the response and leak internal state.
            - `commit` Commit, required
              - …
            - `created_at` string, date-time, nullable: `None` for a workspace created before the server recorded creation time.
            - `id` string, required
            - `name` string, nullable
        - `size` integer, required
      - `head_resource` ParsedResourceView: External (view) model that is returned to the client with fewer fields.
        - `branch` Branch
          - `commit_id` string, required
          - `name` string, required
        - `commit` Commit
          - `author` string, required
          - `email` string, required
          - `id` string, required
          - `message` string, required
          - `parent_ids` string[], required
          - `timestamp` string, date-time, required
        - `path` string, required
        - `resource` string, required
        - `version` string, required
        - `workspace` WorkspaceView: Used to send workspace state across the wire. The `Workspace`'s other fields (like `LocalRepository`) would bloat the response and leak internal state.
          - `commit` Commit, required
            - `author` string, required
            - `email` string, required
            - `id` string, required
            - `message` string, required
            - `parent_ids` string[], required
            - `timestamp` string, date-time, required
          - `created_at` string, date-time, nullable: `None` for a workspace created before the server recorded creation time.
          - `id` string, required
          - `name` string, nullable
      - `is_dir` boolean, required
      - `size` integer, required
      - `status` string, required

## Other responses

- `404`: Repository or one of the revisions not found

---

[API](https://skmtc.dev/oxen/apis/oxen-server.md) - [All operations](https://skmtc.dev/oxen/apis/oxen-server/llms.txt) - [OpenAPI document](https://skmtc.dev/oxen/apis/oxen-server/revisions/8021aa6fa5bc?raw)
