> ## Documentation Index
> Fetch the complete documentation index at: https://opencanvas.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# list_artboards: List Canvas Artboards

> Retrieve all artboards on the DesignJS canvas with their IDs, names, world coordinates, and dimensions for use with scoped tool calls.

The `list_artboards` tool returns metadata for every artboard currently on the canvas. The response gives you each artboard's ID, name, position in canvas world coordinates, and dimensions — everything you need to scope other tools like `get_tree`, `get_screenshot`, `get_html`, and `get_css` to a specific frame.

Call `list_artboards` at the start of any multi-artboard workflow to discover what exists before creating new frames or directing your agent to work on a specific screen.

## Parameters

`list_artboards` takes no parameters. Pass an empty object as arguments.

## Response

<ResponseField name="artboards" type="object[]" required>
  An array of `ArtboardData` objects, one for each artboard on the canvas. Returns an empty array if no artboards exist.

  <Expandable title="ArtboardData properties">
    <ResponseField name="id" type="string" required>
      Unique identifier for this artboard. Pass to `get_tree`, `get_screenshot`, `get_html`, or `get_css` as the `artboardId` parameter to scope those tools to this frame.
    </ResponseField>

    <ResponseField name="name" type="string" required>
      The display name shown in the editor layers panel.
    </ResponseField>

    <ResponseField name="x" type="number" required>
      Horizontal position of the artboard's top-left corner in canvas world coordinates.
    </ResponseField>

    <ResponseField name="y" type="number" required>
      Vertical position of the artboard's top-left corner in canvas world coordinates.
    </ResponseField>

    <ResponseField name="width" type="number" required>
      Width of the artboard in pixels.
    </ResponseField>

    <ResponseField name="height" type="number" required>
      Height of the artboard in pixels.
    </ResponseField>
  </Expandable>
</ResponseField>

## Example

<CodeGroup>
  ```json request theme={null}
  {
    "method": "tools/call",
    "params": {
      "name": "list_artboards",
      "arguments": {}
    }
  }
  ```

  ```json response — multiple artboards theme={null}
  {
    "content": [
      {
        "type": "text",
        "text": "{\"artboards\": [{\"id\": \"artboard-001\", \"name\": \"Desktop – Home\", \"x\": 0, \"y\": 0, \"width\": 1440, \"height\": 900}, {\"id\": \"artboard-002\", \"name\": \"Mobile – Home\", \"x\": 1520, \"y\": 0, \"width\": 390, \"height\": 844}, {\"id\": \"artboard-003\", \"name\": \"Tablet – Home\", \"x\": 1990, \"y\": 0, \"width\": 768, \"height\": 1024}]}"
      }
    ]
  }
  ```

  ```json response — empty canvas theme={null}
  {
    "content": [
      {
        "type": "text",
        "text": "{\"artboards\": []}"
      }
    ]
  }
  ```
</CodeGroup>

<Tip>
  After calling `list_artboards`, you can iterate the returned IDs and call `get_screenshot` on each one to capture a visual snapshot of every screen in your design — useful for generating a design review summary.
</Tip>

<Note>
  Artboard IDs are stable for the lifetime of the canvas session. They are regenerated if the canvas file is deleted and recreated, but persist through save/load cycles within the same `.designjs.json` file.
</Note>
