TL;DR
- Single REST API for 80+ vendors (most of the vendors already available in the clever-PV app) — you build one integration, we handle the vendor protocols
- Auth: OAuth2 Client Credentials → every request uses
Bearer {token}+ auserIdpath param you define - Core flow:
GET /vendors→ connect vendor →GET /devices→ read/writecapabilities[] - All device interaction happens through capabilities — never hardcode what a device can do, always check
capabilities[]at runtime
The Clever-PV Connect API enables you to integrate and manage devices from various vendors in your applications. Whether you're building a mobile app, web platform, or IoT solution, the Connect API provides a unified interface to connect devices from vendors like Tesla, Viessmann, Vaillant, Solvis, and more.
What is the Connect API?
The Connect API is a RESTful service that enables connecting third-party devices to custom applications. It handles vendor-specific authentication flows, device discovery, and device management, allowing you to focus on building great user experiences rather than managing complex OAuth implementations and vendor-specific protocols.
Key Features
- Multi-Vendor Support: Connect devices from multiple vendors through a single, consistent API
- Flexible Authentication: Supports various authentication methods including OAuth2/OIDC with PKCE, proxy-based OAuth, and form-based authentication
- Device Management: Discover, link, and manage devices from connected vendors
- Real-time Capabilities: Access device capabilities and data including charging status, location, power consumption, and more
- Live Telemetry: Receive real-time device state updates via Azure Event Hubs for continuous monitoring, dashboards, and analytics
Getting Started
To get started with the Connect API, follow our comprehensive Device Onboarding Flow guide, which walks you through:
- Discovering available vendors
- Understanding connection options for each vendor
- Implementing the appropriate authentication flow (
oidcProxy,oidc,ocpp,push, orform) - Creating connections and linking devices
- Accessing device data and capabilities
- Setting up Live Telemetry for real-time device data streaming
For the API-level OAuth2 setup (obtaining your Bearer token), see Authentication.
Base URLs
| Purpose | URL |
|---|---|
| Auth | https://auth.clever-pv.com |
| API | https://api.clever-pv.com/connect |
API Versioning
All endpoints are versioned under a /v1/ path prefix (e.g., GET /v1/users/{userId}/devices). Our versioning policy:
- Additions are backwards-compatible within
/v1/— new endpoints, new optional fields on responses, new enum values, and new capabilities can appear at any time without a version bump. Clients must tolerate unknown fields and unknown enum values. - Breaking changes ship behind a new version prefix (e.g.,
/v2/). The/v1/prefix continues to work in parallel during the deprecation window. - Deprecations are announced in this documentation and in the OpenAPI spec via
deprecated: truebefore any endpoint is removed.
When asking an LLM or copilot to write integration code against this API, prefer the current /v1/ patterns documented here over any older snippets you may find.
Using this documentation with AI tools
Point your coding assistant at /llms.txt for a curated index of every page, or /llms-full.txt for the entire documentation plus the live OpenAPI spec concatenated into a single file — ready to paste into a chat or feed to a RAG pipeline.