# Viridi (Viridi Parente, Inc.) > Viridi is a Buffalo, New York manufacturer of fail-safe, modular lithium-ion battery energy > storage systems built around its Anti-Propagation technology, and the operator of ViSTA > (Viridi Insights), an energy-management and industrial-IoT platform for the equipment it > ships. Its only machine-readable API surface is the ViSTA Platform API. Provenance: generated by API Evangelist on 2026-09-04 from this repository's apis.yml and artifacts. Viridi serves no llms.txt of its own (https://viridiparente.com/llms.txt -> 404). ## API - [ViSTA Platform API OpenAPI 3.1](https://vista.viridiparente.com/v3/api-docs): 373 paths, 453 operations, 425 schemas. Anonymously readable; every operation requires an authenticated ViSTA account. Base URL https://vista.viridiparente.com - [Swagger UI](https://vista.viridiparente.com/swagger-ui/index.html): interactive reference. - [Viridi Insights / ViSTA product page](https://viridiparente.com/products/iiot-intelligent-solution/) - [Request a ViSTA account](https://viridiparente.com/create-a-vista-account/): sales-gated; credentials are issued by Viridi's sales team, there is no self-service signup. ## What the API is ViSTA is a Viridi-operated deployment of the open-source ThingsBoard IoT platform (v3.7.0) extended with Viridi-authored controllers. Two layers matter to a caller: - Platform layer (ThingsBoard): tenants, customers, users, devices, device profiles, assets, asset profiles, entity views, alarms, dashboards, rule chains, edge instances, OTA packages, telemetry and attributes, audit logs, RPC, notifications, OAuth2 config, 2FA. - Viridi layer (first-party, 17 operations): SBR30 battery data and bulk telemetry (`GET /api/data`, `GET /api/data/v1_2`, `POST /api/telem`), generator and chiller latest values (`GET /api/data/gen`, `GET /api/data/chiller`), CBRS device registration, state, stats, config and certificates (`/api/getDevices`, `/api/getState`, `/api/getStats`, `/api/getConfig`, `/api/setConfig`, `/api/getCert`, `/api/setCert`, `/api/registerAll`, `/api/deregisterAll`), and Moxion AEMP equipment telematics (`GET /api/moxion_aemp/{page}`, `GET /api/moxion_aemp_faults/{page}`). ## How to call it - Auth: `POST /api/auth/login` returns a JWT; send it as `X-Authorization: Bearer `. Refresh at `POST /api/auth/token`. OAuth2/OIDC single sign-on is enabled — the anonymous `POST /api/noauth/oauth2Clients` lists the configured providers. 2FA is available. - Pagination: `page`, `pageSize`, `sortProperty`, `sortOrder`, `textSearch`; responses carry `data`, `totalPages`, `totalElements`, `hasNext`. - Errors: proprietary JSON envelope `{status, message, errorCode, timestamp}` — NOT RFC 9457. `errorCode: 10` is authentication failure. See errors/viridi-parente-problem-types.yml. - Idempotency: none. No Idempotency-Key header exists anywhere in the contract. Device RPC (`POST /api/rpc/twoway/{deviceId}`) is at-least-once with a 504 timeout path — a blind retry can actuate physical hardware twice. - Rate limits: none published, and no rate-limit headers are returned. - Reversibility: customer assignment, alarm acknowledgement and telemetry writes have reversal operations; entity deletes are hard deletes; device RPC has no undo. No reversal window is documented anywhere. ## Repository artifacts - openapi/viridi-parente-vista-openapi.json — the contract, saved verbatim - authentication/viridi-parente-authentication.yml - conventions/viridi-parente-conventions.yml - errors/viridi-parente-problem-types.yml - data-model/viridi-parente-data-model.yml - conformance/viridi-parente-conformance.yml - lifecycle/viridi-parente-lifecycle.yml - security/viridi-parente-domain-security.yml - well-known/viridi-parente-well-known.yml - rate-limits/viridi-parente-rate-limits.yml - plans/viridi-parente-plans-pricing.yml - mcp/viridi-parente-mcp.yml — candidate only; Viridi ships no MCP server - skills/ — packaged agent skills grounded in real operationIds ## Not available - No MCP server, no A2A agent card, no GraphQL, no AsyncAPI, no gRPC/protobuf, no WSDL. - No SDKs or client libraries on npm, PyPI or any other registry. - No CLI, no sandbox or test tenant, no public changelog, no status page, no SLA. - No security.txt, no trust center, no published certifications, no bug bounty. - No published pricing. ## Company - [Website](https://viridiparente.com/) - [Products](https://viridiparente.com/products/) — RPS150, RPS50, RPSLink IN/EX, SBR30, FAVEO, 1.2 MWh series - [Blog](https://viridiparente.com/blog/) / [RSS](https://viridiparente.com/feed/) - [FAQ](https://viridiparente.com/faq/) - [Contact](https://viridiparente.com/contact/) - [GitHub](https://github.com/ViridiParente) — 14 repositories, all forks of upstream open-source projects (thingsboard-gateway, OpenWrt, libmodbus, pysparkplug, mqtt-spb-wrapper) - [Terms & Privacy](https://viridiparente.com/privacy-policy/)