Skip to content

Update an Asset

Reference:

Field Description
Name (Name ID) Unique name identifier. It must contain only lowercase alphanumeric characters. The characters ., _ and - are allowed to separate words instead of a space BUT can not be at the beginning or end of the name.
Title (Display Name) The display name to show on the Kelvin UI. It can contain any characters, including spaces.
Asset Type The name of the Asset Type that this Asset belongs to. This must be a valid Asset Type name.
Properties A list of key/value pairs that define custom properties of the asset. Use this to define attributes like: Location, Site, PLC Type, Manufacturer, Serial Number, etc.

Update Asset

Updating an Asset closely mirrors its creation process. However, the name of the Asset is non-editable. To modify the name, you must create a new Asset.

Assets can be managed from the Administration section of the UI.

Do not get confused with the Asset management in the Operations section which is designed for the Production Engineers.

To start, go to the Assets in the Administration section of the left side bar.

To edit an Asset, click on the pencil icon to the right of the Asset you want to edit.

The popup will appear with the current information. The only value you can not edit is the Name ID.

Then click Next to go to the Asset Properties editing. The only value you can not edit is the Type.

When ready, click Save to update.

To make life easier, you can copy the Asset Name from the Kelvin UI in Operations → Assets. Hover over the Asset Name below the Asset Title in the table, then click on the copy icon that will appear to the right of the name.

API cURL Example
1
2
3
4
5
6
7
8
curl -X "POST" \
"https://<url.kelvin.ai>/api/v4/assets/doc_demo_asset/update" \
-H "Authorization: Bearer <Your Current Token>" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
        "title": "My Demo Asset Updated"
    }'

The response will look like this;

API cURL Example Response
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
{
   "name":"doc_demo_asset",
   "title":"My Demo Asset Updated",
   "status":{
      "state":"unknown",
      "last_seen":null
   },
   "asset_type_name":"doc_demo_asset_type",
   "asset_type_title":"Doc Demo Asset",
   "properties":[
      {
         "name":"plc_manufacturer",
         "title":"PLC Manufacturer",
         "value":"Siemens"
      }
   ],
   "created":"2026-01-09T04:00:32.747852Z",
   "updated":"2026-01-09T04:00:32.747852Z"
}

To make life easier, you can copy the Asset Name from the Kelvin UI in Operations → Assets. Hover over the Asset Name below the Asset Title in the table, then click on the copy icon that will appear to the right of the name.

API Client (Python) Example
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from kelvin.api.client import Client

# Login
client = Client(url="https://<url.kelvin.ai>", username="<your_username>")
client.login(password="<your_password>")

response = client.asset.update_asset(
    asset_name="doc_demo_asset",
    data={
        "title": "My Demo Asset Updated"
    },
)

print(response)

You will get a response similar to this;

API Client (Python) Example Response
1
asset_type_name='doc_demo_asset_type' asset_type_title='Progressing Cavity Pump' created=datetime.datetime(2026, 1, 9, 8, 52, 58, 422300, tzinfo=datetime.timezone.utc) name='doc_demo_asset' properties=None status=AssetStatusItem(last_seen=None, state=<AssetState.unknown: 'unknown'>) title='My Demo Asset Updated' updated=datetime.datetime(2026, 1, 9, 8, 52, 58, 422300, tzinfo=datetime.timezone.utc)