---
title: "Edit Diagram Section Endpoint"
method: POST
path: "/api/edit-diagram-section"
tags: ["Graph"]
---

# Edit Diagram Section Endpoint

`POST /api/edit-diagram-section`

Edit a section of a diagram using AI.

**AUTHENTICATION REQUIRED** - Must include valid JWT token in Authorization header.

Args:
    edit_request: GraphEditRequest containing graph and edit instructions
    request: FastAPI Request object (required for rate limiting)
    current_user: Authenticated user (injected by Auth0 middleware)

Returns:
    GraphEditResponse with edit operations or error

Rate limit: Configurable via RATE_LIMIT_PER_MINUTE env var (default: 10/minute)

## Request body

- GraphEditRequest — Request to edit a section of the graph
  - `diagramType` string, required
  - `instruction` string, required
  - `fullGraph` DiagramGraph, required — Complete diagram graph structure
    - `diagramType` string, required
    - `metadata` object, required
    - `nodes` GraphNode[], required
      - `id` string, required
      - `label` string, required
      - `type` string, required
      - `metadata` object, nullable
      - `customizations` object, nullable
    - `edges` GraphEdge[], required
      - `id` string, required
      - `from` string, required
      - `to` string, required
      - `label` string, nullable
      - `type` string, nullable
      - `metadata` object, nullable
      - `customizations` object, nullable
  - `editableNodeIds` string[], required
  - `boundaryNodeIds` string[], required
  - `untouchedNodeIds` string[], required
  - `originalSelection` OriginalSelection, required — Original selection of nodes and edges
    - `nodes` GraphNode[], required
      - `id` string, required
      - `label` string, required
      - `type` string, required
      - `metadata` object, nullable
      - `customizations` object, nullable
    - `edges` GraphEdge[], required
      - `id` string, required
      - `from` string, required
      - `to` string, required
      - `label` string, nullable
      - `type` string, nullable
      - `metadata` object, nullable
      - `customizations` object, nullable

## Response `200`

Successful Response

- GraphEditResponse — Response from graph edit operation
  - `success` boolean, required
  - `operations` EditOperations — Operations to apply to the graph
    - `operation` string
    - `removedNodeIds` string[]
    - `addedNodes` GraphNode[]
      - `id` string, required
      - `label` string, required
      - `type` string, required
      - `metadata` object, nullable
      - `customizations` object, nullable
    - `modifiedNodes` GraphNode[], nullable
      - `id` string, required
      - `label` string, required
      - `type` string, required
      - `metadata` object, nullable
      - `customizations` object, nullable
    - `removedEdgeIds` string[]
    - `addedEdges` GraphEdge[]
      - `id` string, required
      - `from` string, required
      - `to` string, required
      - `label` string, nullable
      - `type` string, nullable
      - `metadata` object, nullable
      - `customizations` object, nullable
    - `modifiedEdges` GraphEdge[], nullable
      - `id` string, required
      - `from` string, required
      - `to` string, required
      - `label` string, nullable
      - `type` string, nullable
      - `metadata` object, nullable
      - `customizations` object, nullable
  - `error` string, nullable
  - `warnings` string[], nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/makeaviz/apis/text-to-diagram-api.md) · [All operations](https://skmtc.net/makeaviz/apis/text-to-diagram-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/makeaviz/text-to-diagram-api/revisions/b7c00f8d19a5/schema)
