> ## Documentation Index
> Fetch the complete documentation index at: https://veryfront.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# List uploads

> List the uploads the caller can see under an optional folder prefix, newest first by default, with the visible folders in a separate list.

`uploads(input: UploadsInput!): UploadList!`

Requires project.uploads.read.

## Arguments

| Argument | Type | Required |
| - | - | - |
| `input` | [`UploadsInput!`](https://veryfront.com/docs/cloud/graphql/types/uploadsinput) | Yes |

## Input fields

### input

[`UploadsInput`](https://veryfront.com/docs/cloud/graphql/types/uploadsinput)

| Field | Type | Required | Description |
| - | - | - | - |
| `projectReference` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) | Yes | Project UUID, slug or configured domain. |
| `path` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | No | Folder prefix; a supplied path selects its direct-child uploads. Omit it to list the whole project. |
| `recursive` | [`Boolean`](https://veryfront.com/docs/cloud/graphql/types/boolean) | No | Expand nested folders in folders (default true). It does not change which uploads are listed. |
| `sortBy` | [`UploadSortBy`](https://veryfront.com/docs/cloud/graphql/types/uploadsortby) | No | Sort field: created\_at (default), name or size\_bytes. Ties break by upload ID ascending. |
| `sortOrder` | [`UploadSortOrder`](https://veryfront.com/docs/cloud/graphql/types/uploadsortorder) | No | Sort direction: asc or desc (default). |
| `cursor` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | No | pageInfo.endCursor of the previous page; send it unchanged with the same path and sort. |
| `limit` | [`Int`](https://veryfront.com/docs/cloud/graphql/types/int) | No | Uploads scanned per page before visibility filtering (default 20, max 100). |

## Response

Returns [`UploadList!`](https://veryfront.com/docs/cloud/graphql/types/uploadlist). Open the type for its fields and nested types.

| Field | Type | Description |
| - | - | - |
| `data` | [`[Upload!]!`](https://veryfront.com/docs/cloud/graphql/types/upload) | Visible uploads of this page. |
| `folders` | [`[UploadFolder!]!`](https://veryfront.com/docs/cloud/graphql/types/uploadfolder) | Visible folders. They are separate from the upload cursor and not limited by the page size. |
| `pageInfo` | [`PageInfo!`](https://veryfront.com/docs/cloud/graphql/types/pageinfo) | Continue from endCursor while hasNextPage is true, even when data is empty. |

Types marked with `!` cannot be null. Lists use `[Type]` notation. The [type index](https://veryfront.com/docs/cloud/graphql/schema.md) lists all published input and response types.

## Example

```graphql title="query.graphql" theme={null}
query Uploads($input: UploadsInput!) {
  uploads(input: $input) {
    data {
      id
      status
      createdAt
      updatedAt
      contentType
    }
    folders {
      createdAt
      path
      permission
      visibility
    }
    pageInfo {
      hasNextPage
      endCursor
      hasPreviousPage
      startCursor
    }
  }
}
```

```json title="variables.json" theme={null}
{
  "input": {
    "projectReference": "00000000-0000-4000-8000-000000000001"
  }
}
```

<details>
  <summary>Try this query</summary>

  Calls use `https://api.veryfront.com/graphql`. Replace sample values with resources you can access. See [Authentication](https://veryfront.com/docs/cloud/authentication.md) for credentials and permissions.

  Bearer token or API key

  Stored in this tab's session. Clear credential

  Query

  Variables (JSON)
</details>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.