# eDraw > A browser-based editor for system diagrams — the boxes-and-arrows drawings that > describe how the parts of a system fit together. Everything a person can draw by > hand can also be created, read, updated and documented programmatically through > a public HTTP API at https://edraw.void.bd/api/ai. The documentation below is public and may be read freely. Two endpoints are machine-readable and need no authentication, so an agent can learn the whole interface before its first call. ## Start here - [Documentation](https://edraw.void.bd/docs): the editor, the diagram spec, layout, patches, generated documentation, endpoint reference and errors. - [API manifest](https://edraw.void.bd/api/ai/manifest): capabilities, component types, artboard sizes, patch operations and every endpoint, as JSON. No authentication. - [JSON Schema](https://edraw.void.bd/api/ai/schema): schemas for the diagram spec and the patch body. No authentication. ## How the API works - Agents send a declarative **spec** — nodes and edges with no coordinates — and the server computes a layered layout. Never send x/y. - Nodes are addressed by a stable `key`; edges reference those keys. - Existing drawings are edited with `PATCH` and a list of operations (`addNode`, `updateNode`, `removeNode`, `moveNode`, `addEdge`, `updateEdge`, `removeEdge`, `setTitle`, `setArtboard`, `relayout`, `clear`), which preserves edits a person made. - Every diagram can describe itself: Markdown documentation with a summary, component and connection tables, traced end-to-end flows, and a Mermaid version of the chart. ## Authentication - Write access needs an API key, created by a signed-in user at https://edraw.void.bd/api-keys and sent as the `X-API-Key` header. - Keys are scoped `read` or `read,write`, act only as their owner, and see only that owner's diagrams. ## Not public - `/dashboard`, `/admin`, `/api-keys` and `/docs/diagram/{uuid}` require a login; per-diagram documentation belongs to the user who owns the drawing.