---
title: "Edit Existing Mermaid Diagram"
method: POST
path: "/api/edit-mermaid"
tags: ["Mermaid"]
---

# Edit Existing Mermaid Diagram

`POST /api/edit-mermaid`

Edit an existing Mermaid flowchart using AI based on natural language instructions.

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

If context contains savedDiagramId, fetches the latest Mermaid code from database
to ensure manual user edits (from auto-save) are included in the AI edit.

Args:
    edit_request: DiagramEditRequest containing current Mermaid code, edit instruction, and optional context
    request: FastAPI Request object (required for rate limiting)
    current_user: Authenticated user (injected by Auth0 middleware)
    db: Database session

Returns:
    MermaidResponse with edited Mermaid syntax code and updated title

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

## Request body

- DiagramEditRequest — Request model for diagram editing.
  - `savedDiagramId` integer, required — ID of the saved diagram to edit (backend fetches latest version from database)
  - `editInstruction` string, required — Natural language instruction for what to change (5-1000 characters)
  - `context` object, nullable — Optional context with title, description for better editing

## Response `200`

Successful Response

- MermaidResponse — Response model for Mermaid diagram generation.
  - `mermaidCode` string, required — Generated Mermaid diagram syntax
  - `title` string, required — Diagram title extracted from description
  - `diagram_type` 'flowchart' | 'sequence' | 'mindmap' — Type of diagram generated
  - `savedDiagramId` integer, nullable — ID of the auto-saved diagram (if save was successful)
  - `diagram_json` object, nullable — Current diagram state from database (for edit operations, used in visual diff)

## 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/versions/b7c00f8d19a5/schema)
