Skip to content
FLORA DocsGo to app

List assets

client.assets.list(AssetListParams { cursor, limit, project_id, 2 more } query?, RequestOptionsoptions?): AssetsCursorPage<AssetListResponse { asset_id, content_type, created_at, 12 more } >
GET/assets

Returns assets visible to the authenticated public API key. Filter by workspace, project canvas, search query, cursor, and limit without exposing raw file bytes or internal graph data.

ParametersExpand Collapse
query: AssetListParams { cursor, limit, project_id, 2 more }
cursor?: string

Opaque cursor for fetching the next page

limit?: number

Maximum number of results to return

minimum1
maximum100
project_id?: string

Project identifier

query?: string

Search query

workspace_id?: string

Workspace identifier

ReturnsExpand Collapse
AssetListResponse { asset_id, content_type, created_at, 12 more }
asset_id: string | null

Asset identifier

content_type: string

Asset content type

created_at: number | null
description: string | null

Asset description

height: number | null
name: string | null

Asset name

size_bytes: number | null
status: "pending_upload" | "ready" | "failed"
One of the following:
"pending_upload"
"ready"
"failed"
upload_content_type: string | null

Content type provided at upload time

uploaded_via: string

Asset source

url: string | null

Asset URL

formaturi
width: number | null
workspace_id: string | null

Workspace identifier

node_id?: string | null

Associated node identifier

project_id?: string | null

Project identifier

List assets

import Flora from '@flora-ai/flora';

const client = new Flora({
  apiKey: process.env['FLORA_API_KEY'], // This is the default and can be omitted
});

// Automatically fetches more pages as needed.
for await (const assetListResponse of client.assets.list()) {
  console.log(assetListResponse.asset_id);
}
{
  "assets": [
    {
      "asset_id": "asset_abc123",
      "content_type": "content_type",
      "created_at": 0,
      "description": "description",
      "height": 0,
      "name": "name",
      "size_bytes": 0,
      "status": "pending_upload",
      "upload_content_type": "upload_content_type",
      "uploaded_via": "uploaded_via",
      "url": "https://example.com",
      "width": 0,
      "workspace_id": "ws_abc123",
      "node_id": "node_abc123",
      "project_id": "prj_abc123"
    }
  ],
  "meta": {
    "next_cursor": "eyJvZmZzZXQiOjIwfQ",
    "total_estimate": 0
  }
}
{
  "error": {
    "code": "input_validation_error",
    "message": "prompt: Required",
    "fields": [
      {
        "field": "prompt",
        "message": "Required"
      }
    ]
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid API key."
  }
}
{
  "error": {
    "code": "insufficient_credits",
    "message": "Insufficient credits."
  }
}
{
  "error": {
    "code": "forbidden",
    "message": "Forbidden."
  }
}
{
  "error": {
    "code": "not_found",
    "message": "Not found."
  }
}
{
  "error": {
    "code": "idempotency_duplicate",
    "message": "Duplicate idempotency key."
  }
}
{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit exceeded."
  }
}
{
  "error": {
    "code": "unknown_error",
    "message": "An unknown error occurred."
  }
}
Returns Examples
{
  "assets": [
    {
      "asset_id": "asset_abc123",
      "content_type": "content_type",
      "created_at": 0,
      "description": "description",
      "height": 0,
      "name": "name",
      "size_bytes": 0,
      "status": "pending_upload",
      "upload_content_type": "upload_content_type",
      "uploaded_via": "uploaded_via",
      "url": "https://example.com",
      "width": 0,
      "workspace_id": "ws_abc123",
      "node_id": "node_abc123",
      "project_id": "prj_abc123"
    }
  ],
  "meta": {
    "next_cursor": "eyJvZmZzZXQiOjIwfQ",
    "total_estimate": 0
  }
}
{
  "error": {
    "code": "input_validation_error",
    "message": "prompt: Required",
    "fields": [
      {
        "field": "prompt",
        "message": "Required"
      }
    ]
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid API key."
  }
}
{
  "error": {
    "code": "insufficient_credits",
    "message": "Insufficient credits."
  }
}
{
  "error": {
    "code": "forbidden",
    "message": "Forbidden."
  }
}
{
  "error": {
    "code": "not_found",
    "message": "Not found."
  }
}
{
  "error": {
    "code": "idempotency_duplicate",
    "message": "Duplicate idempotency key."
  }
}
{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit exceeded."
  }
}
{
  "error": {
    "code": "unknown_error",
    "message": "An unknown error occurred."
  }
}