Skip to main content
GET
/
api
/
v1
/
repos
/
files
/
metadata
List Files Metadata
curl --request GET \
  --url https://api.{cluster}.code.storage/api/v1/repos/files/metadata \
  --header 'Authorization: Bearer <token>'
{
  "files": [
    {
      "last_commit_sha": "a1b2c3d4e5f6",
      "mode": "100644",
      "path": "README.md",
      "size": 2048,
      "type": "blob"
    }
  ],
  "has_more": true,
  "next_cursor": "docs/guide.md",
  "ref": "main"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

ref
string

Optional branch, tag, or commit SHA to list from. When omitted, the repository default branch is used.

path
string

Optional repository-relative subtree to list recursively. Empty means the repository root.

recursive
boolean

Accepted for API symmetry. Metadata listings are recursive regardless of this flag.

cursor
string

Pagination cursor returned by a previous list_files_with_metadata response.

limit
integer
default:200

Maximum number of files to return. Defaults to 200.

Required range: 0 <= x <= 1000
ephemeral
boolean

Whether ref should be resolved from the ephemeral namespace.

Response

The repository tree plus deduplicated commit metadata for the latest change touching each file.

Files in the repository at the resolved revision, each annotated with mode, type, and the latest commit that changed it.

commits
object
required

Commit metadata keyed by last_commit_sha so repeated commits are only sent once.

files
object[]
required

Files in the resolved revision, each annotated with the latest commit that changed it.

has_more
boolean
required

Whether another page of files is available.

Example:

true

ref
string
required

The resolved ref or commit used to generate the listing.

Example:

"main"

next_cursor
string

Cursor to resume pagination from. Empty when there are no more results.

Example:

"docs/guide.md"