---
title: "Render Mermaid Diagram"
method: POST
path: "/api/render-mermaid"
tags: ["Mermaid"]
---

# Render Mermaid Diagram

`POST /api/render-mermaid`

Validate and render a Mermaid diagram from pre-generated Mermaid code (MCP server endpoint).

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

This endpoint is specifically for the MCP server to render diagrams from Mermaid code
generated by ChatGPT. It validates syntax using the official mermaid.js parser and saves
the diagram to the database.

Args:
    render_request: MermaidRenderRequest containing mermaid_code and diagram_type
    request: FastAPI Request object (required for rate limiting)
    current_user: Authenticated user (injected by Auth0 middleware)
    db: Database session

Returns:
    MermaidResponse with validated Mermaid code and saved diagram ID

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

## Request body

- MermaidRenderRequest — Request model for rendering pre-generated Mermaid code (MCP server).
  - `mermaid_code` string, required — Pre-generated Mermaid diagram code to validate and render (10-50000 characters)
  - `title` string, required — Diagram title generated by ChatGPT
  - `diagram_type` 'flowchart' | 'sequence' | 'mindmap' | 'auto' — Type of diagram (flowchart, sequence, mindmap, or auto to detect)

## 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)
