# List files in a session mount

**Documentation:** /reference/api-reference/tool-router/getToolRouterSessionBySessionIdMountsByMountIdItems

Lists files in a workbench session storage mount with cursor-based pagination. Use the download_url endpoint with the returned mount_relative_path to get a presigned download URL.

---

## GET `/api/v3/tool_router/session/{session_id}/mounts/{mount_id}/items`

**Endpoint:** `https://backend.composio.dev/api/v3/tool_router/session/{session_id}/mounts/{mount_id}/items`

**Summary:** List files in a session mount

Lists files in a workbench session storage mount with cursor-based pagination. Use the download_url endpoint with the returned mount_relative_path to get a presigned download URL.

### Authentication

**ApiKeyAuth** - API Key in `header` header `x-api-key` OR **UserApiKeyAuth** - API Key in `header` header `x-user-api-key`

### Path Parameters

- `session_id` (string (toolRouterSessionId)) *(required)*: The unique identifier of the tool router session
- `mount_id` (string) *(required)*: ID of the storage mount

### Query Parameters

- `cursor` (string): Pagination cursor from the previous response next_cursor field
- `limit` (number): Maximum number of files to return per page (1-500)
- `mount_relative_prefix` (string): Relative path prefix within the mount for filtering

### Responses

#### 200 - Files listed successfully

**Response Schema:**

- `items` (array<object>) *(required)*: List of files in the mount
  - Array items:
    - `mount_relative_path` (string) *(required)*: Relative file path within the mount (e.g. "report.pdf")
    - `sandbox_mount_prefix` (string) *(required)*: Absolute mount path inside the sandbox (e.g. /mnt/files)
    - `size` (number) *(required)*: File size in bytes
    - `last_modified` (string) *(required)*: ISO 8601 timestamp of last modification
- `next_cursor` (string): Cursor for the next page of results. If absent, there are no more pages.

**Example Response:**

```json
{
  "items": [
    {
      "mount_relative_path": "string",
      "sandbox_mount_prefix": "string",
      "size": 1,
      "last_modified": "string"
    }
  ],
  "next_cursor": "string"
}
```

#### 400 - Bad request

**Response Schema:**

- `error` (object) *(required)*
  - `message` (string) *(required)*
  - `code` (number) *(required)*
  - `slug` (string) *(required)*
  - `status` (number) *(required)*
  - `request_id` (string)
  - `suggested_fix` (string)
  - `errors` (array<string>)

#### 401 - Unauthorized

**Response Schema:**

- `error` (object) *(required)*
  - `message` (string) *(required)*
  - `code` (number) *(required)*
  - `slug` (string) *(required)*
  - `status` (number) *(required)*
  - `request_id` (string)
  - `suggested_fix` (string)
  - `errors` (array<string>)

#### 404 - Session or mount not found

**Response Schema:**

- `error` (object) *(required)*
  - `message` (string) *(required)*
  - `code` (number) *(required)*
  - `slug` (string) *(required)*
  - `status` (number) *(required)*
  - `request_id` (string)
  - `suggested_fix` (string)
  - `errors` (array<string>)

#### 500 - Internal server error

**Response Schema:**

- `error` (object) *(required)*
  - `message` (string) *(required)*
  - `code` (number) *(required)*
  - `slug` (string) *(required)*
  - `status` (number) *(required)*
  - `request_id` (string)
  - `suggested_fix` (string)
  - `errors` (array<string>)

### Example cURL Request

```bash
curl -X GET "https://backend.composio.dev/api/v3/tool_router/session/string/mounts/string/items" \
  -H "x-api-key: YOUR_API_KEY"
```