Baja API

The Baja API is where Niagara stops being configuration and becomes software engineering. It is Tridium’s Java framework underneath every station – components, points, histories, alarms, and drivers are all Baja objects. Software Pile develops against it directly: this is the practice’s core competency, led by a Tridium-certified Niagara Full Stack Developer.

What Baja Development Unlocks

  • Custom components – typed objects with properties, actions, and topics that behave like native palette entries, slot sheets and all
  • Custom drivers – full driver stacks: network, device, and proxy-point tiers for equipment Niagara has never heard of
  • Services – station-level logic that runs continuously: schedulers, watchdogs, data processors, integration daemons
  • Program logic beyond kitControl – when wire sheets hit their limits, compiled Baja logic takes over cleanly

Engineering Standards

Modules are developed against your exact Niagara version line, respect station lifecycle (steady-state starts, clean stops, license checks), handle fault conditions without wedging the station, and ship signed with third-party-certificate module signing. We document slot semantics so the next engineer – yours or ours – can maintain what we built.

Typical Baja Engagements

A driver for a proprietary chiller protocol. A component set an OEM ships with its hardware. A service that reconciles station data against an external system of record every night. If it lives inside the station and the palette cannot do it, it is probably a Baja project. Describe yours – include the Niagara version and target hardware.

What Is the Baja API?

Baja is the Java API that the Niagara Framework is built on. It defines the component model — components, properties, actions, topics — along with the type system, ORD resolution, subscription mechanics, permissions and the module structure that everything in a station conforms to. Writing a Niagara module means writing against Baja.

Understanding it is what separates a module that behaves like a native part of Niagara from one that technically runs but fights the framework: components that do not appear correctly in Workbench, properties that do not persist, actions that ignore permissions, or logic that misbehaves when a station restarts.

What Do You Build with the Baja API?

  • Custom drivers for equipment with no supported Niagara driver.
  • Custom components that engineers place on a wiresheet like any stock component.
  • Server-side logic that must run continuously regardless of whether anyone has a browser open.
  • Integrations that push or pull data between the station and an external database, API or business system.
  • Workbench extensions — custom views, tools and wizards — that automate engineering work.
  • Custom alarm, history and reporting behaviour beyond what stock components provide.

How Is Baja Different from BajaScript?

Baja is server-side Java, running inside the station or Workbench. BajaScript is the browser-side JavaScript library that talks to a running station over the network. They model the same component space from opposite ends of the connection.

The dividing line in practice: anything that must happen whether or not a person is watching belongs in Baja. Anything that exists to present or interact belongs in BajaScript. Control logic implemented in the browser stops when the tab closes — a mistake that is easy to make and unpleasant to discover in production.

What Does Baja Development Actually Require?

Java, plus the framework-specific parts that no general Java experience covers: module structure and the build, correct component and property definitions, subscription and lifecycle handling, permission enforcement, threading rules inside a station, and module signing so the result will load on a modern station.

There is also a version dimension. A module is built against a target Niagara version, and it needs retesting — sometimes rework — when the station is upgraded. Any Baja development should be commissioned with that lifecycle understood and owned, not discovered at the next upgrade.

Related services: custom Niagara module and driver development · Workbench engineering tools.