Skip to main content
const metadata = await repo.headFile({
  path: "README.md",
  ref: "main",
});
console.log(metadata.status, metadata.etag, metadata.size, metadata.lastCommitSha);

const ranged = await repo.headFile({
  path: "README.md",
  headers: { range: "bytes=0-1023" },
});
console.log(ranged.status, ranged.contentRange);

const cached = await repo.headFile({
  path: "README.md",
  headers: { ifNoneMatch: '"abc123"' },
});
console.log(cached.status);

Options

path
string
required
Path to the file within the repository.
ref
string
Branch name, tag, or commit SHA. Defaults to the default branch.
ephemeral
boolean
When true, resolves the ref under the ephemeral namespace.
ephemeralBase
boolean
When true, resolves the base branch under the ephemeral namespace. TypeScript: ephemeralBase; Python: ephemeral_base; Go: EphemeralBase.
headers.range
string
HTTP Range header, such as bytes=0-1023. TypeScript/Python: range; Go: Range.
headers.ifMatch
string
HTTP If-Match header. TypeScript: ifMatch; Python: if_match; Go: IfMatch.
headers.ifNoneMatch
string
HTTP If-None-Match header. TypeScript: ifNoneMatch; Python: if_none_match; Go: IfNoneMatch.
headers.ifModifiedSince
string
HTTP If-Modified-Since header. TypeScript: ifModifiedSince; Python: if_modified_since; Go: IfModifiedSince.
headers.ifUnmodifiedSince
string
HTTP If-Unmodified-Since header. TypeScript: ifUnmodifiedSince; Python: if_unmodified_since; Go: IfUnmodifiedSince.
headers.ifRange
string
HTTP If-Range header. TypeScript: ifRange; Python: if_range; Go: IfRange.
ttl
number
Token TTL in seconds.

Response

headFile() returns parsed metadata from HEAD /repos/file. Range and conditional outcomes with status 206, 304, 412, and 416 are surfaced as SDK results.
status
number
HTTP response status. Python: status_code; Go: StatusCode.
blobSha
string
Blob SHA for the file. Python: blob_sha; Go: BlobSHA.
lastCommitSha
string
SHA of the most recent commit that modified the file. Python: last_commit_sha; Go: LastCommitSHA.
size
number
Content length in bytes when the server provides it.
etag
string
ETag returned by the file endpoint. Go: ETag.
lastModified
Date | datetime | time.Time
Parsed Last-Modified timestamp. Python: last_modified; Go: LastModified.
rawLastModified
string
Raw Last-Modified header. Python: raw_last_modified; Go: RawLastModified.
acceptRanges
string
Accept-Ranges header, when present. Python: accept_ranges; Go: AcceptRanges.
contentRange
string
Content-Range header, when present. Python: content_range; Go: ContentRange.
contentType
string
Content-Type header, when present. Python: content_type; Go: ContentType.