---
title: "List team library assets"
method: GET
path: "/api/teams/{teamId}/assets"
tags: ["Teams"]
---

# List team library assets

`GET /api/teams/{teamId}/assets`

Returns a paginated list of assets stored in a team’s asset library, filtered by asset type. The response spans every sub-folder under the team’s library root. Requires the `workspace:read` scope.

## Path parameters

- `teamId` string, required

## Query parameters

- `type` 'image' | 'mesh' | 'video' | 'prompt' | 'color' | 'palette', required
- `page` number
- `pageSize` number

## Response `200`

A page of assets in the team library.

- object
  - `results` TeamAssetDto[], required
    - `id` string, required — Unique identifier of the asset.
    - `type` 'image' | 'mesh' | 'video' | 'prompt' | 'color' | 'palette', required — Asset type. Determines which optional fields are populated.
    - `name` string, required — Name of the asset.
    - `createdBy` object, nullable — Email address of the user who created the asset, or null for system-created assets.
    - `createdAt` string, required — ISO 8601 timestamp of asset creation.
    - `updatedAt` string, required — ISO 8601 timestamp of the last update.
    - `description` object, nullable — Free-text description. Populated for image, mesh, and video assets.
    - `imagePath` object, nullable — Time-limited download URL of the image file. Populated for image assets.
    - `meshPath` object, nullable — Time-limited download URL of the mesh file (GLB format, downloads with a `.glb` filename). Populated for mesh assets.
    - `videoPath` object, nullable — Time-limited download URL of the video file. Populated for video assets.
    - `thumbnailPath` object, nullable — Time-limited download URL of the thumbnail image. Populated for mesh, video, and prompt assets.
    - `promptText` string — Prompt body text. Populated for prompt assets.
    - `red` number — Red channel (0-255). Populated for color assets.
    - `green` number — Green channel (0-255). Populated for color assets.
    - `blue` number — Blue channel (0-255). Populated for color assets.
    - `colors` PaletteColorEntry[] — Ordered list of named hex color swatches. Populated for palette assets.
      - `name` string, required — Human-readable name of the color swatch.
      - `color` string, required — Hex color value including the leading `#` (6 hex digits).
  - `pagination` PaginationMetaDto, required
    - `totalPages` number, required — Total number of pages available for the current page size.
    - `currentPage` number, required — The 1-based page number of this response.
    - `totalCount` number, required — Total number of items matching the query across all pages.
    - `pageSize` number, required — Maximum number of items returned per page.

## Other responses

- `400` — Invalid `type`, `teamId`, or pagination parameters.
- `401` — Missing or invalid API key.
- `403` — The API key lacks the required scope, or the organization plan does not include public API access.
- `404` — The team does not exist or is not part of your workspace.
- `429` — Rate limit exceeded for the organization. See the X-RateLimit-* and Retry-After response headers.
- `500` — An unexpected error occurred.

---

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