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

# List the editable parts of the latest version



## OpenAPI

````yaml /openapi.json get /diagrams/{id}/parts
openapi: 3.1.0
info:
  title: diagramkit API
  version: '1'
  description: >-
    Make, change, animate and download diagrams. Full reference: /docs/api.md on
    diagramkit’s site.
servers:
  - url: https://app.diagramkit.ai/api/v1
security:
  - bearer: []
paths:
  /diagrams/{id}/parts:
    get:
      summary: List the editable parts of the latest version
      operationId: listDiagramParts
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: page
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 1
          description: Which page of a multi-page diagram.
        - name: detail
          in: query
          required: false
          schema:
            type: boolean
            default: false
          description: >-
            Also list what sits inside each part: a node's words, an icon's
            shapes, a link's line and arrowheads.
      responses:
        '200':
          description: >-
            What a person points at (nodes, links, notes, cells, chart marks,
            titles and labels), each with the id edits name it by, a summary,
            and its box [left, top, width, height] in px in the wide (900 px)
            and compact (390 px) layouts.
          content:
            application/json:
              schema:
                type: object
                properties:
                  diagram_id:
                    type: string
                  version:
                    type: integer
                  page:
                    type: integer
                  truncated:
                    type: boolean
                  inner:
                    type: integer
                    description: Parts inside the listed ones, not listed without detail.
                  layouts:
                    type: object
                    properties:
                      wide:
                        type: integer
                      compact:
                        type: integer
                  parts:
                    type: array
                    items:
                      $ref: '#/components/schemas/Part'
        default:
          description: An error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Part:
      type: object
      required:
        - id
        - kind
        - summary
        - wide
      properties:
        id:
          type: string
          maxLength: 250
          description: >-
            A part id from the parts list: a name from what the part is, such as
            "node:api", "link:api->db", "text:monthly-revenue", "cell:0/2" or
            "mark:revenue/2024", which stays the same through edits; or its
            position, such as "0/2/1".
        kind:
          type: string
          enum:
            - node
            - cell
            - note
            - link
            - mark
            - text
            - line
            - shape
            - box
        summary:
          type: string
          description: 'One line: what it is, its words, what it links to, whether it moves.'
        text:
          type: string
          description: Its words, up to 40 characters.
        inner:
          type: integer
          description: How many parts sit inside it, listed with detail=true.
        tag:
          type: string
          description: With detail=true.
        path:
          type: string
          description: 'With detail=true: its position, which it also answers to.'
        link:
          type: object
          properties:
            from:
              type: string
            to:
              type: string
          description: 'For a link: the parts it joins.'
        movable:
          type: boolean
        moves_with:
          type: string
          description: The movable part it sits in.
        hidden:
          type: boolean
        wide:
          type: array
          items:
            type: number
          minItems: 4
          maxItems: 4
          description: '[left, top, width, height] in px.'
        compact:
          type: array
          items:
            type: number
          minItems: 4
          maxItems: 4
          description: '[left, top, width, height] in px.'
        offset:
          type: object
          description: Its offset from where diagramkit placed it, per layout, when moved.
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
            message:
              type: string
            issues:
              type: array
              items:
                type: string
          required:
            - type
            - message
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: An API key (aid_…) from Settings › API.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.