canonical: https://jentic.com/apis/restpac.groov.com/restpac-groov

# Restpac Groov SNAP PAC REST API

Revised: 7/20/2016 Overview This API provides secure access to a SNAP-PAC-R or -S series controller's variable and I/O tags. Confidentiality for API transactions is provided by HTTPS. Authentication uses HTTP Basic Authentication with an API key. An API key ID is submitted in the Basic Authentication userid field and API key value in the password field. **For more information visit:** [developer.o. The API exposes 55 endpoints secured with basic authentication.

## For AI agents

Programmatically readdevicedetails, readstrategydetails. Covers 55 operations with basic authentication.

## Scope

Does not handle communications, crm, or developer tools - use for payments only.

## Capabilities

- readDeviceDetails
- readStrategyDetails
- readAnalogInputs
- readAnalogInputEu
- readAnalogOutputs
- writeAnalogOutputEu
- readAnalogOutputEu

## Use cases

### Payments Operations

Use the SNAP PAC REST API to perform payments operations programmatically. The API provides 55 endpoints covering core functionality including readdevicedetails, readstrategydetails, readanaloginputs.

Example prompt: Call GET /device to readdevicedetails

### Automated all Management

Automate all operations by combining multiple SNAP PAC REST API endpoints. Agents can readstrategydetails and then readanaloginputs in a single workflow.

Example prompt: Call GET `/device/strategy` to readstrategydetails, then verify the result

### AI Agent Integration via Jentic

AI agents discover and call SNAP PAC REST API endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle basic tokens manually.

Example prompt: Search Jentic for 'readdevicedetails', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/device` | readDeviceDetails |
| GET | `/device/strategy` | readStrategyDetails |
| GET | `/device/strategy/ios/analogInputs` | readAnalogInputs |
| GET | `/device/strategy/ios/analogInputs/{ioName}/eu` | readAnalogInputEu |
| GET | `/device/strategy/ios/analogOutputs` | readAnalogOutputs |
| POST | `/device/strategy/ios/analogOutputs/{ioName}/eu` | writeAnalogOutputEu |
| GET | `/device/strategy/ios/analogOutputs/{ioName}/eu` | readAnalogOutputEu |
| GET | `/device/strategy/ios/digitalInputs` | readDigitalInputs |

## Key resources

- **all** — Everything available through this RESTful API related to the PAC and its strategy
- **device** — PAC's type, firmware version, mac addresses, and uptime
- **strategy** — Information about the currently loaded strategy
- **ios** — I/O points in the strategy
- **tables** — Numeric and string tables in the strategy

## Why Jentic

- **Setup:** Wiring the SNAP PAC REST API by hand means setting up its basic auth, targeting the controller's restpac.groov.com/api/v1 host, and mapping device strategy and I/O calls yourself. Through Jentic you install once, import SNAP PAC REST API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** SNAP PAC REST API puts the I/O point name in the URL path (`/device/strategy/ios/analogOutputs/{ioName}/eu`), so a rule can pin your agent to one I/O point: it can read that point's engineering-units value and nothing else. You choose the operations it may call, so writes to an output point are not included unless you add them.
- **Credential handling:** Your SNAP PAC REST API credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'read device details' or 'read an analog input value', and Jentic returns the matching SNAP PAC REST API operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Stripe** — Alternative payments API
- **Adyen** — Alternative payments API
- **Square** — Complementary payments API
- **Paypal** — Complementary payments API

## FAQ

### What authentication does the SNAP PAC REST API use?

The SNAP PAC REST API uses HTTP Basic authentication with username and password. Through Jentic, these credentials are stored encrypted in your Jentic One instance and injected at execution time, so raw secrets never enter the agent context.

### Can I readdevicedetails with the SNAP PAC REST API?

Yes. Use the GET /device endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the SNAP PAC REST API?

Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.

### How do I readdevicedetails through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'readdevicedetails'. Jentic returns the matching SNAP PAC REST API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the SNAP PAC REST API have?

The SNAP PAC REST API exposes 55 endpoints covering all, device, strategy operations.

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

Yes. Because Jentic One is self-hosted, your own rules decide which SNAP PAC REST API operations and credentials the agent may use. Since the API puts the I/O point name in the URL path, such as `/device/strategy/ios/analogOutputs/{ioName}/eu`, you can pin the agent to a single point so it reads that point's engineering-units value and nothing else. You also choose the operations it may call, so writes to an output point are excluded unless you explicitly add them.
