canonical: https://jentic.com/apis/parklio.com/parklio

# Parklio Parking API

Parklio Parking API provides remote control and monitoring of physical parking hardware including barriers, bollards, chains, and gates. The API enables listing devices with filters, retrieving device details and real-time status (battery, connectivity, open/closed), sending open/close commands, and managing access permissions for users across devices and parking zones. Ideal for smart parking systems that integrate physical access control with digital reservation workflows.

## For AI agents

Remotely control and monitor parking barriers, bollards, chains, and gates for smart parking systems.

## Scope

Does not manage parking reservations, process payments, or forecast availability - use only for controlling physical parking hardware and managing device access permissions.

## Capabilities

- List all parking devices with filters by type (barrier, bollard, chain, gate) and status (online, offline)
- Retrieve device details including name, type, location, battery level, and status
- Send open and close commands to parking devices for remote access control
- Query device status including battery level, signal strength, open/closed state, and last seen timestamp
- List and retrieve parking zone configurations with device assignments
- Manage access permissions for users on devices or zones with time-bound validity
- Create and delete user access permissions for specific devices or entire zones

## Use cases

### Reservation-Driven Access Control

Integrate Parklio hardware control with a parking reservation system. When a user confirms a booking, POST /access-permissions to grant them device access for the reserved time window. When they arrive, the mobile app calls POST `/devices/{deviceId}/open.` When the reservation expires, DELETE `/access-permissions/{permissionId}` revokes access. This combines digital reservations with physical security.

Example prompt: POST /access-permissions with userId, deviceId, validFrom, and validTo matching the reservation. On arrival, POST `/devices/{deviceId}/open.` On checkout or expiry, DELETE `/access-permissions/{permissionId}.`

### Device Health Monitoring

Monitor battery levels and connectivity for deployed parking hardware to proactively schedule maintenance. GET /devices?status=online or /devices?status=offline identifies devices needing attention. GET `/devices/{deviceId}/status` returns batteryLevel, signalStrength, and lastSeen timestamps. Alert ops teams when batteryLevel < 20% or a device goes offline for extended periods.

Example prompt: GET /devices?status=offline to find disconnected devices, then GET `/devices/{deviceId}/status` for each to retrieve battery and signal strength. Trigger alerts or maintenance tickets based on thresholds.

### Zone-Based Access Management

Group devices into parking zones and manage access at the zone level rather than per-device. GET /parking-zones lists configured zones with capacity and device membership. POST /access-permissions with a zoneId grants access to all devices in that zone. Useful for employee parking where a permit applies to an entire lot rather than one specific spot.

Example prompt: GET /parking-zones to identify the zone, then POST /access-permissions with userId and zoneId. All devices in the zone become accessible to the user for the validFrom/validTo window.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/devices` | List all parking devices with optional filters |
| GET | `/devices/{deviceId}` | Get device details |
| POST | `/devices/{deviceId}/open` | Send open command to a parking device |
| POST | `/devices/{deviceId}/close` | Send close command to a parking device |
| GET | `/devices/{deviceId}/status` | Get device status including battery and connectivity |
| GET | `/parking-zones` | List parking zones |
| POST | `/access-permissions` | Create a user access permission |
| DELETE | `/access-permissions/{permissionId}` | Revoke a user access permission |

## Key resources

- **Devices** — Physical parking hardware (barriers, bollards, chains, gates) with location, status, and control commands
- **Parking Zones** — Logical groupings of devices with capacity and membership information
- **Access Permissions** — Time-bound user permissions granting access to specific devices or zones

## Why Jentic

- **Setup:** Wiring the Parklio Parking API by hand means carrying its X-API-Key header, shaping the per-device control routes, and handling retries yourself. Through Jentic you install once, import Parklio from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Parklio puts the device id in the URL path (`/devices/{deviceId}/...`), so a rule can pin your agent to one device: it can read its status and open or close it. You choose the operations it may call, so revoking access permissions is not included unless you add it.
- **Credential handling:** Your Parklio API key is stored once, encrypted, by your own Jentic One instance and injected as the X-API-Key header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'open a parking barrier' or 'check a device status', and Jentic returns the matching Parklio operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Parkalot API** — Parkalot manages parking reservations and occupancy tracking while Parklio controls physical access hardware.

## FAQ

### What authentication does the Parklio API use?

The API uses API key authentication via the X-API-Key header. Jentic stores the key encrypted and injects it at execution time without exposing it in prompts.

### Can I open a parking barrier remotely through the API?

Yes. POST `/devices/{deviceId}/open` sends an open command to the specified device (barrier, bollard, chain, or gate). The device must be online and the requesting user must have an active access permission for that device or its zone.

### How do I monitor battery levels for parking devices?

Use GET `/devices/{deviceId}/status` to retrieve batteryLevel (percentage), signalStrength, isOpen, and lastSeen timestamp. Poll this endpoint periodically or set up alerts when batteryLevel falls below a threshold.

### What is the difference between device-level and zone-level access?

Device-level access (deviceId in POST /access-permissions) grants access to one specific barrier or bollard. Zone-level access (zoneId) grants access to all devices in a parking zone, useful for permit holders who can use any spot in a designated area.

### Can I limit what my agent is allowed to do with the Parklio Parking API?

Yes. Because Jentic One is self-hosted, your own rules decide which Parklio operations and credentials the agent may use. Since Parklio puts the device id in the URL path (`/devices/{deviceId}/...`), you can pin the agent to a single device so it can only read that device's status and send open or close commands. You choose the exact operations it is allowed to call, so actions like creating or deleting access permissions stay off-limits unless you explicitly include them.
