# Get the dashboard layout

Source: https://workroad.app/docs/api/get-dashboard-layout

`GET https://workroad.app/api/v1/settings/dashboard`

The dashboard cards shown, in order, and their sizes.

- MCP tool: `getDashboardLayout` on `https://workroad.app/api/mcp`
- Required scopes: settings:view
- Test mode: `GET https://workroad.app/api/test/v1/settings/dashboard` checks the request and returns the example response without changing anything.

## Response

`200` OK

- `data`: object, required
  - `widgets`: array of objects, required. The cards shown, in order. A card left out is hidden.
    - `id`: one of `"reviews"`, `"schedule"`, `"tasks"`, `"copilot"`, `"continue-studying"`, `"streaks"`, `"contribution"`, `"generation-activity"`, required
    - `size`: one of `"single"`, `"wide"`, required
  - `updatedAt`: string (date-time) or null, required. When the layout was last saved, or null while the default is shown.

### Example

```json
{
  "data": {
    "widgets": [
      {
        "id": "reviews",
        "size": "single"
      },
      {
        "id": "schedule",
        "size": "wide"
      },
      {
        "id": "tasks",
        "size": "single"
      }
    ],
    "updatedAt": "2026-02-01T12:00:00.000Z"
  }
}
```

## Errors

Every error has the body `{ "error": { "code", "message", "details" } }`.

- `400`: Invalid request body or query
- `401`: Missing, invalid, disabled or expired API key
- `403`: The API key lacks the required scope
- `404`: No endpoint exists at this path.
- `405`: Method not allowed. Use a method from the Allow header.
- `429`: Rate limit exceeded. Wait for Retry-After before retrying. The rate-limit headers are absent when the key's own limiter rejected the request before the per-endpoint bucket check ran.
- `500`: Internal server error
