GET
/
files
List files that have been uploaded to Cloudglue
curl --request GET \
  --url https://api.cloudglue.dev/v1/files \
  --header 'Authorization: Bearer <token>'
{
  "object": "list",
  "data": [
    {
      "id": "<string>",
      "status": "pending",
      "bytes": 123,
      "created_at": 123,
      "filename": "<string>",
      "uri": "<string>",
      "metadata": {},
      "video_info": {
        "duration_seconds": 123,
        "height": 123,
        "width": 123,
        "format": "<string>",
        "has_audio": true
      },
      "thumbnail_url": "<string>",
      "source": "video"
    }
  ],
  "total": 123,
  "limit": 123,
  "offset": 123
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

status
enum<string>

Filter files by processing status

Available options:
pending,
processing,
completed,
failed,
not_applicable
created_before
string<date>

Filter files created before a specific date (YYYY-MM-DD format), in UTC timezone

created_after
string<date>

Filter files created after a specific date (YYYY-MM-DD format), in UTC timezone

limit
integer
default:50

Limit the number of files to return

Required range: x <= 100
offset
integer
default:0

Number of files to skip

order
enum<string>
default:created_at

Order the files by a specific field

Available options:
created_at,
filename
sort
enum<string>
default:desc

Sort the files in ascending or descending order

Available options:
asc,
desc
filter
string

JSON string containing filter criteria to constrain file search results. This is the JSON string version of the SearchFilter object used in the search API.

Supported Filter Types:

metadata - Filter by file metadata using JSON path expressions (e.g., 'metadata.speaker', 'metadata.category.subcategory') • video_info - Filter by video information properties

  • duration_seconds - Video duration in seconds
  • has_audio - Whether the video has audio (true/false)

file - Filter by file properties

  • filename - File name (string)
  • uri - File URI (string)
  • id - File ID (UUID string)
  • created_at - Creation timestamp (ISO 8601 string)
  • bytes - File size in bytes (number)

Supported Operators:Equal - Exact match (requires valueText) • NotEqual - Not equal to value (requires valueText) • LessThan - Less than value (requires valueText) • GreaterThan - Greater than value (requires valueText) • Like - Case-insensitive pattern matching with wildcards (requires valueText) • In - Value is in array (requires valueTextArray) • ContainsAny - Array contains any of the values (requires valueTextArray) • ContainsAll - Array contains all of the values (requires valueTextArray)

Examples:

Metadata filtering:

{"metadata":[{"path":"metadata.speaker","operator":"Like","valueText":"YO%"}]}

Video info filtering:

{"video_info":[{"path":"video_info.duration_seconds","operator":"GreaterThan","valueText":"60"}]}

File property filtering:

{"file":[{"path":"filename","operator":"Like","valueText":"%.mp4"}]}
{"file":[{"path":"bytes","operator":"GreaterThan","valueText":"1048576"}]}
{"file":[{"path":"created_at","operator":"GreaterThan","valueText":"2024-01-01T00:00:00Z"}]}

Combined filtering:

{"metadata":[{"path":"metadata.speaker","operator":"Equal","valueText":"John"}],"video_info":[{"path":"video_info.has_audio","operator":"Equal","valueText":"true"}],"file":[{"path":"filename","operator":"Like","valueText":"%.mp4"}]}

Response

A list of files

object
enum<string>
required

Object type, always 'list'

Available options:
list
data
object[]
required

Array of file objects

total
integer
required

Total number of files matching the query

limit
integer
required

Number of items returned in this response

offset
integer
required

Offset from the start of the list