---
title: "List files"
method: GET
path: "/files"
tags: ["Files"]
---

# List files

`GET /files`

## Request

- Base URL: `https://api.livereacting.com/v1/external`
- URL: `https://api.livereacting.com/v1/external/files`
- Auth: HTTP bearer

List files from the user's media library with optional filters.

When no `folderId` is provided, returns all files across all folders.
When `folderId` is set to `null`, returns only root-level files (not in any folder).
When `folderId` is a folder ID, returns only files in that specific folder.

Folders are included in the response only when `include=folders` is set (and `type` is provided with `folderId` omitted or null).

## Query parameters

- `type` 'video' | 'image' | 'audio'
- `folderId` string
- `search` string
- `limit` integer
- `offset` integer
- `include` 'metadata' | 'folders' | 'metadata,folders' | 'folders,metadata'

## Response `200`

List of files (folders are included only when include=folders)

- object
  - `files` File[]
    - `id` string: Unique file identifier
    - `name` string, nullable: File name
    - `type` 'video' | 'image' | 'audio', nullable: File type
    - `folderId` string, nullable: ID of the folder containing this file. Only present if the file is in a folder.
    - `createdAt` string, date-time, nullable: File creation timestamp
    - `issues` object: Compatibility issues detected for video files. Only present for video type files. Thresholds are plan-tier-aware.
      - `errors` string[]: Critical issues that will prevent successful streaming (e.g. bitrate_too_high, resolution_too_high, fps_exceeds_limit, unsupported_video_codec).
      - `warnings` string[]: Non-critical issues that may affect quality (e.g. high_bitrate, high_resolution).
    - `encoding` object: Encoding status. Only present when encoding is in progress.
      - `status` 'in_queue' | 'in_progress': Current encoding status
      - `progress` integer: Encoding progress percentage
    - `resolution` string: Video resolution (e.g., "1920x1080"). Only present when include=metadata is requested.
    - `frameRate` number: Video frame rate in fps. Only present when include=metadata is requested.
    - `bitrateMbps` number: Video bitrate in Mbps. Only present when include=metadata is requested.
    - `durationSec` number: File duration in seconds. Only present when include=metadata is requested.
    - `sizeBytes` integer: File size in bytes. Only present when include=metadata is requested.
    - `videoCodec` string: Video codec name. Only present when include=metadata is requested.
    - `audioCodec` string: Audio codec name. Only present when include=metadata is requested.
  - `folders` Folder[]: Only included when `include=folders` and `folderId` is omitted or null
    - `id` string: Unique folder identifier
    - `name` string, nullable: Folder name
    - `type` 'video' | 'image' | 'audio', nullable: File type this folder contains
    - `fileCount` integer: Number of files in this folder
    - `createdAt` string, date-time, nullable: Folder creation timestamp
  - `total` integer: Total number of files matching the filter
  - `limit` integer
  - `offset` integer

## Other responses

- `401`: Authentication failed
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/livereacting/apis/livereacting-api.md) · [All operations](https://skmtc.dev/livereacting/apis/livereacting-api/llms.txt) · [OpenAPI document](https://skmtc.dev/livereacting/apis/livereacting-api/revisions/17a9f1677fbf?raw)
