Skip to main content
PUT
Update details of a user's solar inverter

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

org_id
string<uuid>
required

The organization ID of the user's organization

user_id
string<uuid>
required

The user ID of the user whom the solar inverter belongs to

inverter_id
string<uuid>
required

The ID of the modified solar inverter

Body

application/json
is_pause_power_active
boolean
default:false
is_smart_optimization_active
boolean
default:false
is_inverter_forced_mode_enabled
boolean
default:false
actual_steering_state
string
default:unknown
Maximum string length: 20
device_model
DeviceModelInput · object | null
battery_policy
enum<string> | null
Available options:
Optimize self consumption,
Optimize grid balancing,
Export all
price_zone
enum<string>
default:AT
Available options:
AT,
AT_HOURLY,
BE,
CH,
EE,
DE_LU,
HR,
HU,
IE_SEM,
IT_CNOR,
IT_CSUD,
IT_NORD,
IT_PUN,
IT_SARD,
IT_SICI,
IT_SUD,
PT,
RO,
SE_1,
SE_2,
SE_3,
SE_4,
UK
has_household_load
boolean
default:true
has_on_site_pv
boolean
default:true
deleted_at
string<date-time> | null

When set, the device is considered deleted.

pause_power_until
string<date-time> | null
optimization_score
number | null
comment
string | null
Maximum string length: 300
last_monitoring_executed_at
string<date-time> | null
integration_credential_id
string<uuid> | null
solar_power_rating_kw
battery_capacity_kwh
is_battery_connected
boolean | null
default:false
max_charge_power_w
number | null
max_discharge_power_w
number | null
is_curtailment_active
boolean | null
default:false
max_battery_charge
min_battery_charge
charge_efficiency
number | null
discharge_efficiency
number | null
degradation_cost_eur_per_kwh
number | null
grid_fee_eur_per_kwh
number | null
user_limits_enabled
boolean | null
default:false
current_power_to_grid_w
inferred_max_charge_power_w
number | null
inferred_max_discharge_power_w
number | null
inferred_min_battery_soc_percent
number | null
inferred_battery_capacity_kwh
number | null
inferred_params_updated_at
string<date-time> | null
ac_rated_power_w
integer | null
export_power_limit_w
integer | null
inferred_export_limit_w
number | null
has_ev_in_household
boolean | null
ev_inferred_at
string<date-time> | null
ev_inference_confidence
number | null

0.0–1.0; saturates at 16 EV-charging bouts in 30 days

information_notifications
string[] | null

Response

200 - application/json

OK

connection_status
enum<string>
required
Available options:
ok,
warning,
error,
unknown
monitoring_status
enum<string>
required
Available options:
ok,
warning,
error,
unknown
steering_status
enum<string>
required
Available options:
ok,
warning,
error,
unknown
tone
required

The device's console health tone, and the only verdict a client should render: action_required when a partner-resolvable action is pending, else the worst of connection and monitoring, with not_steered for a healthy device nobody optimizes. Do not re-derive it from connection_status/monitoring_status/steering_status — those three are cue-blind and would report a device asking for reauthentication as healthy. The status filter on GET /org/{org_id}/devices and the tone counts on …/devices/summary grade the three statuses only, so a device with a pending action reads action_required here while being counted and filtered under its status tone.

Available options:
good,
warning,
critical,
not_steered
device_model
DeviceModelOutput · object | null
required
owner
OwnerOutput · object
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
has_household_load
boolean
required

False for an asset with no household load behind the meter

has_on_site_pv
boolean
required

False for an asset with no on-site PV array

action_needed
boolean
default:false
deprecated

Deprecated — use GET /org/{org_id}/notifications/status for per-device-type counts, or GET /org/{org_id}/notifications/actions?device_id=… for the specifics. True when at least one action is pending against this device and the partner must take that action before the device can resume normal operation.

price_zone
enum<string>
default:AT
Available options:
AT,
AT_HOURLY,
BE,
CH,
EE,
DE_LU,
HR,
HU,
IE_SEM,
IT_CNOR,
IT_CSUD,
IT_NORD,
IT_PUN,
IT_SARD,
IT_SICI,
IT_SUD,
PT,
RO,
SE_1,
SE_2,
SE_3,
SE_4,
UK
estimated_pv_capacity_kwp
number | null

PV array peak capacity in kWp inferred from observed solar production. Null until a supported fit is available; onboarding default assumptions are excluded.

is_authenticated
boolean | null
default:false
is_smart_optimization_active
boolean
default:false
is_inverter_forced_mode_enabled
boolean
default:false
actual_steering_state
string
default:unknown
Maximum string length: 20
id
string<uuid> | null
deleted_at
string<date-time> | null

When set, the device is considered deleted.

pause_power_until
string<date-time> | null
is_pause_power_active
boolean
default:false
external_device_id
string | null
default:""
Maximum string length: 255
optimization_score
number | null
current_mode
string | null
comment
string | null
Maximum string length: 300
current_state_last_updated_at
string<date-time> | null
last_monitoring_executed_at
string<date-time> | null
is_inverter_forced_mode_active
boolean
default:false
inverter_forced_mode_since
string<date-time> | null
default:0001-01-01T00:00:00Z
integration_credential
string<uuid> | null
solar_power_rating_kw
battery_capacity_kwh
is_battery_connected
boolean | null
default:false
max_charge_power_w
number | null
max_discharge_power_w
number | null
is_curtailment_active
boolean | null
default:false
max_battery_charge
min_battery_charge
charge_efficiency
number | null
discharge_efficiency
number | null
degradation_cost_eur_per_kwh
number | null
grid_fee_eur_per_kwh
number | null
user_limits_enabled
boolean | null
default:false
information_last_updated_at
string<date-time> | null
battery_policy
string | null
default:Optimize self consumption
Maximum string length: 100
battery_policy_last_updated_at
string<date-time> | null
current_solar_production_w
current_power_to_grid_w
household_consumption_w
solar_surplus_w
battery_charge_discharge_power_w
battery_charge_level_percent
production_last_day_kwh
production_last_week_kwh
production_last_month_kwh
production_last_updated_at
string<date-time> | null
inferred_max_charge_power_w
number | null
inferred_max_discharge_power_w
number | null
inferred_min_battery_soc_percent
number | null
inferred_battery_capacity_kwh
number | null
inferred_params_updated_at
string<date-time> | null
ac_rated_power_w
integer | null
export_power_limit_w
integer | null
inferred_export_limit_w
number | null
has_ev_in_household
boolean | null
ev_inferred_at
string<date-time> | null
ev_inference_confidence
number | null

0.0–1.0; saturates at 16 EV-charging bouts in 30 days

information_notifications
string[] | null
embeddable_url
string | null

URL to embeddable onboarding form

authorization_url
string | null

Base URL for authorizing with the Podero server