## List workspace projects `client.Projects.List(ctx, query) (*ProjectsCursorPage[ProjectListResponse], error)` **get** `/projects` Returns projects in the requested workspace that are accessible to the authenticated public API key, ordered by recent activity. ### Parameters - `query ProjectListParams` - `WorkspaceID param.Field[string]` Workspace identifier - `Cursor param.Field[string]` Opaque cursor for fetching the next page - `Limit param.Field[int64]` Maximum number of results to return - `Query param.Field[string]` Search query ### Returns - `type ProjectListResponse struct{…}` - `CreatedAt float64` - `LastModified float64` - `Name string` Project name - `Origin string` Project origin - `ProjectID string` Project identifier - `WorkspaceID string` Workspace identifier ### Example ```go package main import ( "context" "fmt" "github.com/florafauna-ai/flora-go" "github.com/florafauna-ai/flora-go/option" ) func main() { client := flora.NewClient( option.WithAPIKey("My API Key"), ) page, err := client.Projects.List(context.TODO(), flora.ProjectListParams{ WorkspaceID: "ws_abc123", }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "meta": { "next_cursor": "eyJvZmZzZXQiOjIwfQ", "total_estimate": 0 }, "projects": [ { "created_at": 0, "last_modified": 0, "name": "Spring Campaign", "origin": "api", "project_id": "prj_abc123", "workspace_id": "ws_abc123" } ] } ```