Platform

REST API Reference

Complete endpoint listing for all FlowOS resources. Every API response follows a consistent envelope with cursor-based pagination.

Base URL & Headers

bash
Base URL:  https://{instance}.flowos.io/api/v1

Required headers:
  Authorization:  Bearer {token}
  X-Workspace:    {workspace-slug}
  Content-Type:   application/json   (for POST/PATCH/PUT)

Optional headers:
  X-Environment:     production | staging | development  (default: production)
  X-Request-ID:      client-generated request ID for tracing
  Idempotency-Key:   deduplicate POST/PATCH within 24h

Authentication

POST
/api/v1/auth/token

Create session token with email/password

POST
/api/v1/auth/tokens

Create a named API key with scopes

GET
/api/v1/auth/tokens

List all tokens for the current user

DELETE
/api/v1/auth/tokens/:id

Revoke a token

POST
/api/v1/auth/tokens/rotate

Rotate a token atomically

GET
/api/v1/auth/me

Get current user and workspace context

POST
/api/v1/auth/logout

Invalidate the current session

Workspaces

GET
/api/v1/workspaces

List workspaces the token can access

GET
/api/v1/workspaces/me

Get the current workspace

PATCH
/api/v1/workspaces/:slug

Update workspace settings

GET
/api/v1/workspaces/:slug/stats

Get workspace-level aggregate stats

Workflow Studio

GET
/api/v1/workflows

List workflows

POST
/api/v1/workflows

Create a workflow

GET
/api/v1/workflows/:id

Get workflow

PATCH
/api/v1/workflows/:id

Update workflow

DELETE
/api/v1/workflows/:id

Archive workflow

POST
/api/v1/workflows/:id/activate

Activate workflow

POST
/api/v1/workflows/:id/deactivate

Deactivate workflow

POST
/api/v1/workflows/:id/trigger

Manually trigger a run

POST
/api/v1/workflows/:id/publish

Publish current draft as a version

POST
/api/v1/workflows/:id/rollback

Rollback to a previous version

GET
/api/v1/workflows/:id/runs

List runs for a workflow

GET
/api/v1/workflows/:id/versions

List version history

GET
/api/v1/runs/:runId

Get full run detail with trace

POST
/api/v1/runs/:runId/cancel

Cancel a run

POST
/api/v1/runs/:runId/retry

Retry a failed run

POST
/api/v1/runs/:runId/resume

Resume a paused/approval run

App Studio

GET
/api/v1/apps

List apps

POST
/api/v1/apps

Create app

GET
/api/v1/apps/:id

Get app

PATCH
/api/v1/apps/:id

Update app

DELETE
/api/v1/apps/:id

Archive app

POST
/api/v1/apps/:id/deploy

Deploy app

GET
/api/v1/apps/:id/deployments

List deployments

GET
/api/v1/apps/:id/pages

List pages

POST
/api/v1/apps/:id/pages

Create page

GET
/api/v1/apps/:id/data-sources

List data sources

POST
/api/v1/apps/:id/data-sources

Add data source

POST
/api/v1/apps/:id/embed-token

Generate embed token

DB Studio

GET
/api/v1/tables

List tables

POST
/api/v1/tables

Create table

GET
/api/v1/tables/:slug

Get table schema

PATCH
/api/v1/tables/:slug

Update table / add columns

DELETE
/api/v1/tables/:slug

Drop table

GET
/api/v1/tables/:slug/records

List records with filters

POST
/api/v1/tables/:slug/records

Create record

GET
/api/v1/tables/:slug/records/:id

Get record

PATCH
/api/v1/tables/:slug/records/:id

Update record

DELETE
/api/v1/tables/:slug/records/:id

Delete record

POST
/api/v1/tables/:slug/records/bulk

Bulk create records (up to 1000)

PATCH
/api/v1/tables/:slug/records/bulk

Bulk update matching records

POST
/api/v1/queries/run

Execute a SQL query

GET
/api/v1/queries

List saved queries

POST
/api/v1/queries

Save a query

GET
/api/v1/migrations

List migrations

POST
/api/v1/migrations

Create migration

POST
/api/v1/migrations/:id/apply

Apply migration

POST
/api/v1/migrations/:id/rollback

Rollback migration

Integration Studio

GET
/api/v1/connectors

List connectors

POST
/api/v1/connectors

Add connector

GET
/api/v1/connectors/:id

Get connector

PATCH
/api/v1/connectors/:id

Update connector

DELETE
/api/v1/connectors/:id

Remove connector

POST
/api/v1/connectors/:id/test

Test connection

