---
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.