--- title: "API reference" description: "The REST API that FlowDrop expects your backend to implement." source: https://flowdrop.io/docs/api site: FlowDrop documentation --- # API reference FlowDrop is a frontend editor — it talks to **your backend** over a REST API. This reference documents that contract: the endpoints FlowDrop calls to discover node types, persist workflows, run pipelines, and resolve port compatibility. You implement these endpoints (or run a ready-made [server implementation](/start)); FlowDrop calls them. The spec is maintained alongside the library. The endpoint pages in this section are generated from it. ## Base URL FlowDrop targets a single base path that you configure with `createEndpointConfig('/api/flowdrop')`. All endpoint paths in this reference are relative to that base — for example, `GET /nodes` resolves to `/api/flowdrop/nodes`. ## Authentication The API supports two authentication schemes, applied per your deployment: - **`BearerAuth`** — an `Authorization: Bearer ` header (JWT). In the editor, supply tokens through an [`AuthProvider`](/editor/integration/authentication-patterns) (for example `StaticAuthProvider` or `CallbackAuthProvider`). - **`SessionAuth`** — a session cookie (`SESS`), for same-origin deployments that rely on an existing session. Use whichever your backend enforces; FlowDrop attaches credentials via the configured `AuthProvider`. ## Endpoints The pages in this section are generated directly from `api-reference/openapi.yaml` at build time, one per operation, grouped by tag. They cover workflow CRUD, node-type discovery, pipeline execution and status, port configuration, and import/export. Generated. Editing a page here is overwritten by the next `npm run api:generate`. An operation's narrative belongs in its `description` in the OpenAPI document, which is the only place prose survives.