Build with Factory OS
The cloud MES for discrete and process manufacturers. Connect machines, orchestrate production, and turn shop-floor data into cash flow — over a clean REST API.
One API for the whole factory
From PLCs on the shop floor to dashboards in the boardroom — every primitive you need, exposed over a clean REST API.
Machine Integrations
Stream telemetry from CNCs, molders, and PLCs via MQTT or REST.
Learn moreProduction Automation
Create, schedule, and dispatch work orders programmatically.
Learn moreQuality & Andon
Log defects, trigger andon calls, and drive escalations in real time.
Learn moreCustom Dashboards
Pipe OEE, availability, and throughput into any BI tool.
Learn moreList machines in 60 seconds
Grab a token, pick a factory slug, and hit the API. The same shape works from any language — curl, TypeScript, Python, or your favorite HTTP client.
curl https://api.xentr.ai/api/factories/biocare-main/machines \
-H "Authorization: Bearer $XENTR_TOKEN"const res = await fetch(
'https://api.xentr.ai/api/factories/biocare-main/machines',
{ headers: { Authorization: `Bearer ${process.env.XENTR_TOKEN}` } },
);
const machines = await res.json();import os, requests
res = requests.get(
"https://api.xentr.ai/api/factories/biocare-main/machines",
headers={"Authorization": f"Bearer {os.environ['XENTR_TOKEN']}"},
)
print(res.json())Everything you need
Factory OS ships with the primitives real manufacturers rely on — not demoware.
OEE & KPIs
Availability, performance, quality — live per machine.
Work Orders
Create, schedule, dispatch, and close production orders.
Telemetry
MQTT + REST ingest, time-series storage, resampling.
Webhooks
Subscribe to andon calls, downtime, and job events.
Audit Log
Every mutation recorded with user, timestamp, and diff.
Multi-tenancy
Organization → factory → machine, with RLS enforcement.
Roles & Access
Six canonical roles, invitation-only onboarding.
Shift Management
Per-factory shifts power availability and OEE math.
Ready to build?
Wire up your first machine, ship a work order, or pipe OEE into Grafana — it all starts with one API call.