projects_list
ManagementList Projects
List projects within a specific team. Use this after teams_list when an OAuth workflow needs a project_id.
Returns: the projects available in the given team, plus nextPaginationToken when more pages may exist (a page can be short or empty while one is returned: keep following it). If multiple projects are returned, ask the user which project to use before calling write or generation tools.
Examples:
- "Show projects for this team" -> team_id="<team_id from teams_list>"
- "Pick a project before model_run" -> call projects_list after the user confirms the team
Don't use when: You do not know the team yet. Use teams_list first. To create, rename or delete a project, use project_create / project_update / project_delete (catalog-only — run via scenario_tool_execute_write or _delete); project_get (catalog-only, scenario_tool_execute_read) returns one project's details.
read-onlyidempotentopen-world
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| team_id | string | — | Team ID. Required from teams_list before listing projects. |
| project_id | string | — | Optional. Does not affect the listing — every project in the team is returned. |
| response_format | enum(json | markdown) | json | Output format: 'json' for structured data, 'markdown' for human-readable text. |
| limit | number | — | Projects per page, 1-100. The API returns 50 when omitted. |
| page_token | string | — | nextPaginationToken from the previous page, to fetch the next one. Pages are filtered to the projects you can access, so a page can be short or empty while a token is still returned: keep following it until it is absent. |
Example Request
JSON
{
"team_id": "team_abc123"
}Example Response
JSON
{
"projects": [
{
"id": "proj_xyz789",
"name": "Fantasy RPG"
}
]
}Common Use Cases
- Find project IDs for a selected team before using OAuth-protected tools
- Confirm whether a team has multiple projects and prompt the user to choose one