Skip to content
Hoody.com

A HEAD /{path} request returns a file’s metadata through response headers (Content-Length, Last-Modified, ETag, Content-Type) and carries no payload body. Use it to test whether a file is present, fetch an ETag for conditional requests, or read a file’s size and modification time without downloading the file.

The same WebDAV-style path also accepts the history, at, revision, and diff query parameters. On a HEAD request those parameters are accepted but still produce a headers-only response. To receive the revision list, point-in-time content, or unified diff, send the same path as GET instead (see the examples below).

The service is addressed at https://{projectId}-{containerId}-files-1.{server}.containers.hoody.com.

Returns the headers that the matching GET would send for the file at {path}. The path is the URL-encoded file path under the served directory.

NameInTypeRequiredDescription
pathpathstringYesURL-encoded file path under the served directory.
historyquerystringNoList all revisions of a file. Returns JSON with a revisions array, pagination via after_id. Mutually exclusive with at/revision/diff. Pass history= (no value) to enable.
atquerystringNoRead file content at a point in time. Accepts RFC3339 timestamp or Unix milliseconds. Mutually exclusive with history/revision/diff. Composable with ?lines, ?hash, ?base64.
revisionqueryintegerNoRead file content by stable per-path sequence number. Mutually exclusive with history/at/diff. Composable with ?lines, ?hash, ?base64.
diffquerystringNoCompute a unified diff between two versions. Requires from_seq or from_ts. Optional to_seq or to_ts (defaults to current file). Mutually exclusive with history/at/revision. Pass diff= (no value) to enable.
from_seqqueryintegerNoSource revision seq number for ?diff. Mutually exclusive with from_ts.
from_tsquerystringNoSource timestamp for ?diff (RFC3339 or Unix ms). Mutually exclusive with from_seq.
to_seqqueryintegerNoTarget revision seq number for ?diff. Mutually exclusive with to_ts. Default: current file on disk.
to_tsquerystringNoTarget timestamp for ?diff (RFC3339 or Unix ms). Mutually exclusive with to_seq.
after_idqueryintegerNoCursor for ?history pagination. Returns entries with id > after_id.
limitqueryintegerNoMax entries to return for ?history. Default: 100.

The successful response carries the following headers:

HeaderDescription
Content-LengthSize in bytes.
Content-TypeThe file’s type, guessed from its name.
ETagEntity tag of this version.
Last-ModifiedModification time.

The response carries the headers listed above for the existing file.

Terminal window
curl -I "https://{projectId}-{containerId}-files-1.{server}.containers.hoody.com/data/report.json"

Use ?history on a GET to the same path to receive the revision list as JSON. Pass history with no value to enable; pair with after_id to paginate.

Terminal window
curl "https://{projectId}-{containerId}-files-1.{server}.containers.hoody.com/data/report.json?history=&limit=20"

Use ?at on a GET to the same path to read the file content as of a given timestamp.

Terminal window
curl "https://{projectId}-{containerId}-files-1.{server}.containers.hoody.com/data/report.json?at=2025-09-17T14:30:00Z"

Use ?diff on a GET to the same path to compute a unified diff between two revisions. Specify the source with from_seq or from_ts; the target defaults to the current file on disk if to_seq or to_ts is omitted.

Terminal window
curl "https://{projectId}-{containerId}-files-1.{server}.containers.hoody.com/data/report.json?diff=&from_seq=10&to_seq=12"