API Reference

Control Seat exposes REST APIs for managing dashboards, tags, data sources, and automation. All endpoints are accessed through your workspace URL.

Screens & Pages

MethodRoutePurpose
GET/api/pagesList pages
POST/api/pagesCreate a page
DELETE/api/pages/:idDelete a page
POST/api/screens/saveSave a draft screen
POST/api/publishPublish a screen and return runtime URL
GET/api/screens/:idFetch a screen payload
GET/api/slug/:slugResolve a published slug
GET/api/slug/:projectId/:slugResolve a published project-scoped slug
POST/api/screens/:id/unpublishUnpublish a screen

Versions

MethodRoutePurpose
GET/api/screens/:id/versionsList saved versions
POST/api/screens/:id/versions/createCreate a version snapshot
POST/api/screens/:id/revertRevert to a version

Projects, Folders & Assets

MethodRoutePurpose
GET/api/projectsList projects
POST/api/projectsCreate project
GET/api/projects/:projectIdFetch project
PATCH/api/projects/:projectIdUpdate project
DELETE/api/projects/:projectIdDelete project
GET/api/foldersList page folders
POST/api/foldersCreate folder
POST/api/folders/move-pageMove page to folder
POST/api/folders/move-folderReparent folder
DELETE/api/folders/:folderIdDelete folder
GET/api/assetsList assets
POST/api/assetsUpload/persist asset
DELETE/api/assets/:assetIdDelete asset

Gateway Scripts

MethodRoutePurpose
GET/api/gateway-scripts/:scope/:scopeIdFetch entries and modules
POST/api/gateway-scripts/:scope/:scopeIdSave entries and modules
GET/api/gateway-scripts/:scope/:scopeId/logsFetch logs
DELETE/api/gateway-scripts/:scope/:scopeId/logsClear logs
POST/api/gateway-scripts/eventsEnqueue manual/runtime events
ALL/api/gateway-scripts/http/:scopeId/*HTTP trigger ingress

Tags & Folders

MethodRoutePurpose
GET/api/folders/treeFolder tree with embedded tags and values
POST/api/tagsCreate tag
GET/api/tagsList tags
GET/api/tags/:idGet tag
PUT/api/tags/:idUpdate tag metadata
GET/api/tags/by-path?path=...Lookup by local path
GET/api/tags/by-full-path?path=...Lookup by canonical full path
POST/api/tags/:id/writeWrite tag value
GET/wsLive tag stream (WebSocket)

Historian

MethodRoutePurpose
GET/api/historyRaw points in a time range
GET/api/history/lastMost recent points
GET/api/history/aggregateAggregate buckets (avg, min, max, count)

Data Sources

MethodRoutePurpose
POST/api/datasourcesCreate datasource
GET/api/datasourcesList datasources
PUT/api/datasources/:nameUpdate datasource
POST/api/datasources/:name/pingTest datasource connection
POST/api/datasources/:name/queryRun read-only query
GET/api/datasources/:name/schemaList schemas

Runtime URLs

Published dashboards are accessible at:

/:projectId/:slug
/:slug

Example: Publish A Screen

POST /api/publish
Content-Type: application/json
{
  "screenId": "abc123",
  "name": "Main Overview",
  "slug": "main-overview",
  "projectId": "plant-a",
  "html": "<div id=\"root\"></div>",
  "css": "",
  "js": "",
  "scripts": {
    "client": ""
  },
  "projectData": {}
}