assets

Update Asset

Update an existing asset. All fields are optional — only include what you want to change.

siteId and accountId cannot be changed after creation. Including either field in the request body is rejected with a 400 Bad Request validation error.

To archive an asset, set isArchived: true. To unarchive, set isArchived: false.

patch/assets/{asset_id}

Request

  • Base URL: https://api.coperniq.io/v1
  • URL: https://api.coperniq.io/v1/assets/{asset_id}
  • Auth: API key in header x-api-key

Path parameters

asset_idstring required

Request body

namestring
type'BATTERY_SYSTEM' | 'CHARGING_GATEWAY' | 'COMBINER_BOX' | 'EV_CHARGER' | 'LOAD_CENTER' | 'MICROINVERTER' | 'POWER_OPTIMIZER' | 'PRODUCTION_METER' | 'RAPID_SHUTDOWN_DEVICE' | 'PV_INVERTER' | 'TRACKER' | 'WEATHER_STATION' | 'AIR_CONDITIONER' | 'AIR_HANDLING_UNIT' | 'BOILER' | 'CHILLER' | 'COOLING_TOWER' | 'FAN' | 'HEAT_EXCHANGER' | 'HEAT_PUMP' | 'MAKE_UP_AIR_UNIT' | 'PUMP' | 'ROOFTOP_UNIT' | 'THERMOSTAT' | 'VARIABLE_FREQUENCY_DRIVE' | 'AUTOMATIC_TRANSFER_SWITCH' | 'BREAKER' | 'DISCONNECT_SWITCH' | 'ELECTRIC_METER' | 'GENERATOR' | 'LIGHTING_PANEL' | 'PANELBOARD' | 'SWITCHGEAR' | 'TRANSFORMER' | 'UNINTERRUPTIBLE_POWER_SUPPLY' | 'BACKFLOW_PREVENTER' | 'BOOSTER_PUMP' | 'GREASE_INTERCEPTOR' | 'STORAGE_TANK' | 'SUMP_PUMP' | 'VALVE' | 'WATER_FILTRATION_SYSTEM' | 'WATER_HEATER' | 'WATER_SOFTENER' | 'ACCESS_CONTROLLER' | 'AUTOMATION_CONTROLLER' | 'CAMERA' | 'CARD_READER' | 'DOOR_STRIKE' | 'MAGLOCK' | 'NETWORK_SWITCH' | 'NETWORK_VIDEO_RECORDER' | 'SENSOR' | 'WIRELESS_ACCESS_POINT' | 'OTHER'

Asset type enum.

status'DRAFT' | 'ACTIVE' | 'MAINTENANCE' | 'INACTIVE' | 'RETIRED'

Asset lifecycle status.

manufacturerstring
modelstring
serialNumberstring
sizenumber double
labelIdsinteger[]

Replaces the asset's label list.

installDatestring date nullable
manufacturingDatestring date nullable
expectedLifetimenumber double

Expected lifetime in years

descriptionstring
coverImageFileIdinteger
nameplateImageFileIdinteger
isArchivedboolean

Response

Asset updated successfully

idinteger required

Asset identifier.

uidinteger nullable

Short human-readable identifier for the asset (nullable for older records).

namestring nullable
type'BATTERY_SYSTEM' | 'CHARGING_GATEWAY' | 'COMBINER_BOX' | 'EV_CHARGER' | 'LOAD_CENTER' | 'MICROINVERTER' | 'POWER_OPTIMIZER' | 'PRODUCTION_METER' | 'RAPID_SHUTDOWN_DEVICE' | 'PV_INVERTER' | 'TRACKER' | 'WEATHER_STATION' | 'AIR_CONDITIONER' | 'AIR_HANDLING_UNIT' | 'BOILER' | 'CHILLER' | 'COOLING_TOWER' | 'FAN' | 'HEAT_EXCHANGER' | 'HEAT_PUMP' | 'MAKE_UP_AIR_UNIT' | 'PUMP' | 'ROOFTOP_UNIT' | 'THERMOSTAT' | 'VARIABLE_FREQUENCY_DRIVE' | 'AUTOMATIC_TRANSFER_SWITCH' | 'BREAKER' | 'DISCONNECT_SWITCH' | 'ELECTRIC_METER' | 'GENERATOR' | 'LIGHTING_PANEL' | 'PANELBOARD' | 'SWITCHGEAR' | 'TRANSFORMER' | 'UNINTERRUPTIBLE_POWER_SUPPLY' | 'BACKFLOW_PREVENTER' | 'BOOSTER_PUMP' | 'GREASE_INTERCEPTOR' | 'STORAGE_TANK' | 'SUMP_PUMP' | 'VALVE' | 'WATER_FILTRATION_SYSTEM' | 'WATER_HEATER' | 'WATER_SOFTENER' | 'ACCESS_CONTROLLER' | 'AUTOMATION_CONTROLLER' | 'CAMERA' | 'CARD_READER' | 'DOOR_STRIKE' | 'MAGLOCK' | 'NETWORK_SWITCH' | 'NETWORK_VIDEO_RECORDER' | 'SENSOR' | 'WIRELESS_ACCESS_POINT' | 'OTHER'

Asset type enum.

status'DRAFT' | 'ACTIVE' | 'MAINTENANCE' | 'INACTIVE' | 'RETIRED' required

Asset lifecycle status.

manufacturerstring nullable
modelstring nullable
serialNumberstring nullable
siteIdinteger required
accountIdinteger nullable

ID of the account (project with type ACCOUNT) the asset belongs to.

sizenumber double nullable
installDatestring date nullable
manufacturingDatestring date nullable
expectedLifetimenumber double nullable

Expected lifetime in years

descriptionstring nullable
coverImageFileIdinteger nullable
nameplateImageFileIdinteger nullable
isArchivedboolean required
createdAtstring date-time
updatedAtstring date-time

Changes

No recorded changes to this operation across all 1 revision of this API.