POST
/api/v1/connectors/:id/invoke

Invoke a connector action

GET
/api/v1/webhooks

List webhooks

POST
/api/v1/webhooks

Create webhook

GET
/api/v1/webhooks/:id

Get webhook

PATCH
/api/v1/webhooks/:id

Update webhook

DELETE
/api/v1/webhooks/:id

Delete webhook

GET
/api/v1/webhooks/:id/deliveries

List deliveries

POST
/api/v1/webhooks/:id/test

Send test event

POST
/api/v1/events/topics/:name/publish

Publish to event bus

GET
/api/v1/events/topics/:name/events

Read events from topic

POST
/api/v1/transformer/evaluate

Evaluate a JSONata expression

Flow SDK

GET
/api/v1/sdk/artifacts

List artifacts

GET
/api/v1/sdk/artifacts/:id

Get artifact

POST
/api/v1/sdk/artifacts/:id/invoke

Invoke artifact

POST
/api/v1/sdk/artifacts/:id/tests/run

Run artifact tests

GET
/api/v1/sdk/packs

List installed packs

POST
/api/v1/sdk/packs/install

Install a pack

GET
/api/v1/sdk/scheduled-jobs

List scheduled jobs

POST
/api/v1/sdk/scheduled-jobs

Create scheduled job

Analytics Studio

GET
/api/v1/analytics/reports

List reports

POST
/api/v1/analytics/reports

Create report

POST
/api/v1/analytics/reports/:id/run

Run report

POST
/api/v1/analytics/reports/:id/export

Export report

GET
/api/v1/analytics/dashboards

List dashboards

GET
/api/v1/analytics/dashboards/:id/data

Get live dashboard data

GET
/api/v1/analytics/kpis

List KPIs

POST
/api/v1/analytics/kpis

Create KPI

GET
/api/v1/analytics/kpis/:id/history

KPI history

POST
/api/v1/analytics/exports

Create data export

GET
/api/v1/analytics/exports/:id/download

Get download URL

ITSM Core

GET
/api/v1/itsm/incidents

List incidents

POST
/api/v1/itsm/incidents

Create incident

GET
/api/v1/itsm/incidents/:id

Get incident

PATCH
/api/v1/itsm/incidents/:id

Update incident

POST
/api/v1/itsm/incidents/:id/resolve

Resolve incident

POST
/api/v1/itsm/incidents/:id/escalate

Escalate incident

POST
/api/v1/itsm/incidents/:id/comments

Add comment

GET
/api/v1/itsm/changes

List changes

POST
/api/v1/itsm/changes

Create change

POST
/api/v1/itsm/changes/:id/approve

Approve change

POST
/api/v1/itsm/changes/:id/implement

Start implementation

POST
/api/v1/itsm/changes/:id/complete

Mark complete

GET
/api/v1/itsm/problems

List problems

POST
/api/v1/itsm/problems

Create problem

GET
/api/v1/itsm/sla-policies

List SLA policies

POST
/api/v1/itsm/sla-policies

Create SLA policy

GET
/api/v1/cmdb/items

List CMDB items

POST
/api/v1/cmdb/items

Create CMDB item

GET
/api/v1/cmdb/topology

Get dependency graph

GET
/api/v1/knowledge

List knowledge articles

POST
/api/v1/knowledge

Create article

POST
/api/v1/knowledge/search

Semantic search

GET
/api/v1/catalog/items

List service catalog

POST
/api/v1/catalog/requests

Submit catalog request

Platform

GET
/api/v1/settings/users

List workspace users

POST
/api/v1/settings/users/invite

Invite a user

PATCH
/api/v1/settings/users/:id

Update user

DELETE
/api/v1/settings/users/:id

Remove user from workspace

GET
/api/v1/settings/roles

List roles

POST
/api/v1/settings/roles

Create custom role

GET
/api/v1/secrets

List secret names

POST
/api/v1/secrets

Store secret

PUT
/api/v1/secrets/:name

Rotate secret

GET
/api/v1/audit

Query audit log

GET
/api/v1/audit/:eventId

Get audit event

OpenAPI / Swagger

A machine-readable OpenAPI 3.1 spec is available at:

bash
GET https://{instance}.flowos.io/api/v1/openapi.json
GET https://{instance}.flowos.io/api/v1/openapi.yaml

Import this into Postman, Insomnia, or any OpenAPI-compatible tool to get auto-generated request builders, type hints, and response validation for every endpoint.

The OpenAPI spec is generated from the live codebase and always reflects the exact schema of the running instance. Use it to generate TypeScript client types with openapi-typescript or swagger-typescript-api.