Display Asset in Maps
GPS Coordinates
The Kelvin UI can display the Assets on the global map in the Operations Overview page.
To do this go to the parent Asset and add child Assets by using the longitude and latitude keys in the array under the properties key of the Asset.
Note
The examples here are for creating an Asset. You can also add these properties when updating an Asset.
Kelvin UI Kelvin API Kelvin API Client (Python)
You can setup the Asset's location and Relationships when creating a new Asset.
Adding properties will not work in the built-in Swagger tool provided by Kelvin. If you need to add properties, then you will need to use a different API client or use curl.
API cURL Example 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 curl -X POST \
"https://<url.kelvin.ai>/api/v4/assets/create" \
-H "Authorization: Bearer <Your Current Token>" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "doc_demo_asset_01",
"title": "Documentation Demo Asset",
"asset_type_name": "doc_demo_asset_type",
"properties": [
{
"name": "longitude",
"title": "Longitude",
"value": 37.78
},
{
"name": "latitude",
"title": "Latitude",
"value": -122.45
}
]
}'
The response will look like this;
{
"name" : "doc_demo_asset_01" ,
"title" : "Documentation Demo Asset" ,
"asset_type_name" : "doc_demo_asset_type" ,
"properties" : [
{
"name" : "latitude" ,
"title" : "Latitude" ,
"value" : -122.45
},
{
"name" : "longitude" ,
"title" : "Longitude" ,
"value" : 37.78
}
],
"created" : "2026-01-13T10:30:45.123456Z" ,
"updated" : "2026-01-13T10:30:45.123456Z" ,
"status" : "active"
}
API Client (Python) Example 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 from kelvin.api.client import Client
# Login
client = Client ( url = "https://<url.kelvin.ai>" , username = "<your_username>" )
client . login ( password = "<your_password>" )
# Create asset with GPS coordinates
response = client . asset . create_asset (
data = {
"name" : "doc_demo_asset_01" ,
"title" : "Documentation Demo Asset" ,
"asset_type_name" : "doc_demo_asset_type" ,
"properties" : [
{
"name" : "longitude" ,
"title" : "Longitude" ,
"value" : 37.78
},
{
"name" : "latitude" ,
"title" : "Latitude" ,
"value" : - 122.45
}
]
}
)
# Access response attributes
print ( f "Asset Name: { response . name } " )
print ( f "Longitude: { response . properties [ 1 ] . value } " )
print ( f "Latitude: { response . properties [ 0 ] . value } " )
print ( f "Created: { response . created } " ) # datetime object with tzinfo
You will get a response similar to this;
API Client (Python) Example Response created=datetime.datetime(2026, 1, 13, 10, 30, 45, 123456, tzinfo=datetime.timezone.utc) name='doc_demo_asset_01' title='Documentation Demo Asset' asset_type_name='doc_demo_asset_type' properties=[Property(name='latitude', title='Latitude', value=-122.45), Property(name='longitude', title='Longitude', value=37.78)] updated=datetime.datetime(2026, 1, 13, 10, 30, 45, 123456, tzinfo=datetime.timezone.utc) status='active'
Asset Relationships
The Kelvin UI can visualize relationships between Assets by connecting them with a line on the global map in the Operations Overview page.
To do this go to the parent Asset and add child Assets by using the relationships keys in the array under the properties key of the Asset.
Note
The examples here are for creating an Asset. You can also add these properties when updating an Asset.
Kelvin UI Kelvin API Kelvin API Client (Python)
You can setup the Asset's Relationships when creating a new Asset.
Adding properties will not work in the built-in Swagger tool provided by Kelvin. If you need to add properties, then you will need to use a different API client or use curl.
API cURL Example 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 curl -X POST \
"https://<url.kelvin.ai>/api/v4/assets/create" \
-H "Authorization: Bearer <Your Current Token>" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "doc_demo_asset_02",
"title": "Documentation Demo Asset",
"asset_type_name": "doc_demo_asset_type",
"properties": [
{
"name": "relationships",
"title": "Asset Relationships",
"value": ["plunger_lift_02", "plunger_lift_03", "plunger_lift_05"]
}
]
}'
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 {
"name" : "doc_demo_asset_02" ,
"title" : "Documentation Demo Asset" ,
"asset_type_name" : "doc_demo_asset_type" ,
"properties" : [
{
"name" : "relationships" ,
"title" : "Relationships" ,
"value" : [ "plunger_lift_02" , "plunger_lift_03" , "plunger_lift_05" ]
}
],
"created" : "2026-01-13T10:30:45.123456Z" ,
"updated" : "2026-01-13T10:30:45.123456Z" ,
"status" : "active"
}
API Client (Python) Example 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 from kelvin.api.client import Client
# Login
client = Client ( url = "https://<url.kelvin.ai>" , username = "<your_username>" )
client . login ( password = "<your_password>" )
# Create asset with relationships
response = client . asset . create_asset (
data = {
"name" : "doc_demo_asset_02" ,
"title" : "Documentation Demo Asset" ,
"asset_type_name" : "doc_demo_asset_type" ,
"properties" : [
{
"name" : "relationships" ,
"title" : "Asset Relationships" ,
"value" : [ "plunger_lift_02" , "plunger_lift_03" , "plunger_lift_05" ]
}
]
}
)
# Access response attributes
print ( f "Asset Name: { response . name } " )
print ( f "Relationships: { response . properties [ 0 ] . value } " )
print ( f "Created: { response . created } " ) # datetime object with tzinfo
You will get a response similar to this;
API Client (Python) Example Response created = datetime.datetime( 2026 , 1 , 13 , 10 , 30 , 45 , 123456 , tzinfo = datetime.timezone.utc) name = 'doc_demo_asset_02' title = 'Documentation Demo Asset' asset_type_name = 'doc_demo_asset_type' properties =[ Property( name = 'relationships' , title = 'Relationships' , value =[ 'plunger_lift_02' , 'plunger_lift_03' , 'plunger_lift_05' ])] updated = datetime.datetime( 2026 , 1 , 13 , 10 , 30 , 45 , 123456 , tzinfo = datetime.timezone.utc) status = 'active'