API og MCP
letdraws REST API og MCP-server lader eksterne værktøjer og AI-klienter (Claude, Cursor) arbejde med dine diagrammer: liste, læse, oprette, opdatere, generere et diagram fra kode, konvertere tilbage til kode, dele og generere fra en prompt.
Hvem kan bruge det
Sektion kaldt “Hvem kan bruge det”API og MCP er tilgængelige for Pro- og Enterprise-brugere. På selv-hostede installationer kan alle indloggede medlemmer bruge dem. Gratis- og gæstebrugere kan ikke oprette tokens.
1. Opret et token
Sektion kaldt “1. Opret et token”- Log ind i LetDraw med en Pro/Enterprise-konto.
- Gå til Settings -> Developer.
- Opret et token: giv det et navn, vælg scopes (se nedenfor) og begræns det eventuelt til et enkelt workspace.
- Det genererede
ld_live_...-token vises kun én gang. Gem det et sikkert sted. Hvis det lækker, skal du tilbagekalde det fra samme side.
Scopes
Sektion kaldt “Scopes”| Scope | Tilladelse |
|---|---|
diagrams:read | Læs workspaces, mapper og diagrammer |
diagrams:write | Opret, opdater, slet og del diagrammer |
export | Eksportér et diagram til Mermaid/D2-kode |
ai:generate | Generér et diagram fra en prompt (AI) |
2. Autentificering
Sektion kaldt “2. Autentificering”Send tokenet som en Bearer-værdi i Authorization-headeren på hver anmodning:
Authorization: Bearer ld_live_...Ingen ekstra apikey-header er nødvendig.
REST API
Sektion kaldt “REST API”Base-URL: https://api.letdraw.com/api-v1
Alle svar er JSON. Fejl returneres med en standardbody: { "error": { "code", "message" } }.
| Metode | Sti | Beskrivelse | Scope |
|---|---|---|---|
| GET | / | API-info (scopes, endpoints) | any |
| GET | /workspaces | Dine workspaces (med rolle) | read |
| GET | /folders?workspace=<id> | Mapper i et workspace | read |
| GET | /documents?workspace=<id> | Diagrammer i et workspace (pagineret) | read |
| GET | /documents?folder=<id> | Diagrammer i en mappe (pagineret) | read |
| POST | /documents | Opret et diagram | write |
| GET | /documents/:id | Diagram + scene (elementer) | read |
| PATCH | /documents/:id | Opdater navn og/eller elementer | write |
| DELETE | /documents/:id | Slet et diagram | write |
| POST | /documents/from-code | Generér et diagram fra kode | write |
| POST | /documents/generate | Generér et diagram fra en prompt (AI) | ai:generate |
| GET | /documents/:id/export?format=mermaid|d2 | Eksportér et diagram til kode | export |
| POST | /documents/:id/share | Opret et offentligt skrivebeskyttet link | write |
| DELETE | /documents/:id/share | Fjern det offentlige link | write |
Paginering
Sektion kaldt “Paginering”List-endpoints tager ?limit= (1-100, standard 50) og ?cursor=. Svaret
returnerer en nextCursor; send den som cursor for at få den næste side.
Ratebegrænsning
Sektion kaldt “Ratebegrænsning”120 anmodninger pr. minut pr. token. Overskrides den, returneres 429 rate_limited.
Eksempler
Sektion kaldt “Eksempler”# List workspacescurl -H "Authorization: Bearer ld_live_..." \ https://api.letdraw.com/api-v1/workspaces
# Generate a diagram from a docker-composecurl -X POST -H "Authorization: Bearer ld_live_..." -H "Content-Type: application/json" \ -d '{"workspaceId":"<id>","code":"services:\n web:\n image: nginx\n depends_on: [db]\n db:\n image: postgres\n"}' \ https://api.letdraw.com/api-v1/documents/from-code
# Export a diagram to Mermaidcurl -H "Authorization: Bearer ld_live_..." \ "https://api.letdraw.com/api-v1/documents/<id>/export?format=mermaid"MCP-server
Sektion kaldt “MCP-server”Model Context Protocol (MCP)-klienter (Claude, Cursor) kan forbinde til LetDraw og arbejde med dine diagrammer gennem tools.
- URL:
https://api.letdraw.com/mcp - Transport: Streamable HTTP (stateless JSON-RPC 2.0)
- Auth:
Authorization: Bearer ld_live_...
| Tool | Beskrivelse |
|---|---|
list_workspaces | Tilgængelige workspaces |
list_diagrams | Diagrammer i et workspace/mappe |
get_diagram | Diagram + scene |
create_diagram | Opret et diagram fra et elements-array (letdraw- eller Excalidraw-format, auto-detekteret) |
update_diagram | Opdater navn/elementer |
delete_diagram | Slet et diagram |
diagram_from_code | compose, kubernetes, dot, plantuml, terraform, helm, sql -> diagram |
export_to_code | Diagram -> Mermaid/D2 |
share_diagram | Opret et offentligt link |
unshare_diagram | Fjern det offentlige link |
generate_from_prompt | Diagram fra naturligt sprog (AI) |
Klientopsætning
Sektion kaldt “Klientopsætning”Du kan kopiere færdige config-blokke med dit eget token fra
Settings -> Developer-siden. Erstat ld_live_... nedenfor med dit eget token.
Cursor
Sektion kaldt “Cursor”~/.cursor/mcp.json (global) eller .cursor/mcp.json i projektroden:
{ "mcpServers": { "letdraw": { "url": "https://api.letdraw.com/mcp", "headers": { "Authorization": "Bearer ld_live_..." } } }}Claude Desktop
Sektion kaldt “Claude Desktop”Claude Desktop forbinder til den eksterne HTTP-server gennem mcp-remote-broen
(Node.js påkrævet). Config-fil:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{ "mcpServers": { "letdraw": { "command": "npx", "args": [ "-y", "mcp-remote", "https://api.letdraw.com/mcp", "--header", "Authorization:Bearer ld_live_..." ] } }}Genstart klienten efter lagring. Eksempel-prompts:
- “List my LetDraw workspaces.”
- “Turn this docker-compose into a diagram in letdraw: …”
- “Export diagram
as Mermaid.” - “Generate an OAuth login flow diagram.”
- “Draw this cloud architecture in letdraw: …” (fri-form sammensætning)
Sådan beder du AI’en om at “tegne det i LetDraw”
Sektion kaldt “Sådan beder du AI’en om at “tegne det i LetDraw””create_diagram og update_diagram accepterer elements-arrayet i to
formater: letdraws eget elementskema eller Excalidraw-formatet. Formatet
auto-detekteres, og Excalidraw-elementer konverteres til letdraw-elementer på
serversiden (inklusive farvede indlejrede containere, figurbundne etiketter, pile
med bindinger, tekst og frames).
Hvad dette betyder: når du beder ChatGPT, Gemini eller Claude om at “tegne denne arkitektur i LetDraw”, producerer modellen den Excalidraw JSON, som den allerede kender meget godt fra sine træningsdata, og sender den over MCP; LetDraw tegner den præcise ækvivalent. Uanset modellens layoutkvalitet er det, hvad du får i LetDraw.
Indlejring af et diagram (render.svg)
Sektion kaldt “Indlejring af et diagram (render.svg)”Du kan indlejre et offentligt delt diagram som SVG steder som en README eller Notion.
Hent først et delingstoken med share_diagram (eller REST .../share), derefter:
https://api.letdraw.com/render-svg?token=<share-token>Dette endpoint returnerer image/svg+xml og kræver intet API-token (kun delte
diagrammer renderes), så du kan bruge det direkte inde i <img src="...">.