---
title: "List"
method: GET
path: "/landscapes/{landscapeId}/versions/{versionId}/diagrams"
tags: ["Diagrams"]
---

# List

`GET /landscapes/{landscapeId}/versions/{versionId}/diagrams`

## Request

- Base URL: `https://api.icepanel.io/v1`
- URL: `https://api.icepanel.io/v1/landscapes/{landscapeId}/versions/{versionId}/diagrams`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

## Path parameters

- `landscapeId` string, required
- `versionId` string, required

## Query parameters

- `filter` DiagramFilter
  - `empty` boolean: Filter diagrams that contain no objects
  - `handleId` union
    - string
    - string[]
  - `labels` object
  - `modelId` string
  - `name` string
  - `pinned` boolean
  - `status` union
    - 'current'
    - DiagramStatus[]
  - `type` union
    - 'app-diagram' | 'component-diagram' | 'context-diagram'
    - DiagramType[]

## Response `200`

OK

- object
  - `diagrams` Diagram[], required
    - `commit` number, required
    - `description` string
    - `groupId` string, nullable, required
    - `index` number, required
    - `labels` object, required
    - `modelId` string, required: model object id this object belongs to
    - `name` string, required
    - `parentId` string, nullable, required
    - `pinned` boolean, required
    - `pinnedAt` string, date-time
    - `pinnedIndex` number
    - `status` 'current', required
    - `zoomOverrides` DiagramZoomOverridesNullable: Custom zoom levels for specific model objects within the diagram. The key is the modelObjectId and the value is the diagram id.
    - `handleId` string, required
    - `type` 'app-diagram' | 'component-diagram' | 'context-diagram', required
    - `commentCount` number, required
    - `connectionCount` number, required
    - `createdAt` string, date-time, required
    - `createdBy` 'user' | 'api-key' | 'notification-key' | 'service', required
    - `createdById` string, required
    - `deletedAt` string, date-time
    - `deletedBy` 'user' | 'api-key' | 'notification-key' | 'service'
    - `deletedById` string
    - `id` string, required
    - `landscapeId` string, required
    - `latestEntityId` string
    - `objectCount` DiagramObjectCount, required: The number of objects on the diagram, counted by object type and shape
      - `actor` number, required
      - `app` number, required
      - `component` number, required
      - `group` number, required
      - `store` number, required
      - `system` number, required
      - `area` number, required
      - `box` number, required
    - `updatedAt` string, date-time, required
    - `updatedBy` 'user' | 'api-key' | 'notification-key' | 'service', required
    - `updatedById` string, required
    - `version` number, required
    - `versionId` string, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `429`: Resource Exhausted
- `500`: Internal Server

## Changes

- **2026-07-22** `0fe4f00b60cf`: 1 info
  - added the non-success response with the status `429`
- **2026-06-03** `181c90adca5e`: 2 info
  - added the non-success response with the status `400`
  - added the non-success response with the status `403`

[Operation history](https://skmtc.dev/icepanel/apis/icepanel-api/changes/landscapes/:landscapeId/versions/:versionId/diagrams/get.md)

---

[API](https://skmtc.dev/icepanel/apis/icepanel-api.md) - [All operations](https://skmtc.dev/icepanel/apis/icepanel-api/llms.txt) - [OpenAPI document](https://skmtc.dev/icepanel/apis/icepanel-api/revisions/7d1119835bbb?raw)
