# CanvasLayout

> Presentation-only dashboard canvas layout.

Presentation-only dashboard canvas layout.

## Fields

| Field | Type | Description |
| --- | --- | --- |
| `layout` | `auto`, `manual` | Default `auto`. |
| `direction` | `LR`, `TB` | Default `LR`. |
| `nodes` | map of string to [CanvasNodePosition](/docs/api/objects/canvas-node-position/) |  |
| `groups` | array of [CanvasGroup](/docs/api/objects/canvas-group/) |  |
| `viewport` | [CanvasViewport](/docs/api/objects/canvas-viewport/) |  |

\* always present

## Example

```json
{
  "layout": "manual",
  "direction": "LR",
  "nodes": {
    "services.web": {
      "x": 0,
      "y": 0
    }
  },
  "viewport": {
    "x": 0,
    "y": 0,
    "zoom": 1
  }
}
```

## Used by

- [Save a project's canvas layout](/docs/api/projects/#save-a-projects-canvas-layout)
