# ProjectGraph

> The project canvas for one environment.

The project canvas for one environment.

## Fields

| Field | Type | Description |
| --- | --- | --- |
| `environment_id` * | string |  |
| `nodes` * | array of [GraphNode](/docs/api/objects/graph-node/) |  |
| `edges` * | array of [GraphEdge](/docs/api/objects/graph-edge/) |  |
| `canvas` | [CanvasLayout](/docs/api/objects/canvas-layout/) |  |

\* always present

## Example

```json
{
  "environment_id": "string",
  "nodes": [
    {
      "id": "string",
      "type": "service",
      "name": "string",
      "status": "string",
      "position": {
        "x": 0.5,
        "y": 0.5
      },
      "data": {}
    }
  ],
  "edges": [
    {
      "id": "string",
      "from": "string",
      "to": "string",
      "kind": "reference",
      "observed": false,
      "label": "string"
    }
  ],
  "canvas": {
    "layout": "manual",
    "direction": "LR",
    "nodes": {
      "services.web": {
        "x": 0,
        "y": 0
      }
    },
    "viewport": {
      "x": 0,
      "y": 0,
      "zoom": 1
    }
  }
}
```

## Used by

- [Canvas graph for one environment](/docs/api/projects/#canvas-graph-for-one-environment)
