List Assets in SmartApp

Reference:

Field Mandatory Example Description
app_name Yes event-detection The Kelvin SmartApp™ name to filter the Asset list. 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.
app_versions No 1.0.1 Filter the results on the Kelvin SmartApp™ versions
enabled_states No Options are true or false Filter whether the Kelvin SmartApp™ is currently processing data from the Asset
resources No krn:asset:beam_pump_16 Filter for only certain Assets
statuses No Options are running, stopped, staged, updating. Filter on the status of the Kelvin SmartApp™ for the Asset.

A Kelvin SmartApp™ can be processing many thousands of Assets at the same time. Kelvin UI makes it easy to monitor the status of all these Assets and quickly add or delete Assets to the Kelvin SmartApp™.

You can list all Assets used by a Kelvin SmartApp™.

To see a full list of Assets running a certain , go to SmartApps™ dashboard page and select the Kelvin SmartApp™.

Click on the Management tab, and click on the Assets tab. Here you can see a list of Assets and the configuration options for the Kelvin SmartApp™.

API cURL Example
1
2
3
4
curl -X 'GET' \
'https://beta.kelvininc.com/api/v4/apps/<YOUR_SMARTAPP_NAME>/resources/list?sort_by=resource&pagination_type=cursor&page_size=20&direction=asc' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <Your Current Token>'

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
{
"pagination": {
    "next_page": null,
    "previous_page": null
},
"data": [
    {
    "resource": "krn:asset:motor_01",
    "app_name": "doc-demo-smartapp",
    "workloads": [
        {
        "app_version": "1.0.0",
        "workload_name": "docs-demo-smartapp-2227a5",
        "cluster_name": "beta-qa-01-cluster"
        }
    ],
    "enabled": true,
    "created_at": "2026-01-14T04:29:10.95333Z",
    "created_by": "krn:user:demo@kelvin.ai",
    "updated_at": "2026-01-14T04:29:10.95333Z",
    "updated_by": "krn:user:demo@kelvin.ai"
    },
    {
    "resource": "krn:asset:motor_02",
    "app_name": "doc-demo-smartapp",
    "workloads": [
        {
        "app_version": "1.0.0",
        "workload_name": "docs-demo-smartapp-2227a5",
        "cluster_name": "beta-qa-01-cluster"
        }
    ],
    "enabled": true,
    "created_at": "2026-01-14T04:29:10.95333Z",
    "created_by": "krn:user:demo@kelvin.ai",
    "updated_at": "2026-01-14T04:29:10.95333Z",
    "updated_by": "krn:user:demo@kelvin.ai"
    }
]
}
API Client (Python) Example
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from kelvin.api.client import Client

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

# List Assets in SmartApp
response = client.apps.list_app_resources(app_name="doc-demo-smartapp")

print(f'Found {len(response)} assets for doc-demo-smartapp')
for asset in response:
    print(f'  - {asset.resource} (enabled: {asset.enabled})')

The response will look like this;

API Client (Python) Example Response
1
2
3
4
5
6
Found 5 assets for doc-demo-smartapp
    - krn:asset:motor_01 (enabled: True)
    - krn:asset:motor_02 (enabled: True)
    - krn:asset:motor_03 (enabled: True)
    - krn:asset:motor_04 (enabled: True)
    - krn:asset:motor_05 (enabled: True)