# List someone's teams

> The teams someone is in within a workspace, as list_teams describes them, leaving out secret teams you cannot see.

<div class="g1t-endpoint"><span class="g1t-method" data-method="get">GET</span><code>/workspaces/{workspace}/members/{username}/teams</code></div>

Members of the workspace only.

Only the teams they are in themselves, not the parents those teams are under. Secret teams you are not in are left out unless you are an owner. `403` for anyone who is not a member of the workspace.

- **Authentication:** Required. Send an [access token](/reference/api/#authentication) as `Authorization: Bearer`.
- **MCP tool:** [`team`](/reference/mcp/#team) with `action` `list_user_teams`, and the same inputs
- **Scope:** An access token needs [`workspace:read`](/guides/authentication/#scopes).

## Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `workspace` | string | Yes | The workspace's slug, e.g. "flagon-io". |
| `username` | string | Yes | The person's username. |

## Example request

```sh
curl https://api.g1t.sh/workspaces/flagon-io/members/ana/teams \
  -H "Authorization: Bearer $G1T_TOKEN"
```

## Example response

A successful request answers `200` with:

```json
[
  {
    "id": "team_01m52k8d3f7h1k5n9r3v7z1c5g",
    "workspace": "flagon-io",
    "slug": "backend",
    "name": "Backend",
    "description": "The API and the services behind it.",
    "visibility": "visible",
    "parent": {
      "slug": "engineering",
      "name": "Engineering"
    },
    "notify": true,
    "review_assignment": {
      "enabled": false,
      "algorithm": "round_robin",
      "count": 1,
      "skip_busy": false,
      "busy_at": 5,
      "include_child_teams": false,
      "excluded": [],
      "notify_team": false
    },
    "members_count": 4,
    "repos_count": 2,
    "child_teams_count": 1,
    "viewer_role": null,
    "can_manage": false,
    "created_at": "2026-10-06T15:02:11.480Z",
    "updated_at": "2026-10-06T15:02:11.480Z"
  }
]
```

## Errors

A failed request answers with one of these statuses and a body like `{"error": {"code": "not_found", "message": "Repository not found."}}`. See [errors](/reference/api/#errors).

| Status | Code | When |
| --- | --- | --- |
| 401 | `unauthenticated` | A token is required, or the one sent is not valid. |
| 403 | `forbidden` | The token is valid but not allowed to do this, such as a member-only change or an agent token outside its repository. |
| 404 | `not_found` | It does not exist, or you cannot see it. |
| 422 | `invalid` | The input is not valid. `message` says which field and why. |
