← Docs Hub

API Reference

Auth, Chat, Agents, Flows, MCP endpoints

Base URL

All API requests go to the OSF Gateway:

https://api.openshopfloor.zeroguess.ai
Info
Authentication uses JWT Bearer tokens. Include the token in the Authorization header: Bearer <token>

Authentication

POST/auth/register

Create a new account

{ "email": "[email protected]", "password": "..." , "name": "..." }
Response
{ "token": "eyJ...", "user": { "id": "...", "email": "...", "name": "..." } }
POST/auth/login

Sign in and get a JWT token

{ "email": "[email protected]", "password": "..." }
Response
{ "token": "eyJ...", "user": { "id": "...", "email": "...", "name": "..." } }
GET/auth/meAuth

Get current user profile

Response
{ "id": "...", "email": "...", "name": "...", "role": "user" }

Chat

POST/chatAuth

Send a message to the AI assistant. Response is streamed via SSE. The assistant can call MCP tools to answer factory-related questions.

{ "message": "What's the current OEE?", "conversationId": "optional-id" }
Response
SSE stream: data: { "type": "text|tool_call|tool_result", ... }
GET/chat/conversationsAuth

List all conversations for the current user

Response
[{ "id": "...", "title": "...", "updatedAt": "..." }]
GET/chat/conversations/:idAuth

Get a specific conversation with message history

DELETE/chat/conversations/:idAuth

Delete a conversation

Agents

GET/agentsAuth

List all available agents (built-in + community)

Response
[{ "id": "...", "name": "...", "description": "...", "icon": "...", "type": "builtin|community" }]
POST/agents/:id/runAuth

Execute an agent. Response is streamed via SSE.

Response
SSE stream: data: { "type": "log|result|error", ... }
GET/agents/:id/runsAuth

List past runs for an agent

Code Agents

POST/code-agentsAuth

Deploy a new code agent from a GitHub repository

{ "repoFullName": "user/repo", "branch": "main" }
GET/code-agentsAuth

List all deployed code agents for the current user

POST/code-agents/:id/syncAuth

Manually trigger a re-sync from the GitHub repository

DELETE/code-agents/:idAuth

Remove a deployed code agent

Flows

GET/flowsAuth

List all saved flows for the current user

Response
[{ "id": "...", "name": "...", "description": "...", "nodeCount": 5 }]
POST/flowsAuth

Save a new flow from the Node-RED editor

{ "name": "...", "description": "...", "nodes": [...], "wires": [...] }
POST/flows/:id/runAuth

Execute a saved flow. Response is streamed via SSE.

Response
SSE stream: data: { "nodeId": "...", "type": "start|result|error", ... }
DELETE/flows/:idAuth

Delete a saved flow

MCP Proxy

POST/mcpAuth

Call any MCP tool through the gateway proxy. The gateway routes to the correct MCP server based on the tool name prefix.

{ "tool": "factory_get_latest_oee", "args": {} }
Response
{ "result": { ... } }
GET/mcp/toolsAuth

List all available MCP tools across all servers

Response
[{ "name": "...", "description": "...", "parameters": {...} }]
Tip
The MCP proxy routes tools by prefix: factory_ / tms_ / sgm_ / montage_ to Factory Sim, uns_ to UNS, kg_ to Knowledge Graph, history_ to Historian.

GitHub Integration

GET/auth/github

Start GitHub OAuth flow for connecting a GitHub account

GET/auth/github/reposAuth

List repositories for the connected GitHub account

POST/auth/github/webhook

Webhook endpoint for GitHub push events (auto-sync)

This site uses a cookie to remember your preferences. Analytics are anonymous and cookie-free. Privacy Policy