> For the complete documentation index, see [llms.txt](https://docs.codemash.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.codemash.io/cloud/files/browser.md).

# Browser

Browse, preview, download and delete your project files.

> A file manager for the storage account you connected — folders, previews, downloads and deletes.

*Last updated 2026-09-11 · Applies to all projects*

**Where:** Files → Browser · `/projects/<project>/files/browser`

## Why it exists

Once your app starts writing files, you need to see them. The Browser is the window into one storage integration: what was uploaded, where it landed, how big it is, and what it looks like. It saves you from opening the AWS or Azure console to answer "did that upload actually arrive?".

## When you'd use it

* Check that a customer's upload reached storage, and open it to confirm the contents.
* Copy a file's path so you can use it in a sign, download, or delete call.
* Remove test files left behind after a development run.

## Where to find it

Files → **Browser**. It is also where you land right after enabling the module.

<figure><img src="https://760328771-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LwSkuCpTNI_AerL8J2a%2Fuploads%2Fgit-blob-d227dde3e561cbe85678db9e300fd98f919cfcad%2Ffiles.jpg?alt=media" alt=""><figcaption><p>Files → Browser.</p></figcaption></figure>

## How to use it

You need the `files:read` permission on the integration to browse, and `files:delete` to remove a file. At least one files integration must exist — otherwise the page shows a notice linking to [Integrations](/cloud/files/integrations.md).

1. **Pick the storage account.** The **Integrations** dropdown appears when the project has more than one integration. Each option shows the integration name and its provider. Switching it changes which account you are browsing.
2. **Move through folders.** Navigation is by path, starting at `root`. Click a folder row to go deeper, or a breadcrumb to go back up. The list shows folders first, then files, with **Name**, **Size** and **Public** columns. A public file or folder carries a **Public** badge; something public because of the folder above it reads **Public (folder)**.
3. **Open a file.** Click a file row to open the details slide-over. It shows an image preview for `png`, `jpg`, `jpeg`, `gif`, `webp` and `svg` (loaded through a short-lived signed URL), plus the file's size, **Extension**, **Provider**, and its **Path** with a copy button.
4. **Download or delete.** The slide-over has a **Download** button and a **Delete** button.
5. **Publish, if you want to.** The slide-over also has **Make public**, which gives the file a link anyone can open — see [Public links](/cloud/files/browser/public-links.md).
6. **Upload.** The **Upload file** button in the header uploads into the folder you are currently viewing — see [Upload Files](/cloud/files/browser/upload.md).

**What "working" looks like:** the breadcrumb shows your current path, the list shows rows, and clicking a file opens the slide-over with a **Path** such as `invoices/2026/invoice-4821.pdf`. That path is the file's address — it is what the sign, download and delete endpoints take.

## Good to know

* **There is no "create folder" button, and that is on purpose.** Folders are path prefixes, not real objects. Upload a file to `reports/2026/q1.csv` and the `reports/2026` folders appear by themselves. When the last file under a prefix is deleted, the folder disappears.
* Previews are images only. Other types (PDF, CSV, video) show their details but no preview — use **Download** to inspect them.
* The preview link is short-lived by design. Leave the slide-over open long enough and the image stops loading; close and reopen it.
* Deleting is immediate and cannot be undone from this screen. The bytes are removed from your storage account.
* The list is paged with a cursor. A very large folder loads in batches as you scroll rather than all at once.

## Do it in code

{% tabs %}
{% tab title="JavaScript / TypeScript" %}

```ts
import { Norbix } from '@norbix.ai/ts';
const norbix = new Norbix();

const page = await norbix.hub.files.getFolderFiles({
  filesIntegrationId: 'int_4kX9mQvR2tYw7ZbC1dFgHj',
  path: 'invoices/2026',
});
```

{% endtab %}

{% tab title=".NET" %}

```csharp
using Norbix.Sdk;

using var client = new NorbixClient();

var page = await client.Files.GetFolderFilesAsync(new GetFolderFilesRequest
{
    FilesIntegrationId = "int_4kX9mQvR2tYw7ZbC1dFgHj",
    Path = "invoices/2026",
});
```

{% endtab %}

{% tab title="Python" %}

```python
from norbix_python import NorbixHub

norbix = NorbixHub()

page = norbix.files.get_folder_files(
    filesIntegrationId="int_4kX9mQvR2tYw7ZbC1dFgHj",
    path="invoices/2026",
)
```

{% endtab %}

{% tab title="Go" %}

```go
c, _ := norbix.New(norbix.Options{})
ctx := context.Background()

var result map[string]any
err := c.Hub.Files.GetFolderFiles(ctx, map[string]any{
	"filesIntegrationId": "int_4kX9mQvR2tYw7ZbC1dFgHj",
	"path":               "invoices/2026",
}, &result)
```

{% endtab %}

{% tab title="CLI" %}

```sh
norbix files list invoices/2026 --integration int_4kX9mQvR2tYw7ZbC1dFgHj
norbix files info invoices/2026/invoice-4821.pdf
norbix files download invoices/2026/invoice-4821.pdf
norbix files delete invoices/2026/invoice-4821.pdf --yes
```

{% endtab %}
{% endtabs %}

Method pages: [Get Folder Files](/sdks-and-cli/files/folder/get-folder-files.md) · [Get Signed Url](/sdks-and-cli/files/sign/get-signed-url.md) · [Download File](/sdks-and-cli/files/download/download-file-api.md) · [Delete File](/sdks-and-cli/files/module/delete-file-api.md)

## API reference

Endpoints: [Get Folder Files](/api-reference/files/folder/get-folder-files.md), [Get Signed Url](/api-reference/files/sign/get-signed-url.md), [Download File](/api-reference/files/download/download-file-api.md), [Delete File](/api-reference/files/module/delete-file-api.md).

## Related

[Upload Files](/cloud/files/browser/upload.md) · [Public links](/cloud/files/browser/public-links.md) · [Integrations](/cloud/files/integrations.md) · [Files](/cloud/files.md)
