---
title: "Save Diagram"
method: POST
path: "/api/diagrams"
tags: ["Diagrams"]
---

# Save Diagram

`POST /api/diagrams`

Save a generated diagram to the database.

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

Args:
    save_request: Diagram data to save
    db: Database session
    current_user: Authenticated user

Returns:
    DiagramResponse with saved diagram data including ID

## Request body

- DiagramSaveRequest — Request model for saving a diagram.
  - `title` string, required — Diagram title
  - `description` string, nullable — Original user description
  - `mermaid_code` string, required — Generated Mermaid syntax
  - `diagram_type` 'flowchart' | 'sequence' | 'mindmap' — Type of diagram (flowchart, sequence, or mindmap)
  - `diagram_json` object, required — Complete diagram state: nodes, edges, layoutDirection, positions, customizations

## Response `201`

Successful Response

- DiagramResponse — Response model for diagram data.
  - `id` integer, required — Diagram ID
  - `user_id` integer, required — User ID who created the diagram
  - `title` string, required — Diagram title
  - `description` string, nullable — Original user description
  - `mermaid_code` string, required — Mermaid diagram syntax
  - `diagram_type` string — Type of diagram (flowchart, sequence, or mindmap)
  - `diagram_json` object, required — Complete diagram state: nodes, edges, layoutDirection, positions, customizations
  - `created_at` string, required — Creation timestamp (ISO format)
  - `updated_at` string, required — Last update timestamp (ISO format)

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