{"name":"eDraw AI API","version":"1.0","description":"Create, read, update, document and manage system diagrams programmatically.","authentication":{"scheme":"API key","header":"X-API-Key","alternatives":["Authorization: Bearer <key>","?api_key=<key>","browser session cookie"],"manage":"/api-keys","scopes":["read","write"]},"documentation":"/docs","rateLimit":"240 requests/minute per key","conventions":{"nodeIdentity":"Nodes are addressed by their \"key\". Keys are stable across edits and survive round-trips through the editor.","layout":"Do not compute coordinates. Send nodes and edges; the server runs a layered layout. Pin a node by supplying x and y.","editing":"Prefer PATCH with ops over PUT with a whole spec — PATCH preserves manual edits made in the editor."},"componentTypes":[{"type":"user","label":"User / Client","group":"actors","defaultColor":"#3B82F6"},{"type":"webapp","label":"Web App","group":"apps","defaultColor":"#EF4444"},{"type":"mobile","label":"Mobile App","group":"apps","defaultColor":"#10B981"},{"type":"desktop","label":"Desktop App","group":"apps","defaultColor":"#8B5CF6"},{"type":"server","label":"Server","group":"compute","defaultColor":"#6366F1"},{"type":"api","label":"API Gateway","group":"compute","defaultColor":"#F59E0B"},{"type":"loadbalancer","label":"Load Balancer","group":"compute","defaultColor":"#EC4899"},{"type":"microservice","label":"Microservice","group":"compute","defaultColor":"#64748B"},{"type":"database","label":"Database","group":"data","defaultColor":"#10B981"},{"type":"cache","label":"Cache","group":"data","defaultColor":"#EF4444"},{"type":"queue","label":"Message Queue","group":"data","defaultColor":"#8B5CF6"},{"type":"storage","label":"Storage","group":"data","defaultColor":"#F97316"},{"type":"cloud","label":"Cloud Service","group":"infra","defaultColor":"#06B6D4"},{"type":"cdn","label":"CDN","group":"infra","defaultColor":"#14B8A6"},{"type":"firewall","label":"Firewall","group":"infra","defaultColor":"#DC2626"},{"type":"note","label":"Note","group":"annotation","defaultColor":"#374151"},{"type":"label","label":"Text Label","group":"annotation","defaultColor":"transparent"},{"type":"textbox","label":"Text Box","group":"annotation","defaultColor":"transparent"},{"type":"image","label":"Image","group":"annotation","defaultColor":"#374151"},{"type":"rectangle","label":"Rectangle","group":"shape","defaultColor":"#3B82F6"},{"type":"circle","label":"Circle","group":"shape","defaultColor":"#10B981"},{"type":"ellipse","label":"Ellipse","group":"shape","defaultColor":"#06B6D4"},{"type":"triangle","label":"Triangle","group":"shape","defaultColor":"#F59E0B"},{"type":"diamond","label":"Diamond","group":"shape","defaultColor":"#EC4899"},{"type":"hexagon","label":"Hexagon","group":"shape","defaultColor":"#8B5CF6"},{"type":"parallelogram","label":"Parallelogram","group":"shape","defaultColor":"#F97316"},{"type":"star","label":"Star","group":"shape","defaultColor":"#EAB308"}],"artboardSizes":[{"name":"A4","width":794,"height":1123},{"name":"A4-landscape","width":1123,"height":794},{"name":"A5","width":559,"height":794},{"name":"A5-landscape","width":794,"height":559},{"name":"A3","width":1123,"height":1587},{"name":"A3-landscape","width":1587,"height":1123},{"name":"Letter","width":816,"height":1056},{"name":"Letter-landscape","width":1056,"height":816},{"name":"Legal","width":816,"height":1344},{"name":"Legal-landscape","width":1344,"height":816},{"name":"1080p","width":1920,"height":1080},{"name":"4K","width":3840,"height":2160},{"name":"custom","width":800,"height":600}],"directions":["LR","RL","TB","BT"],"arrowTypes":["none","end","both"],"ports":["top","right","bottom","left"],"patchOps":["addNode","updateNode","removeNode","moveNode","addEdge","updateEdge","removeEdge","setTitle","relayout","setArtboard","clear"],"endpoints":[{"method":"GET","path":"/api/ai/manifest","scope":null,"description":"This document"},{"method":"GET","path":"/api/ai/schema","scope":null,"description":"JSON Schema for spec and patch bodies"},{"method":"GET","path":"/api/ai/whoami","scope":"read","description":"Identity behind the current credential"},{"method":"POST","path":"/api/ai/preview","scope":"read","description":"Compile a spec without saving; use to validate"},{"method":"GET","path":"/api/ai/diagrams","scope":"read","description":"List diagrams (?q, ?category, ?limit)"},{"method":"POST","path":"/api/ai/diagrams","scope":"write","description":"Create a diagram from a spec"},{"method":"GET","path":"/api/ai/diagrams/:uuid","scope":"read","description":"Read one (?include=spec,data,doc)"},{"method":"GET","path":"/api/ai/diagrams/:uuid/spec","scope":"read","description":"Read as an editable spec"},{"method":"PUT","path":"/api/ai/diagrams/:uuid","scope":"write","description":"Replace contents and/or title"},{"method":"PATCH","path":"/api/ai/diagrams/:uuid","scope":"write","description":"Apply incremental ops"},{"method":"DELETE","path":"/api/ai/diagrams/:uuid","scope":"write","description":"Delete a diagram"},{"method":"GET","path":"/api/ai/diagrams/:uuid/doc","scope":"read","description":"Documentation (?format=md|html|json)"},{"method":"POST","path":"/api/ai/diagrams/:uuid/doc","scope":"write","description":"Regenerate or replace documentation"},{"method":"DELETE","path":"/api/ai/diagrams/:uuid/doc","scope":"write","description":"Delete stored documentation"},{"method":"GET","path":"/api/ai/diagrams/:uuid/mermaid","scope":"read","description":"Mermaid flowchart source"},{"method":"GET","path":"/api/ai/categories","scope":"read","description":"List categories"},{"method":"POST","path":"/api/ai/categories","scope":"write","description":"Create a category"},{"method":"GET","path":"/api/ai/activity","scope":"read","description":"Recent automated changes"}]}