## List project canvas nodes `$ flora projects list-nodes` **get** `/projects/{projectId}/nodes` Returns sanitized visible media nodes on a project canvas. The response omits raw graph documents, Liveblocks internals, raw Convex IDs, and unbounded node data blobs. ### Parameters - `--project-id: string` Project identifier - `--cursor: optional string` Opaque cursor for fetching the next page - `--limit: optional number` Maximum number of results to return ### Returns - `unnamed_schema_3: object { canvas_url, meta, nodes, project_id }` - `canvas_url: string` Project canvas URL - `meta: object { next_cursor, total_estimate }` - `next_cursor: string` Opaque cursor for fetching the next page - `total_estimate: optional number` Estimated total matching items - `nodes: array of object { node_id, type, asset_id, 4 more }` - `node_id: string` Canvas node identifier - `type: "image" or "video" or "audio" or "text"` Canvas node media type - `"image"` - `"video"` - `"audio"` - `"text"` - `asset_id: optional string` Asset identifier - `height: optional number` - `label: optional string` Canvas node label - `url: optional string` Canvas node output URL or text content - `width: optional number` - `project_id: string` Project identifier ### Example ```cli flora projects list-nodes \ --api-key 'My API Key' \ --project-id prj_abc123 ``` #### Response ```json { "canvas_url": "https://example.com", "meta": { "next_cursor": "eyJvZmZzZXQiOjIwfQ", "total_estimate": 0 }, "nodes": [ { "node_id": "node_abc123", "type": "image", "asset_id": "asset_abc123", "height": 0, "label": "Logo", "url": "https://media.flora.ai/output.png", "width": 0 } ], "project_id": "prj_abc123" } ```