Example server (Express)
A reference Express server implementing the full FlowDrop REST API — the recommended backend to develop a client against.
The example Express server is the fastest way to get a working backend, and the recommended one while you're building a FlowDrop client. It's a reference implementation of the full FlowDrop REST API — node types, categories, port config, and full workflow CRUD — with CORS enabled and seed data built in, so the editor has real nodes to place the moment you connect.
In-memory only — not for production.
The example server keeps everything in memory, so workflows you create are lost when it restarts. It's built for local development.
Run it
The server lives in the FlowDrop repo at apps/example-server-express:
cd apps/example-server-express
npm install
npm run devIt starts on http://localhost:7104, serving the API under
http://localhost:7104/api/flowdrop. Open the root URL in a browser for a
browsable index of every endpoint. Set a different port with the PORT
environment variable:
PORT=8080 npm run devConnect your editor
Point your client at the API base — no authentication required:
import { createEndpointConfig } from '@flowdrop/flowdrop/core';
const endpointConfig = createEndpointConfig('http://localhost:7104/api/flowdrop');That's all the wiring the editor needs — see the Quick start for mounting it in your framework.
Endpoints
The server implements the full FlowDrop contract. All paths are relative to the
/api/flowdrop base.
| Method | Path | Description |
|---|---|---|
GET | /health | Server health and uptime |
GET | /system/config | Client bootstrap config |
GET | /nodes | List node types (?category, ?search, ?limit, ?offset) |
GET | /nodes/:id | Get a single node type |
GET | /categories | List node categories |
GET | /port-config | Port data types and compatibility rules |
GET | /workflows | List workflows (?search, ?tags, ?sort, ?order) |
POST | /workflows | Create a workflow |
GET | /workflows/:id | Get a workflow |
PUT | /workflows/:id | Update a workflow |
DELETE | /workflows/:id | Delete a workflow |