Product
Jentic OSThe workplace. An in-house AI platform for every employeeJentic OneSafe access. Agents reach your systems without holding keysJentic AIRThe foundation. Gets your existing platforms ready for AI
Pricing
Developers

GET STARTED

API DirectoryBrowse 10,000+ APIs Ready For AI Agent IntegrationDocumentationGuides and API reference

TOOLS

API ScoringCheck your AI Readiness using our scorecardArazzo UIVisualize Arazzo Workflows As Interactive DocumentationArazzo EditorBuild And Edit Multi-Step API Workflows Visually

COMMUNITY

GitHubOpen source projects and examplesOpen StandardsBuilt on open specs. Never locked in.
Resources
Company
About UsOur mission and teamCareersJoin our teamContactGet in touch
Try it now
Jentic OSJentic OneJentic AIR
Pricing
API DirectoryDocumentationAPI ScoringArazzo UIArazzo EditorGitHubOpen Standards
Resources
About UsCareersContact
Try it now
JenticJentic
Products
  • Jentic OS
  • Jentic One
  • Jentic AIR
For Developers
  • API Directory
  • Documentation
  • GitHub
Company
  • About Jentic
  • Careers
  • Contact Us
  • Trust Centre
ISO/IEC 27001:2022 certification badge issued by Prescient SecurityISO/IEC 27001:2022 certification badge issued by Prescient Security

Information Security Management System

Certified to ISO/IEC 27001:2022 by Prescient Security

Terms & Conditions•Privacy Policy•
© 2026 Jentic. All rights reserved.
Switch to light modeSwitch to dark mode
APIs / IOT / Opto22 / PAC Control REST API
PAC Control REST API logo

Opto22 PAC Control REST API

Browse all Opto22 APIs
Official vendor OpenAPI document · agent-readyIOTDevice Managementbasic55 EndpointsREST

For Agents

Read and write SNAP-PAC controller strategy variables and analog or digital I/O points over HTTPS using an API key in HTTP Basic Auth.

Use for: Read all int32 variables in the SNAP-PAC strategy, Get the engineering units of an analog input by name, Write a new value to a float variable on a SNAP-PAC, Set the state of a digital output on the controller

Not supported: Does not handle PAC strategy compilation, firmware updates, or groov-family controllers - use for SNAP-PAC named variable and I/O access only.

The PAC Control REST API provides HTTPS access to variables and I/O tags running inside an Opto 22 SNAP-PAC-R or SNAP-PAC-S series industrial controller. It exposes the controller's strategy, letting external systems read and write integer, float, string, and table variables, plus analog and digital I/O points by name. Authentication is HTTP Basic Auth carrying an API key id and value, and JSON payloads are capped at 3KB to match the controller's onboard buffer.

Jentic One on GithubView OpenAPI Document

Install Jentic One Beta

Connect the PAC Control REST API to your agent

Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the PAC Control REST API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.

Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.

1

Step 1: Jentic One Host machine

# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fopto22.com%2Fopto22-pac" | sh
2

Step 2: Agent machine

# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fopto22.com%2Fopto22-pac" | sh
jentic register       # connects your agent to your Jentic One instance

Jentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.

Capabilities

What an agent can do with PAC Control REST API.

Read scalar strategy variables by name from a SNAP-PAC controller

Write values to integer, float, and string variables on the controller

Read analog input engineering units for a named I/O point

Set analog output values and digital output states

Read and write table variables across int32, float, and string types

Query controller and strategy metadata for routing and validation

Use Cases

Patterns agents use PAC Control REST API for, with concrete tasks.

★ Plant Variable Bridge to Higher-Level Systems

Expose SNAP-PAC strategy variables to an MES, SCADA, or analytics system without writing custom controller code. The REST API returns named int32, float, and string variables as JSON, so an integration can map them directly to records in the upstream system.

GET /device/strategy/vars/int32s to read all integer variables and post them to a time-series database every 60 seconds

Recipe and Setpoint Push from ERP

Allow an ERP or scheduling system to push job recipes into a SNAP-PAC by writing named variables on the controller. The named-variable model means the integration code does not need to track register addresses - it writes by symbol.

POST a JSON value to the named float variable for the recipe target temperature when an ERP job is released

Engineering Units for HMI Tiles

Drive HMI tiles or operator dashboards directly from analog inputs on a SNAP-PAC by requesting the engineering-unit value of each named I/O point. The dedicated /eu endpoint returns the scaled value the controller already computed, so the dashboard does not need to repeat scaling logic.

GET /device/strategy/ios/analogInputs/{ioName}/eu for each gauge tile every 2 seconds

Table Variable Inspection for Diagnostics

Read large table variables - int32, float, or string - from a SNAP-PAC strategy to inspect history buffers, alarm queues, or batch logs that the controller maintains in memory. The REST API exposes both whole tables and single indexed elements.

GET the named float table variable to download the last 100 batch results into a diagnostics report

