---
title: "List assets with filtering and pagination"
method: GET
path: "/api/assets"
tags: ["assets"]
---

# List assets with filtering and pagination

`GET /api/assets`

Returns a paginated list of assets, optionally filtered by tags, name, or other query parameters.

## Query parameters

- `limit` integer
- `offset` integer
- `include_tags` string[]
- `exclude_tags` string[]
- `name_contains` string
- `metadata_filter` string
- `sort` string
- `order` 'asc' | 'desc'
- `include_public` boolean
- `asset_hash` string

## Response `200`

Asset list

- ListAssetsResponse — Paginated list of assets.
  - `assets` Asset[], required
    - `id` string, uuid, required — Unique identifier for the asset
    - `name` string, required — Name of the asset file
    - `hash` string, nullable — Blake3 content hash of the asset (preferred over asset_hash)
    - `asset_hash` string, nullable — Deprecated: use `hash` instead. Blake3 hash of the asset content.
    - `size` integer, required — Size of the asset in bytes
    - `mime_type` string — MIME type of the asset
    - `tags` string[] — Tags associated with the asset
    - `user_metadata` object — Custom user metadata
    - `metadata` object — System-managed metadata (read-only)
    - `preview_url` string, uri — URL for asset preview/thumbnail
    - `preview_id` string, uuid — ID of the preview asset if available
    - `prompt_id` string, uuid, nullable — Deprecated: use job_id instead. ID of the prompt that created this asset.
    - `job_id` string, uuid, nullable — ID of the job that created this asset
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `last_access_time` string, date-time
    - `is_immutable` boolean — Whether this asset is immutable
  - `total` integer, required
  - `has_more` boolean, required

## Other responses

- `400` — Invalid request parameters
- `401` — Unauthorized
- `500` — Internal server error

## Changes

- **2026-05-22** `09a5075587c8` — 3 info
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - added the non-success response with the status `500`
- **2026-05-21** `0ed0aed7376c` — 1 warning
  - deleted the `query` request parameter `job_ids`
- **2026-05-19** `751ce8e3ddf2` — 2 warning
  - removed the optional property `assets/items/height` from the response with the `200` status
  - removed the optional property `assets/items/width` from the response with the `200` status
- **2026-05-08** `c9640fded659` — 2 breaking, 6 info
  - the response property `assets/items/asset_hash` became nullable for the status `200`
  - the response property `assets/items/prompt_id` became nullable for the status `200`
  - added the optional property `assets/items/hash` to the response with the `200` status
  - added the optional property `assets/items/height` to the response with the `200` status
  - …4 more
- **2026-05-05** `0d50eed29d03` — 3 info
  - added the new optional `query` request parameter `asset_hash`
  - added the new optional `query` request parameter `include_public`
  - added the new optional `query` request parameter `job_ids`

[Full history](https://skmtc.dev/comfy-org/apis/comfyui-api/changes/api/assets/get.md)

---

[API](https://skmtc.dev/comfy-org/apis/comfyui-api.md) · [All operations](https://skmtc.dev/comfy-org/apis/comfyui-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/comfy-org/comfyui-api/revisions/09a5075587c8/schema)
