Operations Engineers are able to add Data Tags to Assets which is either linked to a point in time or a time range.
Data Tags, distinct from Tags, derive their tag_names from the predefined list of Tag Names within Tags. New Tag Names can be created by users.
These Data Tags can be used for any reason. One use is for Operations Engineers to tag important events of a certain time for a certain Asset as feedback and review by the Developers and Data Scientists.
Programmatically you can also add tags. This can be useful when you want to mark certain events automatically when they happen for both future analysis or highlights for Operations in the Data Explorer.
Any tags created programmatically will appear in the graphs in the Kelvin UI.
Data Tag Names
All Data Tags are related to a Data Tag Name.
Before you can create new Data Tag events you need to create the Data Tag Names.
fromkelvin.api.clientimportClient# Loginclient=Client(url="https://<url.kelvin.ai>",username="<your_username>")client.login(password="<your_password>")# Create Data Tag Nameresponse=client.data_tag.create_tag(data={"name":"Demo Doc Tag","metadata":{}})print(response)
You can not delete Data Tag Names in the Kelvin UI.
API cURL Example
123456
curl-X'POST'\'https://<url.kelvin.ai>/api/v4/datatags/tags/Demo%20Doc%20Tag/delete'\-H'Authorization: Bearer <Your Current Token>'\-H'accept: application/json'\-H'Content-Type: application/json'\-d''
The response will only be the return code 200.
API Client (Python) Example
1 2 3 4 5 6 7 8 910
fromkelvin.api.clientimportClient# Loginclient=Client(url="https://<url.kelvin.ai>",username="<your_username>")client.login(password="<your_password>")# Delete Data Tag Nameresponse=client.data_tag.delete_tag(tag_name="Demo Doc Tag")print(response)
The response will look like this;
API Client (Python) Example Response
1
None
List Data Tag Names
You can see a list of all Data Tag Names in the dropdown list in Data Explorer.
Sort options;
Field
Description
name
Data Tag Names alphabetically
created
Sort by created date
updated
Sort by updated date
API cURL Example
1234
curl-X'POST'\'https://<url.kelvin.ai>/api/v4/datatags/tags/list?pagination_type=cursor&page_size=20&direction=asc&sort_by=name'\-H'Authorization: Bearer <Your Current Token>'\-H'accept: application/json'\
fromkelvin.api.clientimportClient# Loginclient=Client(url="https://<url.kelvin.ai>",username="<your_username>")client.login(password="<your_password>")# List Data Tag Nameresponse=client.data_tag.list_tag()print(response)
curl-X'POST'\'https://<url.kelvin.ai>/api/v4/datatags/list?pagination_type=cursor&page_size=20&direction=asc'\-H'Authorization: Bearer <Your Current Token>'\-H'accept: application/json'\-H'Content-Type: application/json'\-d'{ "start_date": "2025-02-06T18:22:18.582724Z", "end_date": "2025-02-06T19:22:18.582724Z", "tag_name": "Valve Change", "resource": "krn:asset:pcp_01", "source": "krn:user:demo@kelvin.ai", "description": "A Valve was changed today.", "contexts": [ "krn:datastream:temperature", "krn:appversion:smart-pcp/2.0.0" ]}'
The response will look like this;
API cURL Example Response
1 2 3 4 5 6 7 8 9101112131415
{"id":"fc96d16d-87f7-48df-b262-917125280537","start_date":"2025-02-06T18:22:18.582724Z","end_date":"2025-02-06T19:22:18.582724Z","tag_name":"Valve Change","resource":"krn:asset:pcp_01","source":"krn:user:demo@kelvin.ai","description":"A Valve was changed today.","contexts":["krn:datastream:temperature","krn:appversion:smart-pcp/2.0.0"],"created":"2025-06-14T10:19:50.059813Z","updated":"2025-06-14T10:19:50.059813Z"}
API Client (Python) Example
1 2 3 4 5 6 7 8 9101112131415161718192021
fromkelvin.api.clientimportClient# Loginclient=Client(url="https://<url.kelvin.ai>",username="<your_username>")client.login(password="<your_password>")# Create Data Tagresponse=client.data_tag.create_data_tag({"start_date":"2025-06-06T18:22:18.582724Z","end_date":"2025-06-06T19:22:18.582724Z","tag_name":"Valve Change","resource":"krn:asset:pcp_01","source":"krn:user:demo@kelvin.ai","description":"A Valve was changed today.","contexts":["krn:datastream:temperature","krn:appversion:smart-pcp/2.0.0"]})print(response)
You can delete Data Tags in the Kelvin UI when viewing an individual Data Tag event.
You can read full documentation about the Kelvin UI Data Tags in the Operations Tools here.
API cURL Example
12345
curl-X'POST'\'https://<url.kelvin.ai>/api/v4118f5665-fdad-4c28-a09f-ca0a416202ff'\-H'Authorization: Bearer <Your Current Token>'\-H'accept: application/json'\-d''
The response will only be the return code 200.
API Client (Python) Example
1 2 3 4 5 6 7 8 910
fromkelvin.api.clientimportClient# Loginclient=Client(url="https://<url.kelvin.ai>",username="<your_username>")client.login(password="<your_password>")# Delete Data Tagresponse=client.data_tag.delete_data_tag(datatag_id="2a1fbcf5-772c-4788-8066-94bb885e79b8")print(response)
The response will look like this;
API Client (Python) Example Response
1
None
Download Data Tags
You can find documentation how to Download Data Tags in the Improve section here.