Skip to main content
The Just Flow It API authenticates every request with an API key passed as an HTTP Bearer token. Keys are server-to-server only — they grant full access to your diagrams and folders and must never be embedded in a browser, mobile app, or any client-side code.
The API is available on paid plans only. Requests made without a valid key, or from a Free-plan account, are rejected. There is no CORS support — calling the API from a browser will fail by design.

API key format

Every key looks like this:
The prefix tells you the environment:
Only a SHA-256 hash of your key is stored server-side. Just Flow It can never show you the key again after creation — if you lose it, you must revoke it and create a new one.

Sending the key

Pass the key in the Authorization header on every request, prefixed with Bearer:

Creating a key

1

Open the dashboard

In the Just Flow It web app, go to Settings → API keys.
2

Create a key

Choose which scopes the key should hold, then create it.
3

Copy it once

The full key is shown in plaintext exactly once, at creation time. Copy it immediately and store it in a secret manager — you will not be able to see it again.

Personal vs. organization keys

The kind of key you get — and what it can act on — depends on your plan.

Pro — personal key

A Pro user gets a personal key. It acts on that user’s personal diagrams and folders.

Team — organization key

A member of a Team organization gets an org key. It acts on that organization’s diagrams and folders.
Resources carry an organization_id: it is null for personal resources and set to the org’s id for organization resources.

Scopes

A key holds a subset of the following scopes. A request that needs a scope the key does not hold is rejected with 403 insufficient_scope.

Security best practices

Treat an API key like a password. Anyone holding it can read and modify all of your (or your org’s) diagrams and folders.
  • Server-side only. Never ship a key to a browser, mobile app, or any client. The API has no CORS support precisely to discourage this.
  • Use environment variables / a secret manager. Don’t hardcode keys in source or commit them to version control.
  • Use test keys in non-production. Develop and run CI against jfi_sk_test_ keys so you never touch real data.
  • Scope minimally. Give a key only the scopes it needs (for example, a reporting job may only need diagrams:read).
  • Rotate regularly. Create a new key, deploy it, then revoke the old one.
  • Revoke immediately on leak. Revoking a key takes effect at once; subsequent requests return 401 revoked_api_key.

Authentication errors

Every error response uses the standard envelope and includes an X-Request-Id header. All 401 responses also include a WWW-Authenticate: Bearer header.

401 — authentication_error

403 — permission_error

Calling POST /v1/diagrams with a key that holds diagrams:read but not diagrams:write: