--- title: Projects | FLORA API description: Create, list, retrieve, and attach assets to FLORA projects. --- Projects group generated work and assets inside a workspace. Use projects when you want API-created assets and runs to appear together in FLORA. ## List projects Terminal window ``` curl "https://app.flora.ai/api/v1/projects?workspace_id=ws_XXXX&limit=10" \ -H "Authorization: Bearer sk_live_XXXX" ``` Response: ``` { "projects": [ { "project_id": "proj_...", "name": "Campaign concepts" } ] } ``` ## Create a project Terminal window ``` curl -X POST https://app.flora.ai/api/v1/projects \ -H "Authorization: Bearer sk_live_XXXX" \ -H "Content-Type: application/json" \ -d '{ "workspace_id": "ws_XXXX", "name": "Campaign concepts" }' ``` Some keys may not have permission to create projects. In that case, the API returns `403 forbidden`. ## Retrieve a project Terminal window ``` curl https://app.flora.ai/api/v1/projects/proj_XXXX \ -H "Authorization: Bearer sk_live_XXXX" ``` ## List project nodes Terminal window ``` curl https://app.flora.ai/api/v1/projects/proj_XXXX/nodes \ -H "Authorization: Bearer sk_live_XXXX" ``` Project nodes are the items shown inside a FLORA project canvas or workspace view. ## Attach an asset to a project After creating or uploading an asset, attach it to a project: Terminal window ``` curl -X POST https://app.flora.ai/api/v1/projects/proj_XXXX/assets/asset_XXXX/attach \ -H "Authorization: Bearer sk_live_XXXX" ``` ## Common endpoints | Method | Path | Description | | ------ | -------------------------------------------------------- | ---------------------------- | | GET | `/api/v1/projects?workspace_id={workspace_id}&limit=10` | List projects | | POST | `/api/v1/projects` | Create a project | | GET | `/api/v1/projects/{project_id}` | Retrieve a project | | GET | `/api/v1/projects/{project_id}/nodes` | List project nodes | | POST | `/api/v1/projects/{project_id}/assets/{asset_id}/attach` | Attach an asset to a project | ## Notes - `workspace_id` is required when listing or creating projects. - Permission-sensitive operations can return `403 forbidden`. - Use project IDs from the list or create response in run creation payloads when you want generations associated with a project.