Skip to main content
The Device Explainers API exposes the same operations for heat pumps and solar inverters. All endpoints use the following base URL and require a bearer token:

Endpoints

Path parameters

string (UUID)
required
Organization that owns the user and device.
string (UUID)
required
Owner of the device. This can differ from the authenticated caller when an organization administrator accesses a member’s device.
string (UUID)
Heat pump to explain. Required on heat-pump endpoints.
string (UUID)
Solar inverter to explain. Required on inverter endpoints.
string (UUID)
Durable identifier returned by an explainer read. Required for feedback and dismissal.

Get the current explainer

Returns a customer-facing explanation of the device’s active optimization plan.

Query parameters

string
Optional language code, such as en or de. When omitted, Podero uses the organization’s default language.

Response

The request returns 200 OK with JSON null when there is no current explanation, such as when an optimization plan has not been solved. The first request for a plan can take several seconds because it generates and caches the explanation synchronously.

Get a historical explainer

Returns a customer-facing explanation of a completed past window.

Query parameters

string (date-time)
required
Inclusive start of the window as an ISO 8601 timestamp.
string (date-time)
required
End of the window as an ISO 8601 timestamp. Request completed past windows only.
string
Optional language code, such as en or de. When omitted, Podero uses the organization’s default language.
The response uses the same schema as the current endpoint. An unavailable or future window returns 200 OK with JSON null.

Explainer response schema

string (UUID)
required
Durable explainer identifier used by feedback and dismissal requests.
string
required
Customer-facing narrative in the resolved language. Render this value as plain text.
object | null
required
The authenticated caller’s latest rating, or null when that caller has not rated the explainer.

Submit feedback

Records a rating for the authenticated caller. The caller is the actor associated with the feedback even when user_id identifies another member whose device is being accessed.

Request body

boolean
required
Whether the explanation was helpful.
string
Optional negative-feedback reason. Accepted values are wrong_language, confusing, and disagree_with_steering. Omit this field for positive feedback.

Response

An unsupported reason returns 422 Unprocessable Entity.

Dismiss an explainer

Dismisses the explainer identified by explainer_id. The request has no body.

Response

A dismissed explainer is not returned by subsequent explainer reads.

Status codes

Implementation guide

See client-side gating, caching, loading, feedback, and dismissal recommendations.