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

# List files

`GET /v1/files`

List project files, newest first by default. Use `last_id` as `after` to page.

## Query parameters

- `purpose` 'batch' | 'batch_output'
- `order` 'desc' | 'asc'
- `after` string
- `limit` integer

## Headers

- `x-project-id` string

## Response `200`

File list

- FileList
  - `object` 'list'
  - `data` File[]
    - `id` string — Prefixed with `file-`.
    - `object` 'file'
    - `bytes` integer
    - `created_at` integer
    - `filename` string
    - `purpose` 'batch' | 'batch_output' — Uploads use `batch`; batch results use `batch_output`.
    - `status` 'uploaded' | 'processed' | 'error'
    - `status_details` string
    - `expires_at` integer
    - `is_error` boolean — ZeroGPU extension. `true` on batch error output files only.
  - `first_id` string, nullable
  - `last_id` string, nullable
  - `has_more` boolean

## Other responses

- `400` — Invalid limit
- `401` — Missing authentication headers
- `403` — Invalid credentials
- `429` — Insufficient quota
- `500` — Internal server error

---

[API](https://skmtc.dev/zerogpu/apis/zerogpu-batch-files-api.md) · [All operations](https://skmtc.dev/zerogpu/apis/zerogpu-batch-files-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zerogpu/zerogpu-batch-files-api/revisions/f7371035d1a2/schema)
