Download OpenAPI specification:
Chariot MQTT Server is a MQTT 3.1.1 compliant, Sparkplug aware MQTT server. The Chariot REST interface is described below.
The must be done before any other REST calls are allowed
EULA accept object
| isAccepted required | boolean |
{- "isAccepted": true
}{- "acceptedOn": 1588703796554,
- "isAccepted": true,
- "name": "ChariotEula"
}{- "access_token": "qoJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImlzcyI6ImNpcnJ1c2xpbmsiLCJzZXNzaW9uaWQiOiJhNTFjNWQ4Ni1jZWUxLTRjODItOTNjYi0yOTk5MjVjZWViY2MrfQ.cLPD7Uddz_JF3s7Rk3Yyc232Arnz6Qcg2Id0tstouh0wbcv50mck2vzH8iFkkAwKcMaWi8gLN-NIsLCRuW7Qzz",
- "token_type": "bearer",
- "expires_in": 5400000
}Get all Chariot server users
| limit | integer Maximum number of records to retrieve |
| offset | integer The user record offset when specifying a limit |
{- "info": {
- "count": 100,
- "limit": 100,
- "offset": 200,
- "total": 2345567
}, - "results": [
- {
- "username": "chariot-user1",
- "password": "mqtt4ever",
- "roles": [
- "admin"
], - "firstName": "John",
- "lastName": "Smith",
- "phoneNumber": "13605555555",
- "email": "john.smith@test-email.com",
- "address": {
- "number": 123,
- "street": "NE 10th Street",
- "city": "Vancouver",
- "province": "WA",
- "country": "USA",
- "zip": "98665"
}, - "company": "Cirrus Link"
}
]
}Create Chariot server users
List of users
| username required | string |
| password required | string |
| roles | Array of strings |
| firstName | string |
| lastName | string |
| phoneNumber | string |
string | |
object (Address) | |
| company | string |
[- {
- "username": "chariot-user1",
- "password": "mqtt4ever",
- "roles": [
- "admin"
], - "firstName": "John",
- "lastName": "Smith",
- "phoneNumber": "13605555555",
- "email": "john.smith@test-email.com",
- "address": {
- "number": 123,
- "street": "NE 10th Street",
- "city": "Vancouver",
- "province": "WA",
- "country": "USA",
- "zip": "98665"
}, - "company": "Cirrus Link"
}
][- {
- "username": "chariot-user1",
- "password": "mqtt4ever",
- "roles": [
- "admin"
], - "firstName": "John",
- "lastName": "Smith",
- "phoneNumber": "13605555555",
- "email": "john.smith@test-email.com",
- "address": {
- "number": 123,
- "street": "NE 10th Street",
- "city": "Vancouver",
- "province": "WA",
- "country": "USA",
- "zip": "98665"
}, - "company": "Cirrus Link"
}
]Get Chariot server user by name
| username required | string The name of the user to be retrieved |
{- "username": "chariot-user1",
- "password": "mqtt4ever",
- "roles": [
- "admin"
], - "firstName": "John",
- "lastName": "Smith",
- "phoneNumber": "13605555555",
- "email": "john.smith@test-email.com",
- "address": {
- "number": 123,
- "street": "NE 10th Street",
- "city": "Vancouver",
- "province": "WA",
- "country": "USA",
- "zip": "98665"
}, - "company": "Cirrus Link"
}Update Chariot server user
| username required | string The name of the user to be updated |
Updated user object
| username required | string |
| password required | string |
| roles | Array of strings |
| firstName | string |
| lastName | string |
| phoneNumber | string |
string | |
object (Address) | |
| company | string |
{- "username": "chariot-user1",
- "password": "mqtt4ever",
- "roles": [
- "admin"
], - "firstName": "John",
- "lastName": "Smith",
- "phoneNumber": "13605555555",
- "email": "john.smith@test-email.com",
- "address": {
- "number": 123,
- "street": "NE 10th Street",
- "city": "Vancouver",
- "province": "WA",
- "country": "USA",
- "zip": "98665"
}, - "company": "Cirrus Link"
}{- "username": "chariot-user1",
- "password": "mqtt4ever",
- "roles": [
- "admin"
], - "firstName": "John",
- "lastName": "Smith",
- "phoneNumber": "13605555555",
- "email": "john.smith@test-email.com",
- "address": {
- "number": 123,
- "street": "NE 10th Street",
- "city": "Vancouver",
- "province": "WA",
- "country": "USA",
- "zip": "98665"
}, - "company": "Cirrus Link"
}Create Chariot server user
| username required | string Username for the user to be created |
Created user object
| username required | string |
| password required | string |
| roles | Array of strings |
| firstName | string |
| lastName | string |
| phoneNumber | string |
string | |
object (Address) | |
| company | string |
{- "username": "chariot-user1",
- "password": "mqtt4ever",
- "roles": [
- "admin"
], - "firstName": "John",
- "lastName": "Smith",
- "phoneNumber": "13605555555",
- "email": "john.smith@test-email.com",
- "address": {
- "number": 123,
- "street": "NE 10th Street",
- "city": "Vancouver",
- "province": "WA",
- "country": "USA",
- "zip": "98665"
}, - "company": "Cirrus Link"
}{- "username": "chariot-user1",
- "password": "mqtt4ever",
- "roles": [
- "admin"
], - "firstName": "John",
- "lastName": "Smith",
- "phoneNumber": "13605555555",
- "email": "john.smith@test-email.com",
- "address": {
- "number": 123,
- "street": "NE 10th Street",
- "city": "Vancouver",
- "province": "WA",
- "country": "USA",
- "zip": "98665"
}, - "company": "Cirrus Link"
}Delete Chariot server user
| username required | string The name of the user to be deleted |
{- "username": "chariot-user1",
- "password": "mqtt4ever",
- "roles": [
- "admin"
], - "firstName": "John",
- "lastName": "Smith",
- "phoneNumber": "13605555555",
- "email": "john.smith@test-email.com",
- "address": {
- "number": 123,
- "street": "NE 10th Street",
- "city": "Vancouver",
- "province": "WA",
- "country": "USA",
- "zip": "98665"
}, - "company": "Cirrus Link"
}{- "username": "chariot-user1",
- "roles": [
- "admin"
], - "firstName": "John",
- "lastName": "Smith",
- "email": "john.smith@test-email.com",
- "address": {
- "number": 123,
- "street": "NE 10th Street",
- "city": "Vancouver",
- "province": "WA",
- "country": "USA",
- "zip": "98665"
}, - "company": "Cirrus Link"
}Get all Chariot server MQTT users
| limit | integer Maximum number of records to retrieve |
| offset | integer The record offset when specifying a limit |
{- "info": {
- "count": 100,
- "limit": 100,
- "offset": 200,
- "total": 2345567
}, - "results": [
- {
- "username": "admin",
- "acl": {
- "subscribeTopics": [
- "#"
], - "publishTopics": [
- "#"
]
}
}
]
}Chariot Chariot server MQTT users
List of MQTT user objects
| username required | string |
| password required | string |
object |
[- {
- "username": "admin",
- "password": "mqtt4ever",
- "acl": {
- "subscribeTopics": [
- "#"
], - "publishTopics": [
- "#"
]
}
}
][- {
- "username": "admin",
- "acl": {
- "subscribeTopics": [
- "#"
], - "publishTopics": [
- "#"
]
}
}
]Get Chariot server MQTT user by name
| username required | string The name of the user to be retrieved |
{- "username": "admin",
- "acl": {
- "subscribeTopics": [
- "#"
], - "publishTopics": [
- "#"
]
}
}Update Chariot server MQTT user by name
| username required | string The name of the user to be updated |
Updated user object
| username required | string |
| password required | string |
object |
{- "username": "admin",
- "password": "mqtt4ever",
- "acl": {
- "subscribeTopics": [
- "#"
], - "publishTopics": [
- "#"
]
}
}{- "username": "admin",
- "acl": {
- "subscribeTopics": [
- "#"
], - "publishTopics": [
- "#"
]
}
}Create Chariot server MQTT user
| username required | string The name of the user to be created |
Created MQTT user object
| username required | string |
| password required | string |
object |
{- "username": "admin",
- "password": "mqtt4ever",
- "acl": {
- "subscribeTopics": [
- "#"
], - "publishTopics": [
- "#"
]
}
}{- "username": "admin",
- "acl": {
- "subscribeTopics": [
- "#"
], - "publishTopics": [
- "#"
]
}
}Delete Chariot server MQTT user by name
| username required | string The name of the user to be deleted |
{- "username": "admin",
- "acl": {
- "subscribeTopics": [
- "#"
], - "publishTopics": [
- "#"
]
}
}Get all Chariot server roles
| limit | integer Maximum number of records to retrieve |
| offset | integer The record offset when specifying a limit |
{- "info": {
- "count": 100,
- "limit": 100,
- "offset": 200,
- "total": 2345567
}, - "results": [
- {
- "name": "admin",
- "permissions": [
- "permission:read"
]
}
]
}Create Chariot server roles
List of role objects
| name required | string |
| permissions required | Array of strings |
[- {
- "name": "admin",
- "permissions": [
- "permission:read"
]
}
][- {
- "name": "admin",
- "permissions": [
- "permission:read"
]
}
]Update Chariot role by name
| rolename required | string name of role that needs to be updated |
Role object to be updated
| name required | string |
| permissions required | Array of strings |
{- "name": "admin",
- "permissions": [
- "permission:read"
]
}{- "name": "admin",
- "permissions": [
- "permission:read"
]
}Create Chariot server role
| rolename required | string Name of role to be created |
Role object to be created
| name required | string |
| permissions required | Array of strings |
{- "name": "admin",
- "permissions": [
- "permission:read"
]
}{- "name": "admin",
- "permissions": [
- "permission:read"
]
}{- "running": true,
- "lastStartedOn": 1586824096739,
- "lastStoppedOn": 1586824096739,
- "bridgeClients": [
- {
- "name": "clientName",
- "enabled": true,
- "connected": true
}
]
}Run Chariot MQTT server action
| action | string Enum: "start" "stop" "disconnect" The action to be performed, if any |
| clientId | string The MQTT client id when action=disconnect |
{- "running": true,
- "lastStartedOn": 1586824096739,
- "lastStoppedOn": 1586824096739,
- "bridgeClients": [
- {
- "name": "clientName",
- "enabled": true,
- "connected": true
}
]
}{- "running": true,
- "lastStartedOn": 1586824096739,
- "lastStoppedOn": 1586824096739,
- "bridgeClients": [
- {
- "name": "clientName",
- "enabled": true,
- "connected": true
}
]
}{- "activeClients": 10,
- "clients": [
- {
- "clientId": "ME-7f0ce171-ef29-4203",
- "state": "CONNECTED",
- "cleanStart": true,
- "ipAddress": "127.0.0.1",
- "keepalive": 30,
- "username": "admin",
- "lastActive": 1626889935056,
- "connectedOn": 1626889844950,
- "willTopic": "STATE/PrimaryHostID",
- "willQoS": 1,
- "willRetained": true,
- "bytesTx": 6,
- "bytesRx": 896,
- "subscriptions": [
- {
- "topic": "spBv1.0/#",
- "qos": 0
}
]
}
]
}Get all bridge clients
| limit | integer The number of bridge clients requested |
| offset | integer The bridge client offset when specifying a limit |
{- "info": {
- "count": 100,
- "limit": 100,
- "offset": 200,
- "total": 2345567
}, - "results": {
- "name": "client1",
- "username": "client1Username",
- "password": "password",
- "address": "localhost",
- "port": 1883,
- "clientId": "BRIDGE_01",
- "keepAlive": 30,
- "cleanSession": true,
- "allowRetained": true,
- "tryPrivate": true,
- "subTopics": "subTopic1, subTopic2, subTopic3",
- "pubTopics": "pubTopic1, pubTopic2, pubTopic3",
- "useTls": false,
- "enabled": true
}
}Bridge client details
| name required | string |
| username | string |
| password | string |
| address required | string |
| port required | integer |
| clientId | string |
| keepAlive required | integer |
| cleanSession required | boolean |
| allowRetained required | boolean |
| tryPrivate required | boolean |
| subTopics | string |
| pubTopics | string |
| useTls required | boolean |
| enabled required | boolean |
[- {
- "name": "client1",
- "username": "client1Username",
- "password": "password",
- "address": "localhost",
- "port": 1883,
- "clientId": "BRIDGE_01",
- "keepAlive": 30,
- "cleanSession": true,
- "allowRetained": true,
- "tryPrivate": true,
- "subTopics": "subTopic1, subTopic2, subTopic3",
- "pubTopics": "pubTopic1, pubTopic2, pubTopic3",
- "useTls": false,
- "enabled": true
}
][- {
- "name": "client1",
- "username": "client1Username",
- "password": "password",
- "address": "localhost",
- "port": 1883,
- "clientId": "BRIDGE_01",
- "keepAlive": 30,
- "cleanSession": true,
- "allowRetained": true,
- "tryPrivate": true,
- "subTopics": "subTopic1, subTopic2, subTopic3",
- "pubTopics": "pubTopic1, pubTopic2, pubTopic3",
- "useTls": false,
- "enabled": true
}
]Retrieves a bridge client details by name
| clientName required | string The bridge client name |
{- "name": "client1",
- "username": "client1Username",
- "password": "password",
- "address": "localhost",
- "port": 1883,
- "clientId": "BRIDGE_01",
- "keepAlive": 30,
- "cleanSession": true,
- "allowRetained": true,
- "tryPrivate": true,
- "subTopics": "subTopic1, subTopic2, subTopic3",
- "pubTopics": "pubTopic1, pubTopic2, pubTopic3",
- "useTls": false,
- "enabled": true
}This updates the specified bridge client
| clientName required | string The bridge client name |
Updated bridge client details. Name should not be changed.
| name required | string |
| username | string |
| password | string |
| address required | string |
| port required | integer |
| clientId | string |
| keepAlive required | integer |
| cleanSession required | boolean |
| allowRetained required | boolean |
| tryPrivate required | boolean |
| subTopics | string |
| pubTopics | string |
| useTls required | boolean |
| enabled required | boolean |
{- "name": "client1",
- "username": "client1Username",
- "password": "password",
- "address": "localhost",
- "port": 1883,
- "clientId": "BRIDGE_01",
- "keepAlive": 30,
- "cleanSession": true,
- "allowRetained": true,
- "tryPrivate": true,
- "subTopics": "subTopic1, subTopic2, subTopic3",
- "pubTopics": "pubTopic1, pubTopic2, pubTopic3",
- "useTls": false,
- "enabled": true
}{- "name": "client1",
- "username": "client1Username",
- "password": "password",
- "address": "localhost",
- "port": 1883,
- "clientId": "BRIDGE_01",
- "keepAlive": 30,
- "cleanSession": true,
- "allowRetained": true,
- "tryPrivate": true,
- "subTopics": "subTopic1, subTopic2, subTopic3",
- "pubTopics": "pubTopic1, pubTopic2, pubTopic3",
- "useTls": false,
- "enabled": true
}This creates a bridge client
| clientName required | string The bridge client name |
Bridge client details
| name required | string |
| username | string |
| password | string |
| address required | string |
| port required | integer |
| clientId | string |
| keepAlive required | integer |
| cleanSession required | boolean |
| allowRetained required | boolean |
| tryPrivate required | boolean |
| subTopics | string |
| pubTopics | string |
| useTls required | boolean |
| enabled required | boolean |
{- "name": "client1",
- "username": "client1Username",
- "password": "password",
- "address": "localhost",
- "port": 1883,
- "clientId": "BRIDGE_01",
- "keepAlive": 30,
- "cleanSession": true,
- "allowRetained": true,
- "tryPrivate": true,
- "subTopics": "subTopic1, subTopic2, subTopic3",
- "pubTopics": "pubTopic1, pubTopic2, pubTopic3",
- "useTls": false,
- "enabled": true
}{- "name": "client1",
- "username": "client1Username",
- "password": "password",
- "address": "localhost",
- "port": 1883,
- "clientId": "BRIDGE_01",
- "keepAlive": 30,
- "cleanSession": true,
- "allowRetained": true,
- "tryPrivate": true,
- "subTopics": "subTopic1, subTopic2, subTopic3",
- "pubTopics": "pubTopic1, pubTopic2, pubTopic3",
- "useTls": false,
- "enabled": true
}This deletes a bridge client
| clientName required | string The bridge client name |
{- "name": "client1",
- "username": "client1Username",
- "password": "password",
- "address": "localhost",
- "port": 1883,
- "clientId": "BRIDGE_01",
- "keepAlive": 30,
- "cleanSession": true,
- "allowRetained": true,
- "tryPrivate": true,
- "subTopics": "subTopic1, subTopic2, subTopic3",
- "pubTopics": "pubTopic1, pubTopic2, pubTopic3",
- "useTls": false,
- "enabled": true
}Get the Chariot MQTT server configuration
{- "maxConnectSize": 268435455,
- "webSocketEnable": false,
- "secureProtocol": "TLSv1.2",
- "clientAuthPolicy": "none",
- "maxActiveClients": 2147483647,
- "webSocketSecurePort": 8091,
- "enableSecure": false,
- "securePort": 8883,
- "sslHandshakeTimeout": 10000,
- "redeliveryInterval": 1000,
- "maxClientIdLength": 65535,
- "connectTimeout": 10000,
- "keepAliveCheckInterval": 1000,
- "maxMessageSize": 268435455,
- "webSocketEnableSecure": false,
- "anonymousAuthUsername": "anonymous",
- "enableNonSecure": true,
- "bindAddress": "0.0.0.0",
- "allowAnonymous": false,
- "maxTopicLevels": 25,
- "messageThreads": 1,
- "maxTopicLength": 65535,
- "port": 1883,
- "allowEmptyClientId": false,
- "webSocketPort": 8090
}Update Chariot MQTT server configuration
The server configuration
| maxConnectSize required | integer |
| webSocketEnable required | boolean |
| secureProtocol required | string |
| clientAuthPolicy required | string |
| maxActiveClients required | integer |
| webSocketSecurePort required | integer |
| enableSecure required | boolean |
| securePort required | integer |
| sslHandshakeTimeout required | integer (in milliseconds) |
| redeliveryInterval required | integer |
| maxClientIdLength required | integer |
| connectTimeout required | integer (in milliseconds) |
| keepAliveCheckInterval required | integer (in milliseconds) |
| maxMessageSize required | integer |
| webSocketEnableSecure required | boolean |
| anonymousAuthUsername required | string |
| enableNonSecure required | boolean |
| bindAddress required | string |
| allowAnonymous required | boolean |
| maxTopicLevels required | integer |
| messageThreads required | integer |
| maxTopicLength required | integer |
| port required | integer |
| allowEmptyClientId required | boolean |
| webSocketPort required | integer |
{- "maxConnectSize": 268435455,
- "webSocketEnable": false,
- "secureProtocol": "TLSv1.2",
- "clientAuthPolicy": "none",
- "maxActiveClients": 2147483647,
- "webSocketSecurePort": 8091,
- "enableSecure": false,
- "securePort": 8883,
- "sslHandshakeTimeout": 10000,
- "redeliveryInterval": 1000,
- "maxClientIdLength": 65535,
- "connectTimeout": 10000,
- "keepAliveCheckInterval": 1000,
- "maxMessageSize": 268435455,
- "webSocketEnableSecure": false,
- "anonymousAuthUsername": "anonymous",
- "enableNonSecure": true,
- "bindAddress": "0.0.0.0",
- "allowAnonymous": false,
- "maxTopicLevels": 25,
- "messageThreads": 1,
- "maxTopicLength": 65535,
- "port": 1883,
- "allowEmptyClientId": false,
- "webSocketPort": 8090
}{- "maxConnectSize": 268435455,
- "webSocketEnable": false,
- "secureProtocol": "TLSv1.2",
- "clientAuthPolicy": "none",
- "maxActiveClients": 2147483647,
- "webSocketSecurePort": 8091,
- "enableSecure": false,
- "securePort": 8883,
- "sslHandshakeTimeout": 10000,
- "redeliveryInterval": 1000,
- "maxClientIdLength": 65535,
- "connectTimeout": 10000,
- "keepAliveCheckInterval": 1000,
- "maxMessageSize": 268435455,
- "webSocketEnableSecure": false,
- "anonymousAuthUsername": "anonymous",
- "enableNonSecure": true,
- "bindAddress": "0.0.0.0",
- "allowAnonymous": false,
- "maxTopicLevels": 25,
- "messageThreads": 1,
- "maxTopicLength": 65535,
- "port": 1883,
- "allowEmptyClientId": false,
- "webSocketPort": 8090
}Get the Chariot server system configuration
{- "chariotServerName": "Cirrus Link Chariot MQTT Server",
- "chariotVersionFile": "version.properties",
- "httpEnabled": true,
- "httpPort": 8080,
- "httpsEnabled": false,
- "httpsPort": 8443
}Update the Chariot server system configuration
The system configuration
| chariotServerName required | string |
| chariotVersionFile required | string |
| httpEnabled required | boolean |
| httpPort required | integer |
| httpsEnabled required | boolean |
| httpsPort required | integer |
{- "chariotServerName": "Cirrus Link Chariot MQTT Server",
- "chariotVersionFile": "version.properties",
- "httpEnabled": true,
- "httpPort": 8080,
- "httpsEnabled": false,
- "httpsPort": 8443
}{- "code": 0,
- "message": "string"
}{- "licenseId": "1581813888962",
- "expiresOn": 10221727488962,
- "activatedOn": 1591722778404,
- "onlineActivation": true,
- "activationPeriod": 90,
- "state": "ACTIVE",
- "trialTimer": 4678128,
- "requestText": "string",
- "mode": "NORMAL"
}Install and configure (activate/deactivate) the Chariot server license
| action required | string Enum: "activate" "deactivate" "manual-activate" "get-manual-activation-request" "get-manual-deactivation-request" "start-trial-timer" "stop-trial-timer" The action to be performed, if any |
The license text
| text required | string <byte> ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[... |
{- "text": "PEM encoded license certificate file in OpenSSL/SSLeay format"
}{- "licenseId": "1581813888962",
- "expiresOn": 10221727488962,
- "activatedOn": 1591722778404,
- "onlineActivation": true,
- "activationPeriod": 90,
- "state": "ACTIVE",
- "trialTimer": 4678128,
- "requestText": "string",
- "mode": "NORMAL"
}{- "jvmName": "OpenJDK 64-Bit Server VM",
- "jvmVersion": "11.0.6+10-LTS",
- "jvmVendor": "Amazon.com Inc.",
- "chariotVersion": "1.0.0",
- "buildTimestamp": "20200630-191950",
- "chariotServerName": "Cirrus Link Charifot MQTT Server",
- "jvmMemory": {
- "heapInit": 268435456,
- "heapUsed": 183392272,
- "heapMax": 268435456,
- "heapCommitted": 322961408
}, - "cpu": {
- "processCpuLoad": 0,
- "systemCpuLoad": 0,
- "processCpuTime": 268435456
}
}{- "setupOn": 1628201523389,
- "privateKeyFilename": "localhost.key.pem",
- "caChainFilename": "ca-chain.cert.pem",
- "certificateFilename": "localhost.cert.pem",
- "certificate": {
- "Signature Algorithm": "SHA256withRSA",
- "Issuer": "CN=CLS Testing Intermediate CA, OU=Support, O=Cirrus Link Solutions, ST=Kansas, C=US",
- "Version": 3,
- "Valid To": 1849826113000,
- "Subject": "CN=localhost, OU=Support, O=Cirrus Link Solutions, L=Spring Hill, ST=Kansas, C=US",
- "Valid From": 1525826113000
}, - "sslSetup": true
}Configure the system to consume SSL certificates uploaded through the /upload endpoint.
| action | string Value: "setup" |
{- "setupOn": 1628201523389,
- "privateKeyFilename": "localhost.key.pem",
- "caChainFilename": "ca-chain.cert.pem",
- "certificateFilename": "localhost.cert.pem",
- "certificate": {
- "Signature Algorithm": "SHA256withRSA",
- "Issuer": "CN=CLS Testing Intermediate CA, OU=Support, O=Cirrus Link Solutions, ST=Kansas, C=US",
- "Version": 3,
- "Valid To": 1849826113000,
- "Subject": "CN=localhost, OU=Support, O=Cirrus Link Solutions, L=Spring Hill, ST=Kansas, C=US",
- "Valid From": 1525826113000
}, - "sslSetup": true
}{- "setupOn": 1628201523389,
- "privateKeyFilename": "localhost.key.pem",
- "caChainFilename": "ca-chain.cert.pem",
- "certificateFilename": "localhost.cert.pem",
- "certificate": {
- "Signature Algorithm": "SHA256withRSA",
- "Issuer": "CN=CLS Testing Intermediate CA, OU=Support, O=Cirrus Link Solutions, ST=Kansas, C=US",
- "Version": 3,
- "Valid To": 1849826113000,
- "Subject": "CN=localhost, OU=Support, O=Cirrus Link Solutions, L=Spring Hill, ST=Kansas, C=US",
- "Valid From": 1525826113000
}, - "sslSetup": true
}Get all Chariot loggers and their log levels
| modified | boolean whether the logger is modified or not |
[- {
- "level": "NONE",
- "name": "com.cirruslink.chariot.logging.impl.LoggingService"
}
]Execute an action against the Chariot loggers to changed log levels
| action | string Enum: "export" "setLevel" The action to be performed, if any |
| level | string Enum: "NONE" "ERROR" "WARN" "INFO" "DEBUG" "TRACE" The logger level to set, if any |
| name | string The logger name |
{- "level": "NONE",
- "name": "com.cirruslink.chariot.logging.impl.LoggingService"
}Chariot server live logs
Get all or some of the log entries
| limit | integer The number of log messages requested |
| maxLevel | string Enum: "NONE" "ERROR" "WARN" "INFO" "DEBUG" "TRACE" The max logger level |
| messageFilter | string Log message filter (contains) |
| offset | integer The log message offset when specifying a limit |
{- "info": {
- "count": 100,
- "limit": 100,
- "offset": 200,
- "total": 2345567
}, - "results": [
- {
- "level": "INFO",
- "logger": "com.cirruslink.chariot.logging.impl.LoggingService",
- "message": "Returning 132 log entries",
- "thread": "qtp1200672365-95",
- "timestamp": 10221727488962
}
]
}Chariot server alerts
Get Chariot alerts with the specified limits, filtering and offset
| limit | integer The number of alerts requested |
| descriptionFilter | string Alert description filter (contains) |
| offset | integer The alert offset when specifying a limit |
{- "info": {
- "count": 100,
- "limit": 100,
- "offset": 200,
- "total": 2345567
}, - "results": [
- {
- "id": 1,
- "description": "Client MT-RPC-8a14c739-4605-48 connected w/o registering LWT",
- "cleared": false,
- "activeTime": 10221727488962,
- "acknowledged": false,
- "priority": 3,
- "type": "MQTT_LWT_NOT_REGISTERED"
}
]
}Update Chariot alert by ID
| id required | integer Alert ID |
| id required | integer |
| description required | string |
| cleared required | boolean |
| activeTime required | integer |
| acknowledged required | boolean |
| priority required | integer |
| type required | string |
{- "id": 1,
- "description": "Client MT-RPC-8a14c739-4605-48 connected w/o registering LWT",
- "cleared": false,
- "activeTime": 10221727488962,
- "acknowledged": false,
- "priority": 3,
- "type": "MQTT_LWT_NOT_REGISTERED"
}Delete Chariot alert by ID
| id required | integer Alert ID |
{- "id": 1,
- "description": "Client MT-RPC-8a14c739-4605-48 connected w/o registering LWT",
- "cleared": false,
- "activeTime": 10221727488962,
- "acknowledged": false,
- "priority": 3,
- "type": "MQTT_LWT_NOT_REGISTERED"
}{- "info": {
- "count": 100,
- "limit": 100,
- "offset": 200,
- "total": 2345567
}, - "results": [
- {
- "enabled": true,
- "path": "SPARKPLUG/GROUP_EDGE_COLLISION",
- "severity": 1,
- "name": "SPARKPLUG/GROUP_EDGE_COLLISION",
- "priority": 1
}
]
}Update Chariot alert type by name
| typename required | string Alert type name |
| enabled required | boolean |
| path required | string |
| severity required | integer |
| name required | string |
| priority required | integer |
{- "enabled": true,
- "path": "SPARKPLUG/GROUP_EDGE_COLLISION",
- "severity": 1,
- "name": "SPARKPLUG/GROUP_EDGE_COLLISION",
- "priority": 1
}{- "types": [
- "SPARKPLUG_SEQ_NUM_ERROR",
- "SPARKPLUG_GROUP_EDGE_COLLISION",
- "MQTT_CONNECTION_LOST",
- "SPARKPLUG_TEMPLATE_DEF_COLLISION",
- "SPARKPLUG_NONCOMPLIANT_LWT_TOPIC",
- "MQTT_LWT_NOT_REGISTERED",
- "SPARKPLUG_COMPRESSION_WARNING",
- "MQTT_DISCONNECT"
]
}Chariot server configuration - import/export
Execute an action on the Chariot backup endpoint
| action required | string Enum: "export" "import" The action to be performed |
| File | string <binary> |
"string"Chariot server Sparkplug node/device tracking
Perform an action on the Sparkplug tracker
| action required | string Enum: "sampleCompression" "generateEdgeCreds" "generateHostCreds" The action to be performed |
| groupId | string The Group ID of edge node |
| edgeNodeId | string The EdgeNode ID of edge node |
| deviceId | string The Device ID |
| duration | integer The amount of time to sample compression in seconds |
Input for credential generation
| username required | string |
| password required | string |
| primaryId required | string |
required | Array of objects (SparkplugIds) |
{- "code": 0,
- "message": "string"
}Get Chariot Sparkplug edge nodes
| limit | integer Default: 10 Maximum number of records to retrieve |
| offset | integer Default: 0 The record offset when specifying a limit |
| filterField | string Enum: "edgeNodeId" "groupId" "clientId" "ipAddress" The field to filter on |
| filterValue | string The filter value |
{- "info": {
- "count": 100,
- "limit": 100,
- "offset": 200,
- "total": 2345567
}, - "results": [
- {
- "clientId": "MT-9bca926d-379a-415f",
- "ipAddress": "76.115.180.30",
- "online": true,
- "offlineCount": 6,
- "lastBirthReceived": 1628800335767,
- "lastDeathReceived": 1628799777192,
- "lastSeqNumber": 0,
- "metricsCount": 4,
- "sessionHistoricalMetrics": 6,
- "lifetimeHistoricalMetrics": 432,
- "samplingCompression": true,
- "averageCompression": 0.76,
- "sampledCount": 14,
- "groupId": "G1",
- "edgeNodeId": "E2",
- "primaryId": "Host",
- "devices": [
- {
- "deviceId": "D2",
- "online": true,
- "lastBirthReceived": 1628800335767,
- "lastDeathReceived": 1628799777192,
- "metricsCount": 4,
- "sessionHistoricalMetrics": 2,
- "lifetimeHistoricalMetrics": 88
}
]
}
]
}To delete a single Chariot Sparkplug edge node by ID, add the groupId and the edgeNodeId. To delete multiple edge nodes by filter, select filterField and add the filterValue
| groupId | string The group ID of single edge node to be deleted |
| edgeNodeId | string The Edge Node ID of single edge node to be deleted |
| filterField | string Enum: "edgeNodeId" "groupId" "clientId" "ipAddress" The field to filter on for deleting multiple edge nodes |
| filterValue | string The filter value for deleting multiple edge nodes |
[- {
- "clientId": "MT-9bca926d-379a-415f",
- "ipAddress": "76.115.180.30",
- "online": true,
- "offlineCount": 6,
- "lastBirthReceived": 1628800335767,
- "lastDeathReceived": 1628799777192,
- "lastSeqNumber": 0,
- "metricsCount": 4,
- "sessionHistoricalMetrics": 6,
- "lifetimeHistoricalMetrics": 432,
- "samplingCompression": true,
- "averageCompression": 0.76,
- "sampledCount": 14,
- "groupId": "G1",
- "edgeNodeId": "E2",
- "primaryId": "Host",
- "devices": [
- {
- "deviceId": "D2",
- "online": true,
- "lastBirthReceived": 1628800335767,
- "lastDeathReceived": 1628799777192,
- "metricsCount": 4,
- "sessionHistoricalMetrics": 2,
- "lifetimeHistoricalMetrics": 88
}
]
}
]Delete multiple Chariot Sparkplug edge nodes by ID
| action required | string Default: "delete" Action = delete |
Describe edge nodes to delete
| edgeNodeDescriptors | Array of strings |
{- "edgeNodeDescriptors": [
- "Emulated Sparkplug/EdgeNode-13f8e75b-de9b-4f57-2"
]
}[- "Emulated Sparkplug/EdgeNode-13f8e75b-de9b-4f57-2"
][- {
- "clientId": "ME-c403ec5f-d796-48f1",
- "ipAddress": "73.190.83.40",
- "online": true,
- "lastOnline": 1628800335767,
- "lastOffline": 1628799777192,
- "hostId": "Host",
- "stateTopic": "STATE/Host"
}
]Delete a Chariot Sparkplug host by Primary ID
| primaryId required | string The primary ID of host to be deleted |
| stateTopic required | string The primary ID of host to be deleted |
[- {
- "clientId": "ME-c403ec5f-d796-48f1",
- "ipAddress": "73.190.83.40",
- "online": true,
- "lastOnline": 1628800335767,
- "lastOffline": 1628799777192,
- "hostId": "Host",
- "stateTopic": "STATE/Host"
}
]Get Sparkplug edge node NBIRTH
| groupId required | string The Group ID |
| edgeNodeId required | string The Edge Node ID |
{- "timestamp": 1628800335767,
- "metrics": [
- {
- "name": "pumpOn",
- "timestamp": 1628800335767,
- "dataType": "Boolean",
- "value": false
}
], - "seq": 0
}Get Sparkplug device DBIRTH
| groupId required | string The Group ID of edge node |
| edgeNodeId required | string The Edge Node ID |
| deviceId required | string The Device ID |
{- "timestamp": 1628800335767,
- "metrics": [
- {
- "name": "pumpOn",
- "timestamp": 1628800335767,
- "dataType": "Boolean",
- "value": false
}
], - "seq": 6
}The upload REST endpoint enables uploading specific files required for configuring the Chariot MQTT server. For example, SSL certificates and private keys. After uploading certificates, set up SSL with system/ssl?action=setup
| caChain | string <binary> An X.509 public root CA (Certificate Authority) certificate and any/all public intermediate CA certificates between the root and the CA that issued the certificate in PEM format. If there are no intermediate CAs, then the chain is made up of only the public root CA certificate. |
| certificate | string <binary> An X.509 server certificate in PEM format. |
| privateKey | string <binary> An RSA private key in PEM format that was used to generate the server certificate. |
[- {
- "fileInfo": {
- "fileId": "privateKey",
- "filename": "testKey.pem",
- "timestamp": 10221727488962
}, - "errorMessage": "there was an error",
- "uploaded": false
}
]Delete file uploaded to Chariot by fileId
| fileId required | string The fileId to be deleted |
{- "fileId": "privateKey",
- "filename": "testKey.pem",
- "timestamp": 10221727488962
}