Files
Get all files
Retrieve a list of files with optional filtering and pagination
Authorization
Authorization
header
string
required
Enter the project access token with the Bearer prefix, e.g. "Bearer project_access_token"
Query Parameters
Pagination limit (max 100)
Required range: 1 <= x <= 100
Filter by duration greater than or equal
Required range: x >= 0
Filter by duration greater than
Required range: x >= 0
Filter by duration less than or equal
Required range: x >= 0
Filter by duration less than
Required range: x >= 0
Filter by creation date greater than or equal (UNIX epoch time)
Required range: x >= 0
Filter by creation date less than or equal (UNIX epoch time)
Required range: x >= 0
Filter by width greater than or equal
Filter by width greater than
Filter by width less than or equal
Filter by width less than
Filter by height greater than or equal
Required range: 0 <= x <= 8192
Filter by height greater than
Filter by height less than or equal
Filter by height less than
Filter by exact file size
Filter by file size greater than or equal
Filter by file size greater than
Filter by file size less than or equal
Filter by file size less than
created.sort
default: "asc"
string
Sort by creation date (asc/desc)
Available options:
ascdesc
Filter by path (case insensitive)
Responses
application/jsonData contains the paginated file items
audio_bitrate
integer
required
Audio bitrate in bits per second
audio_codec
string
required
created_at
string
date-time
required
Timestamp when the file was created
Examples:
2025-01-01T12:00:00Z
Duration of the video in seconds
Height of the video in pixels
Unique identifier of the file
Examples:
file_2G6MJiNz71bHQGNzGwKx5cJwPFS
ID of the job that created this file
Examples:
job_2G6MJiNz71bHQGNzGwKx5cJwPFS
Path to the file in storage
Examples:
path/to/file.mp4
Size of the file in bytes
StorageId identifier where the file is stored
Examples:
stor_chunkify_2wLmj1fp8neUaFAWwwxvzKAT0Fa
Pre-signed URL to directly access the file (only included when available)
Examples:
https://my-bucket.s3.us-east-1.amazonaws.com/path/to/file.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256
video_bitrate
integer
required
Video bitrate in bits per second
video_codec
string
required
video_framerate
number
required
Video framerate in frames per second
Width of the video in pixels
Stable, unsigned CDN delivery URL derived from the file's current storage configuration. Omitted when no CDN base URL is configured.
Examples:
https://media.example.com/path/to/file.mp4
Limit indicates the maximum number of items in the current response
Offset indicates the offset of the first item in the current response
status
"success"
string
required
Status indicates the response status "success"
Total indicates the total number of items
Successful response
application/jsonError response details
Code is the HTTP status code
Message is a human-readable error description
Examples:
Authentication error: invalid token or subscription inactive
type
"AuthenticationError"
string
required
Type indicates the error category
Available options:
AuthenticationError
status
"error"
string
required
Status indicates the response status "error"
Authentication error: invalid token or subscription inactive
application/jsonError response details
Code is the HTTP status code
Message is a human-readable error description
Examples:
Rate limit exceeded
type
"TooManyRequestsError"
string
required
Type indicates the error category
Available options:
TooManyRequestsError
status
"error"
string
required
Status indicates the response status "error"
Rate limit exceeded
# Get all files
> Retrieve a list of files with optional filtering and pagination
```json
{
"path": "/api/files",
"method": "get",
"schema": {
"description": "Retrieve a list of files with optional filtering and pagination",
"operationId": "listFiles",
"parameters": [
{
"description": "Filter by file ID",
"in": "query",
"name": "id",
"schema": {
"type": "string"
}
},
{
"description": "Pagination offset",
"in": "query",
"name": "offset",
"schema": {
"default": 0,
"minimum": 0,
"type": "integer"
}
},
{
"description": "Pagination limit (max 100)",
"in": "query",
"name": "limit",
"schema": {
"default": 100,
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
{
"description": "Filter by exact duration",
"in": "query",
"name": "duration.eq",
"schema": {
"minimum": 0,
"type": "number"
}
},
{
"description": "Filter by duration greater than or equal",
"in": "query",
"name": "duration.gte",
"schema": {
"minimum": 0,
"type": "number"
}
},
{
"description": "Filter by duration greater than",
"in": "query",
"name": "duration.gt",
"schema": {
"minimum": 0,
"type": "number"
}
},
{
"description": "Filter by duration less than or equal",
"in": "query",
"name": "duration.lte",
"schema": {
"minimum": 0,
"type": "number"
}
},
{
"description": "Filter by duration less than",
"in": "query",
"name": "duration.lt",
"schema": {
"minimum": 0,
"type": "number"
}
},
{
"description": "Filter by creation date greater than or equal (UNIX epoch time)",
"in": "query",
"name": "created.gte",
"schema": {
"examples": [
"1764238404"
],
"format": "epoch",
"minimum": 0,
"type": "integer"
}
},
{
"description": "Filter by creation date less than or equal (UNIX epoch time)",
"in": "query",
"name": "created.lte",
"schema": {
"examples": [
"1764238404"
],
"format": "epoch",
"minimum": 0,
"type": "integer"
}
},
{
"description": "Filter by exact width",
"in": "query",
"name": "width.eq",
"schema": {
"type": "integer"
}
},
{
"description": "Filter by width greater than or equal",
"in": "query",
"name": "width.gte",
"schema": {
"type": "integer"
}
},
{
"description": "Filter by width greater than",
"in": "query",
"name": "width.gt",
"schema": {
"type": "integer"
}
},
{
"description": "Filter by width less than or equal",
"in": "query",
"name": "width.lte",
"schema": {
"type": "integer"
}
},
{
"description": "Filter by width less than",
"in": "query",
"name": "width.lt",
"schema": {
"type": "integer"
}
},
{
"description": "Filter by exact height",
"in": "query",
"name": "height.eq",
"schema": {
"type": "integer"
}
},
{
"description": "Filter by height greater than or equal",
"in": "query",
"name": "height.gte",
"schema": {
"maximum": 8192,
"minimum": 0,
"type": "integer"
}
},
{
"description": "Filter by height greater than",
"in": "query",
"name": "height.gt",
"schema": {
"type": "integer"
}
},
{
"description": "Filter by height less than or equal",
"in": "query",
"name": "height.lte",
"schema": {
"type": "integer"
}
},
{
"description": "Filter by height less than",
"in": "query",
"name": "height.lt",
"schema": {
"type": "integer"
}
},
{
"description": "Filter by exact file size",
"in": "query",
"name": "size.eq",
"schema": {
"type": "integer"
}
},
{
"description": "Filter by file size greater than or equal",
"in": "query",
"name": "size.gte",
"schema": {
"type": "integer"
}
},
{
"description": "Filter by file size greater than",
"in": "query",
"name": "size.gt",
"schema": {
"type": "integer"
}
},
{
"description": "Filter by file size less than or equal",
"in": "query",
"name": "size.lte",
"schema": {
"type": "integer"
}
},
{
"description": "Filter by file size less than",
"in": "query",
"name": "size.lt",
"schema": {
"type": "integer"
}
},
{
"description": "Filter by audio codec",
"in": "query",
"name": "audio_codec",
"schema": {
"type": "string"
}
},
{
"description": "Filter by video codec",
"in": "query",
"name": "video_codec",
"schema": {
"type": "string"
}
},
{
"description": "Sort by creation date (asc/desc)",
"in": "query",
"name": "created.sort",
"schema": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
}
},
{
"description": "Filter by job ID",
"in": "query",
"name": "job_id",
"schema": {
"type": "string"
}
},
{
"description": "Filter by mime type",
"in": "query",
"name": "mime_type",
"schema": {
"type": "string"
}
},
{
"description": "Filter by storage ID",
"in": "query",
"name": "storage_id",
"schema": {
"type": "string"
}
},
{
"description": "Filter by path",
"in": "query",
"name": "path.eq",
"schema": {
"type": "string"
}
},
{
"description": "Filter by path (case insensitive)",
"in": "query",
"name": "path.ilike",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FileListResponse"
}
}
},
"description": "Successful response"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorAuthentication"
}
}
},
"description": "Authentication error: invalid token or subscription inactive"
},
"429": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorTooManyRequests"
}
}
},
"description": "Rate limit exceeded"
}
},
"security": [
{
"ProjectAccessToken": []
}
],
"summary": "Get all files",
"tags": [
"Files"
],
"x-codeSamples": [
{
"lang": "JavaScript",
"source": "import Chunkify from '@chunkify/chunkify';\n\nconst client = new Chunkify({\n projectAccessToken: 'My Project Access Token',\n});\n\n// Automatically fetches more pages as needed.\nfor await (const file of client.files.list()) {\n console.log(file.id);\n}"
},
{
"lang": "Python",
"source": "from chunkify import Chunkify\n\nclient = Chunkify(\n project_access_token=\"My Project Access Token\",\n)\n\n# Automatically fetches more pages as needed.\nfor file in client.files.list():\n print(file.id)"
},
{
"lang": "php",
"source": "\u003c?php\n\nuse Chunkify\\Client;\n\n$client = new Client(\n projectAccessToken: 'My Project Access Token',\n);\n\n// Automatically fetches more pages as needed.\nforeach ($client-\u003efiles-\u003elist()-\u003epagingEachItem() as $file) {\n var_dump($file-\u003eid);\n}"
},
{
"lang": "Go",
"source": "package main\n\nimport (\n \"context\"\n \"fmt\"\n\n \"github.com/chunkifydev/chunkify-go\"\n \"github.com/chunkifydev/chunkify-go/option\"\n)\n\nfunc main() {\n client := chunkify.NewClient(\n option.WithProjectAccessToken(\"My Project Access Token\"),\n )\n page, err := client.Files.List(context.TODO(), chunkify.FileListParams{})\n if err != nil {\n panic(err.Error())\n }\n\n // Loop through the pages and print the file IDs\n for page != nil {\n for _, file := range page.Data {\n fmt.Printf(\"%+v\\n\", file.ID)\n }\n page, err = page.GetNextPage()\n if err != nil {\n panic(err.Error())\n }\n }\n}\n"
}
]
}
}
```
```json #/components/schemas/FileListResponse
{
"description": "Paginated response containing a list of files",
"properties": {
"data": {
"description": "Data contains the paginated file items",
"items": {
"$ref": "#/components/schemas/File"
},
"type": "array"
},
"limit": {
"description": "Limit indicates the maximum number of items in the current response",
"type": "integer"
},
"offset": {
"description": "Offset indicates the offset of the first item in the current response",
"type": "integer"
},
"status": {
"const": "success",
"description": "Status indicates the response status \"success\"",
"type": "string"
},
"total": {
"description": "Total indicates the total number of items",
"type": "integer"
}
},
"required": [
"data",
"limit",
"offset",
"status",
"total"
],
"type": "object"
}
```
```json #/components/schemas/File
{
"properties": {
"audio_bitrate": {
"description": "Audio bitrate in bits per second",
"examples": [
128000
],
"type": "integer"
},
"audio_codec": {
"description": "Audio codec used",
"examples": [
"aac"
],
"type": "string"
},
"cdn_url": {
"description": "Stable, unsigned CDN delivery URL derived from the file's current storage configuration. Omitted when no CDN base URL is configured.",
"examples": [
"https://media.example.com/path/to/file.mp4"
],
"format": "uri",
"nullable": true,
"type": "string"
},
"created_at": {
"description": "Timestamp when the file was created",
"examples": [
"2025-01-01T12:00:00Z"
],
"format": "date-time",
"type": "string"
},
"duration": {
"description": "Duration of the video in seconds",
"examples": [
120
],
"type": "integer"
},
"height": {
"description": "Height of the video in pixels",
"examples": [
1080
],
"type": "integer"
},
"id": {
"description": "Unique identifier of the file",
"examples": [
"file_2G6MJiNz71bHQGNzGwKx5cJwPFS"
],
"type": "string"
},
"job_id": {
"description": "ID of the job that created this file",
"examples": [
"job_2G6MJiNz71bHQGNzGwKx5cJwPFS"
],
"type": "string"
},
"mime_type": {
"description": "MIME type of the file",
"examples": [
"video/mp4"
],
"type": "string"
},
"path": {
"description": "Path to the file in storage",
"examples": [
"path/to/file.mp4"
],
"type": "string"
},
"size": {
"description": "Size of the file in bytes",
"examples": [
1234567
],
"type": "integer"
},
"storage_id": {
"description": "StorageId identifier where the file is stored",
"examples": [
"stor_chunkify_2wLmj1fp8neUaFAWwwxvzKAT0Fa"
],
"type": "string"
},
"url": {
"description": "Pre-signed URL to directly access the file (only included when available)",
"examples": [
"https://my-bucket.s3.us-east-1.amazonaws.com/path/to/file.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256"
],
"type": "string"
},
"video_bitrate": {
"description": "Video bitrate in bits per second",
"examples": [
20000000
],
"type": "integer"
},
"video_codec": {
"description": "Video codec used",
"examples": [
"h264"
],
"type": "string"
},
"video_framerate": {
"description": "Video framerate in frames per second",
"examples": [
29.97
],
"type": "number"
},
"width": {
"description": "Width of the video in pixels",
"examples": [
1920
],
"type": "integer"
}
},
"required": [
"id",
"job_id",
"storage_id",
"path",
"size",
"mime_type",
"duration",
"width",
"height",
"video_bitrate",
"video_codec",
"video_framerate",
"audio_codec",
"audio_bitrate",
"created_at",
"url"
],
"type": "object"
}
```
```json #/components/schemas/ResponseErrorAuthentication
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 401,
"description": "Code is the HTTP status code",
"examples": [
401
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Authentication error: invalid token or subscription inactive"
],
"type": "string"
},
"type": {
"const": "AuthenticationError",
"description": "Type indicates the error category",
"enum": [
"AuthenticationError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```
```json #/components/schemas/ResponseErrorTooManyRequests
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 429,
"description": "Code is the HTTP status code",
"examples": [
429
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Rate limit exceeded"
],
"type": "string"
},
"type": {
"const": "TooManyRequestsError",
"description": "Type indicates the error category",
"enum": [
"TooManyRequestsError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```