List projects in the workspace.
Returns project summaries with fields [id, name, workflow_state, client_id]
by default. Use the `fields` parameter to request more detail.
Projects are grouped into sections: recent, all, active, archived.
By default all sections are merged (recent first, then the rest from `all`),
deduplicated. Use `only` to restrict to a single section.
When `ids` is provided, specific projects are fetched directly. `ids` is
mutually exclusive with search, sort_by, sort_order, client_id, and only.
A `referenced` block lists unique client_ids seen across the returned
projects, so callers can fetch client details in one follow-up call.
Args:
workspace_id: Workspace slug (required).
ids: Fetch specific projects by ID.
Mutually exclusive with search, sort_by, sort_order, client_id, only.
fields: List of fields to return. Defaults to
[id, name, workflow_state, client_id] when omitted. Available fields:
id, name, workflow_state, client_id, is_fixed_price, is_private,
follower_ids, time_budget, task_counts_by_workflow_state, blocks,
time_stats, time_spent_per_user, charges_stats.
Note: time_stats, time_spent_per_user, and charges_stats are
computed server-side and may be slower to fetch.
limit: Maximum number of projects to return (default: 50).
search: Free-text search query (filters by project name).
sort_by: Sort field — one of: name, client_name, tasks_todo, time_spent, time_remaining.
sort_order: Sort direction — asc or desc.
client_id: Filter to return only this client's projects.
only: Return only projects from this section: recent, all, active, or archived.