Agent-Driven SNAP-PAC Operations via Jentic

An AI assistant for controls engineers can read and write SNAP-PAC variables and I/O points through Jentic without exposing the API key id and value to the model. The agent searches by intent and Jentic returns the matching named-variable read or write operation.

Search Jentic for 'write a value to a SNAP-PAC float variable', load the operation schema, and execute against the engineer's controller

Key Endpoints

55 endpoints — the pac control rest api provides https access to variables and i/o tags running inside an opto 22 snap-pac-r or snap-pac-s series industrial controller.

METHOD

PATH

DESCRIPTION

GET

/device

Get device info

GET

/device/strategy

Get running strategy info

GET

/device/strategy/ios/analogInputs/{ioName}/eu

Read analog input engineering units

GET

/device/strategy/ios/digitalInputs/{ioName}/state

Read digital input state

GET

/device/strategy/ios/analogOutputs

List analog outputs

GET

/device

Get device info

GET

/device/strategy

Get running strategy info

GET

/device/strategy/ios/analogInputs/{ioName}/eu

Read analog input engineering units

GET

/device/strategy/ios/digitalInputs/{ioName}/state

Read digital input state

GET

/device/strategy/ios/analogOutputs

List analog outputs

Why Jentic?

What agents get from Jentic-routed access to this vendor.

Setup

Setup

Wiring the PAC Control REST API by hand means building the Basic Auth header from the API key id and value and navigating its named-variable and I/O route tree on the SNAP-PAC controller yourself. Through Jentic you install once, import the PAC Control REST API from the API Directory, store the credential once, and your agent calls it.

Permission scoping

Permission scoping

PAC Control puts the I/O point name in the URL path (/device/strategy/ios/analogInputs/{ioName}/eu), so a rule can pin your agent to reading one input. You choose the operations it may call, so output writes are not included unless you add them.

Credential management

Credential isolation

Your PAC Control key id and value are stored once, encrypted, by your own Jentic One instance as a single Basic Auth credential and injected at execution time. They never enter the agent's prompt, logs, or context.

Intent-based discovery

Intent-based discovery

Agents search Jentic by intent such as 'write a value to a SNAP-PAC float variable' or 'read an analog input', and Jentic returns the matching named-variable operation with its parameter schema so the agent calls the right endpoint without browsing the reference docs.

Related APIs

Alternatives and complements available in the Jentic catalogue.

Complementary

groov View Public API

→

Same vendor, but for groov EPIC and groov RIO data store rather than SNAP-PAC variables

Choose groov View when the target is a groov-family controller; PAC Control is the right choice for SNAP-PAC-R or -S series hardware.

Alternative

Particle Device Cloud API

→

General-purpose IoT device cloud for connected microcontrollers

Pick Particle when the fleet is Particle hardware; PAC Control fits Opto 22 industrial controllers on a plant floor.

Alternative

Blynk IoT API

→

Consumer and prosumer IoT platform with mobile dashboards

Use Blynk for consumer-grade devices and prosumer dashboards; SNAP-PAC is purpose-built for industrial automation.

FAQs

Specific to using PAC Control REST API through Jentic.

What authentication does the PAC Control REST API use?

HTTP Basic Auth with an API key. The API key id is sent as the username and the API key value as the password. Through Jentic, both halves are stored encrypted in the vault and the agent never sees the raw credential.

Can I write to strategy variables and I/O points with the PAC Control REST API?

Yes. The API exposes named writes for int32, float, and string variables and for analog and digital output points. Writes are constrained to a 3KB JSON body - fine for individual setpoints but not bulk table loads in a single call.

How many endpoints does the PAC Control REST API expose?

Fifty-five endpoints covering device info, the running strategy, scalar variables, table variables, and analog and digital I/O. The surface mirrors the named-variable model that PAC Control programs use, so endpoint paths follow the variable and I/O point names.

What is the maximum payload size for a PAC Control request?

The vendor docs cap JSON payloads at 3KB (3072 bytes) for both POSTs and GETs. Designs that need to read or write many table elements at once should chunk the calls below that limit.

How do I read an analog input through Jentic?

Install the SDK with pip install jentic, then search Jentic for 'read an analog input value from a SNAP-PAC'. Jentic returns the GET /device/strategy/ios/analogInputs/{ioName}/eu operation with its schema; load it, supply the I/O point name, and execute. Run it through Jentic One, the self-hosted execution layer.

Can I limit what my agent is allowed to do with the PAC Control REST API?

Yes. Jentic One is self-hosted, so your own rules decide which of the 55 operations and which Basic Auth credential the agent may use. Because PAC Control puts the I/O point name in the URL path, such as GET /device/strategy/ios/analogInputs/{ioName}/eu, you can pin the agent to reading a single analog input or a specific set of named variables. You pick the operations it can call, so analog and digital output writes are excluded unless you explicitly add them.

GET STARTED

Start building with PAC Control REST API

Explore with Jentic One
View OpenAPI Document