# Get the teams board

Source: https://www.supervisible.com/developers/teams/get-teams-board

GET /teams/board



## GET /teams/board

Every team and pod at once: manager, members with their load, the projects each pod runs grouped by client with hours split into team/shared/unstaffed, what other teams work on, a week-by-week outlook, attention flags (people over capacity, projects ending or with no one booked) and open projects not in any pod. Loads and hours are averages per week over all the weeks asked for, the same figures the app shows for that view. Same payload as the MCP get_teams_board tool. Also needs read:projects and read:assignments, since it lists projects and who is booked on them.

Base URL: https://app.supervisible.com/api/v1

Required scope: read:teams

## Operation contract

The definition below includes parameters, request bodies, response schemas, examples and authentication requirements.

```json
{
  "summary": "Get the teams board",
  "description": "Every team and pod at once: manager, members with their load, the projects each pod runs grouped by client with hours split into team/shared/unstaffed, what other teams work on, a week-by-week outlook, attention flags (people over capacity, projects ending or with no one booked) and open projects not in any pod. Loads and hours are averages per week over all the weeks asked for, the same figures the app shows for that view. Same payload as the MCP get_teams_board tool. Also needs read:projects and read:assignments, since it lists projects and who is booked on them.",
  "tags": [
    "teams"
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "x-required-scope": "read:teams",
  "parameters": [
    {
      "in": "query",
      "name": "week_start",
      "required": false,
      "description": "First week of the board; snaps to its Sunday. Defaults to today.",
      "schema": {
        "type": "string",
        "description": "Date in YYYY-MM-DD format"
      }
    },
    {
      "in": "query",
      "name": "weeks",
      "required": false,
      "description": "How many weeks the board covers and every figure averages over, 1 to 12. Defaults to 8.",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "team_id",
      "required": false,
      "description": "Return only this team. projectsNotInAPod is omitted when set.",
      "schema": {
        "type": "string",
        "description": "UUID"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "Successful response",
      "content": {
        "application/json": {
          "example": {
            "data": {
              "weekStart": "2026-01-04",
              "summaryWeeks": 8,
              "note": "Loads and hours are averages per week over all 8 weeks, the same as the app's 8-week view. \"team\" hours are the owning team's members, \"shared\" anyone else, \"unstaffed\" placeholders with no one assigned.",
              "teams": [
                {
                  "id": "019cb675-c4d6-7e90-8806-25e5145c3a07",
                  "name": "Pod 3",
                  "isPod": true,
                  "manager": {
                    "id": "019cb675-c4df-7f8b-8a83-5f28581f5e7e",
                    "name": "Juan Méndez",
                    "title": "Design lead"
                  },
                  "loadPercent": 75,
                  "perWeek": {
                    "availableHours": 40,
                    "bookedHours": 30
                  },
                  "outlook": [
                    {
                      "weekStart": "2026-01-04",
                      "availableHours": 40,
                      "bookedHours": 30
                    }
                  ],
                  "members": [
                    {
                      "id": "019cb675-c4df-7f8b-8a83-5f28581f5e7e",
                      "name": "Juan Méndez",
                      "title": "Design lead",
                      "loadPercent": 75,
                      "perWeek": {
                        "availableHours": 40,
                        "bookedHours": 30
                      },
                      "weeksOverCapacity": 0
                    }
                  ],
                  "clients": [
                    {
                      "id": "019cb675-c4d6-7e90-8806-25e5145c3a08",
                      "name": "Acme",
                      "hoursPerWeek": {
                        "team": 30,
                        "shared": 0,
                        "unstaffed": 0,
                        "total": 30
                      },
                      "projects": [
                        {
                          "id": "019cb675-c4d6-7e90-8806-25e5145c3a06",
                          "displayId": "PRJ-12",
                          "name": "CRM Sync Project",
                          "startDate": "2026-01-01",
                          "endDate": "2026-03-01",
                          "hoursPerWeek": {
                            "team": 30,
                            "shared": 0,
                            "unstaffed": 0,
                            "total": 30
                          },
                          "signal": null
                        }
                      ]
                    }
                  ],
                  "worksOn": [],
                  "attention": {
                    "overMemberIds": [],
                    "endingProjectIds": [],
                    "unbookedProjectIds": []
                  }
                }
              ],
              "projectsNotInAPod": [],
              "totals": {
                "people": 1,
                "clients": 1,
                "loadPercent": 75,
                "perWeek": {
                  "availableHours": 40,
                  "bookedHours": 30
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "Invalid request"
    },
    "401": {
      "description": "Unauthorized"
    },
    "403": {
      "description": "Missing required scope or current member permission"
    },
    "404": {
      "description": "Not found"
    },
    "409": {
      "description": "Conflict; refresh current state and preview again"
    },
    "429": {
      "description": "Rate limited; honor Retry-After"
    }
  }
}
```

## Referenced definitions

```json
{
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "API Key"
      }
    }
  }
}
```

[Complete OpenAPI specification](https://www.supervisible.com/openapi/public-api-v1.json)
