The HTTP REST surfaces FrameworX exposes — how to choose one, authenticate, and find the OpenAPI specification.
Reference → Programming and APIs → FrameworX REST APIs
FrameworX exposes its functionality over HTTP through two independent REST APIs, split by purpose. They share no port, no authentication state, and no implementation — a client can integrate against one without the other. A third, older surface (the WebAccess API) remains supported for existing integrations but is deprecated in favor of the Runtime REST API.
The REST surfaces
API | Plane | Port | Server | Authentication | Reference |
|---|---|---|---|---|---|
Runtime REST API v1 | Data — live tag values, historian, alarms, Object Model, tag writes | 3101 / 3201 / 3301 / 3401 (per execution profile) | TServer (one process per running solution) | Bearer token (session GUID or pre-issued Bearer Token) | |
SolutionCenter API v1 | Management — list/run/stop solutions, file operations, license activation, machine settings, server info | 10108 | TWebServices (machine-wide) | JWT / OIDC Bearer | |
WebAccess API (legacy) | Data — tag read/write over | 3101+ | Bearer token | Bearer token | WebAccess API Reference — deprecated |
The two APIs answer different questions. “What is my solution's live data doing right now?” is the Runtime REST API (on the solution's TServer port). “What solutions are installed on this machine, and what is their lifecycle / license state?” is the SolutionCenter API (on TWebServices port 10108).
Which one do I use?
Goal | Use |
|---|---|
Read a live tag value, historian trend, or aggregated history | Runtime REST API — |
Read active alarms or alarm history | Runtime REST API — |
Write a setpoint or tag value | Runtime REST API — |
Browse the Object Model (Server, Device, Script, … roots) | Runtime REST API — |
Start / stop a solution, activate a license, manage files on a machine | SolutionCenter API — |
Maintain an existing integration built on | WebAccess API (legacy) — plan migration to the Runtime REST API |
Machine-readable specification (OpenAPI / Swagger / Postman)
Both APIs ship an OpenAPI 3.1 contract. You do not have to read hand-written endpoint tables to integrate — load the spec into Swagger UI, Postman, or an OpenAPI client generator and work from the always-current contract.
API | OpenAPI 3.1 document |
|---|---|
SolutionCenter API | Served live at |
Runtime REST API | Distributed as a static OpenAPI 3.1 document; the runtime serves a discovery pointer at |
Shared conventions
Time — ISO 8601 strict UTC. The
Zsuffix is mandatory on input and output; output carries millisecond precision.Errors — RFC 7807 Problem Details (
type,title,status,detail,instance).Pagination — truncation envelope (
truncated,totalMatched/totalReturned); re-query with a narrower filter to drill in.
In this section...