---
title: "List uploads"
method: GET
path: "/v1/uploads"
tags: ["Uploads"]
---

# List uploads

`GET /v1/uploads`

List all uploads ([CSV files and spreadsheets](/analyze-explore/data-input-csvs)) in the organization with metadata and optional filtering.

This endpoint requires **Organization Admin** permissions.

## Query parameters

- `type` 'csv' | 'spreadsheet'
- `connectionId` string, uuid
- `modelId` string, uuid
- `searchTerm` string
- `pageSize` integer
- `cursor` string
- `sortField` 'createdAt' | 'fileName' | 'updatedAt'
- `sortDirection` 'asc' | 'desc'

## Response `200`

Uploads retrieved successfully.

- object
  - `pageInfo` PageInfo — Pagination information for paginated responses.
    - `hasNextPage` boolean — Indicates if there are more records available.
    - `nextCursor` string, nullable — Cursor for the next page of results. `null` if no more results.
    - `pageSize` integer — Number of records per page.
    - `totalRecords` integer — Total number of records matching the query.
  - `records` object[]
    - `id` string, uuid — Unique ID for the upload.
    - `file_name` string — Original file name.
    - `view_name` string — View name in the model.
    - `connection_id` string, uuid — ID of the connection associated with the upload.
    - `in_db_as_table_name` string, nullable — **Requires that the connection have a defined table upload schema.** The name of the database table associated with the upload.
    - `model_id` string, uuid, nullable — ID of the model the upload is associated with. Inferred from connection's shared model if not explicitly set via query parameter.
    - `size_bytes` integer, nullable — File size in bytes.
    - `created_at` string, date-time — ISO 8601 timestamp of when the upload was created.
    - `updated_at` string, date-time — ISO 8601 timestamp of when the upload was last updated.
    - `uploaded_by_user` object, nullable — User who uploaded the file. null if unknown.
      - `id` string, uuid — Membership ID.
      - `name` string — User display name.

## Other responses

- `400` — Bad Request. Possible error messages include: - `connectionId: Invalid uuid`
- `401` — Missing or invalid authentication.
- `403` — Insufficient permissions. Requires `MANAGE_UPLOADS` permission.
- `404` — Model not found (invalid `modelId`).
- `429` — Too Many Requests - Rate limit exceeded (60 requests/minute)

---

[API](https://skmtc.net/omni/apis/omni-api.md) · [All operations](https://skmtc.net/omni/apis/omni-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/omni/omni-api/revisions/6b02f7349d0e/schema)
