## Signature

```text
get_files({ file_id?, query?, offset?, limit? })
```

Call with `{}` to list the most recent files and storage usage. `query` searches filenames, `limit` defaults to 25 (maximum 100), and `offset` pages through results. Supply a UUID `file_id` to retrieve one file, including a pending human upload.

The response includes `files`, `total`, `offset`, `limit`, and `storage` (`used_bytes`, `reserved_bytes`, `limit_bytes`, `available_bytes`). A ready file includes its stable `id`, name, type, size, source, optional `run_id`, a fresh signed `url`, `download_url` and `url_expires_at`.

Use the ready file's URL in a catalog tool's existing reference URL input. URL expiry does not delete the file: call `get_files` again. Ordinary files remain until deleted or their workspace closes. Connected Google content keeps its shorter retention.

For an `upload_file` handoff, poll its file ID until `status` is `ready`. `awaiting_upload` means the human has not chosen a file; `pending` means upload or generation is unfinished. Do not start a reference-dependent run until it is ready.

CLI: `scrollport get_files [file-id] [--query reference] [--offset 25]`. HTTP: `GET /v1/files` with the same query fields. Free and read-only; workspace file access is required. Files from another workspace return the same not-found response as missing files.