Skip to main content
Version: 2.3.x

ThingsPro Cloud APIs (2.2.0)

Download OpenAPI specification:Download

ThingsPro Cloud APIs

Authentication

bearerAuth

Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

mqtt

Get MQTT client configuration.

Get MQTT client configuration.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create a MQTT client configuration.

Create a MQTT client configuration.

Authorizations:
Request Body schema:
enable
boolean
Default: false
protocolVersion
string
Default: "3.1.1"
Enum: 3.1 "3.1.1"

MQTT protocol version

server
required
string

MQTT server(broker) ip or url

port
required
integer
keepAliveSec
integer [ 10 .. 65536 ]
Default: 60
handshakeTimeout
integer [ 10 .. 600 ]
Default: 10
retryInterval
integer [ 10 .. 3600 ]
Default: 60
clearSession
boolean
Default: true
certificateOverTLS
boolean
Default: false
clientID
string

Max length: 65536 in V3.1.1, 23 in V3.1

userName
string <= 255 characters
password
string <= 255 characters
tlsVersion
string
Default: 1.2
Enum: "1.3" "1.2" "1.1" "1.0"
insecureSkipVerify
boolean
Default: false
object
qos
integer
Default: 1

support qos 0,1,2

retain
boolean
Default: false
object
object
  • ThingsPro Edge REST API invocation(request/response patten)
  • required headers:
    • request-expired-time: UTC
    • request-id: int string

Responses

Request samples

Content type
{
  • "id": 1,
  • "enable": true,
  • "status": "connected",
  • "protocolVersion": "3.1.1",
  • "server": "127.0.0.1",
  • "port": 1883,
  • "keepAliveSec": 60,
  • "handshakeTimeout": 10,
  • "retryInterval": 60,
  • "clearSession": true,
  • "certificateOverTLS": false,
  • "clientID": "mydevice1",
  • "userName": "moxa",
  • "password": "123",
  • "tlsVersion": "1.2",
  • "insecureSkipVerify": false,
  • "certificate": {
    },
  • "qos": 1,
  • "retain": false,
  • "willMessage": {
    },
  • "remoteAPI": {
    }
}

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Edit MQTT client configuration.

Edit MQTT client configuration.

Authorizations:
path Parameters
id
required
integer

the id in the configuration of mqtt clients.

Request Body schema:
enable
boolean
Default: false
protocolVersion
string
Default: "3.1.1"
Enum: 3.1 "3.1.1"

MQTT protocol version

server
required
string

MQTT server(broker) ip or url

port
required
integer
keepAliveSec
integer [ 10 .. 65536 ]
Default: 60
handshakeTimeout
integer [ 10 .. 600 ]
Default: 10
retryInterval
integer [ 10 .. 3600 ]
Default: 60
clearSession
boolean
Default: true
certificateOverTLS
boolean
Default: false
clientID
string

Max length: 65536 in V3.1.1, 23 in V3.1

userName
string <= 255 characters
password
string <= 255 characters
tlsVersion
string
Default: 1.2
Enum: "1.3" "1.2" "1.1" "1.0"
insecureSkipVerify
boolean
Default: false
object
qos
integer
Default: 1

support qos 0,1,2

retain
boolean
Default: false
object
object
  • ThingsPro Edge REST API invocation(request/response patten)
  • required headers:
    • request-expired-time: UTC
    • request-id: int string

Responses

Request samples

Content type
{
  • "id": 1,
  • "enable": true,
  • "status": "connected",
  • "protocolVersion": "3.1.1",
  • "server": "127.0.0.1",
  • "port": 1883,
  • "keepAliveSec": 60,
  • "handshakeTimeout": 10,
  • "retryInterval": 60,
  • "clearSession": true,
  • "certificateOverTLS": false,
  • "clientID": "mydevice1",
  • "userName": "moxa",
  • "password": "123",
  • "tlsVersion": "1.2",
  • "insecureSkipVerify": false,
  • "certificate": {
    },
  • "qos": 1,
  • "retain": false,
  • "willMessage": {
    },
  • "remoteAPI": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

delete MQTT client configuration.

delete MQTT client configuration.

Authorizations:
path Parameters
id
required
integer

the id in the configuration of mqtt clients.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

delete certficate.

delete certficate.

Authorizations:
path Parameters
id
required
integer

the id in the configuration of mqtt clients.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

get store and forward setting.

get store and forward setting.

Authorizations:
path Parameters
id
required
integer

the id in the configuration of mqtt clients.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

update store and forward setting.

update store and forward setting.

Authorizations:
path Parameters
id
required
integer

the id in the configuration of mqtt clients.

Request Body schema: application/json
enable
boolean
Default: false
targetDiskName
string
desiredDiskCacheSizeMB
integer
timeToLiveSec
integer
dropBehavior
string
Enum: "oldest" "newest"
Array of objects[ items ]

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "targetDiskName": "System",
  • "desiredDiskCacheSizeMB": 8,
  • "timeToLiveSec": 7200,
  • "dropBehavior": "oldest"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

get message groups setting.

get message groups setting.

Authorizations:
path Parameters
id
required
integer

the id in the configuration of mqtt clients.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

create a message group.

create a message group.

Authorizations:
path Parameters
id
required
integer

the id in the configuration of mqtt clients.

Request Body schema: application/json
enable
required
boolean
Array of objects[ items ]
required
object
outputTopic
required
string non-empty
Default: "sample"
pollingInterval
required
integer [ 0 .. 86400 ] characters
Default: 0

unit:second

object
format
string [ 0 .. 4096 ] characters
Default: ""

jq filter string, use to change message format.

  • empty means use default message format: {tags:{(.prvdName):{(.srcName):{(.tagName):{values:[{updateTimeStamp:(.ts/1000|todateiso8601),value:.dataValue}]}}}}}

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "enable": true,
  • "outputTopic": "sample2",
  • "properties": [ ],
  • "tags": {
    },
  • "pollingInterval": 5,
  • "sendOutThreshold": {
    },
  • "format": ""
}

Response samples

Content type
application/json
[
  • {
    }
]

get message group setting.

get message group setting.

Authorizations:
path Parameters
id
required
integer

the id in the configuration of mqtt clients.

group_id
required
integer

the id in the configuration of message groups.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

update message group setting.

update message group setting.

Authorizations:
path Parameters
id
required
integer

the id in the configuration of mqtt clients.

group_id
required
integer

the id in the configuration of message groups.

Request Body schema: application/json
enable
required
boolean
Array of objects[ items ]
required
object
outputTopic
required
string non-empty
Default: "sample"
pollingInterval
required
integer [ 0 .. 86400 ] characters
Default: 0

unit:second

object
format
string [ 0 .. 4096 ] characters
Default: ""

jq filter string, use to change message format.

  • empty means use default message format: {tags:{(.prvdName):{(.srcName):{(.tagName):{values:[{updateTimeStamp:(.ts/1000|todateiso8601),value:.dataValue}]}}}}}

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "enable": true,
  • "outputTopic": "sample2",
  • "properties": [ ],
  • "tags": {
    },
  • "pollingInterval": 5,
  • "sendOutThreshold": {
    },
  • "format": ""
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

delete message group setting.

delete message group setting.

Authorizations:
path Parameters
id
required
integer

the id in the configuration of mqtt clients.

group_id
required
integer

the id in the configuration of message groups.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

test custom payload.

test custom payload.

Authorizations:
path Parameters
id
required
integer

the id in the configuration of mqtt clients.

Request Body schema: application/json
format
string
Array of objects (Tag) [ items ]

Responses

Request samples

Content type
application/json
{
  • "format": "{time: (now|todateiso8601), (.srcName): { (.tagName): .dataValue} }",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

azure_device

Get azure iot device configuration.

Get azure iot device configuration.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update provisioning configuration.

Update provisioning configuration.

Authorizations:
Request Body schema: application/json
object
enable
boolean
Default: false
object
keepAlive
integer [ 1 .. 3600 ]
Default: 60

unit: second

supportTwin
boolean
Default: true
authenticationType
string
Default: "symmetricKey"
Enum: "x509" "symmetricKey"

The identity provisioning mode of the iot device.

connectionString
string [ 1 .. 1024 ] characters
object

X509 certificate

rootCaCertFile
string

root ca certificate file name

Responses

Request samples

Content type
application/json
Example
{
  • "provisioning": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Setup x509 certificates.

Setup x509 certificates.

Authorizations:
Request Body schema: multipart/form-data
caCertFile
string <binary>

device ca certificate

caPkFile
string <binary>

device ca private key

rootCaCertFile
string <binary>

root ca certificate

connectionString
string [ 1 .. 1024 ] characters
protocol
string
Enum: "mqtt" "mqttOverWebsocket" "amqp" "amqpOverWebsocket"

Communication protocol

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

get twin properties setting.

get twin properties setting.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

update twin properties setting.

update twin properties setting.

Authorizations:
Request Body schema: application/json
object
Array of objects[ items ]
Array
source
string

json path of property in resource; empty == "."(complete json object/array)

reportedPath
required
string

json path of reported property.

desiredPath
required
string

json path of desired property.

Responses

Request samples

Content type
application/json
{
  • "device": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

reported twin properties.

reported twin properties.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": "ok"
}

clear twin properties.

clear twin properties.

Authorizations:
Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
[
  • "general",
  • "ethernets"
]

Response samples

Content type
application/json
{
  • "data": "ok"
}

get store and forward setting.

get store and forward setting.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

update store and forward setting.

update store and forward setting.

Authorizations:
Request Body schema: application/json
enable
boolean
Default: false
targetDiskName
string
desiredDiskCacheSizeMB
integer
timeToLiveSec
integer
dropBehavior
string
Enum: "oldest" "newest"
Array of objects[ items ]

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "targetDiskName": "System",
  • "desiredDiskCacheSizeMB": 8,
  • "timeToLiveSec": 7200,
  • "dropBehavior": "oldest"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

get message groups setting.

get message groups setting.

Authorizations:

Responses

Response samples

Content type
application/json
[
  • {
    }
]

create a message group.

create a message group.

Authorizations:
Request Body schema: application/json
enable
required
boolean
Array of objects[ items ]
required
object
outputTopic
required
string non-empty
Default: "sample"
pollingInterval
required
integer [ 0 .. 86400 ] characters
Default: 0

unit:second

object
format
string [ 0 .. 4096 ] characters
Default: ""

jq filter string, use to change message format.

  • empty means use default message format: {tags:{(.prvdName):{(.srcName):{(.tagName):{values:[{updateTimeStamp:(.ts/1000|todateiso8601),value:.dataValue}]}}}}}

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "enable": true,
  • "outputTopic": "sample2",
  • "properties": [ ],
  • "tags": {
    },
  • "pollingInterval": 5,
  • "sendOutThreshold": {
    },
  • "format": ""
}

Response samples

Content type
application/json
[
  • {
    }
]

get message group setting.

get message group setting.

Authorizations:
path Parameters
id
required
integer

message group id.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

update message group setting.

update message group setting.

Authorizations:
path Parameters
id
required
integer

message group id.

Request Body schema: application/json
enable
required
boolean
Array of objects[ items ]
required
object
outputTopic
required
string non-empty
Default: "sample"
pollingInterval
required
integer [ 0 .. 86400 ] characters
Default: 0

unit:second

object
format
string [ 0 .. 4096 ] characters
Default: ""

jq filter string, use to change message format.

  • empty means use default message format: {tags:{(.prvdName):{(.srcName):{(.tagName):{values:[{updateTimeStamp:(.ts/1000|todateiso8601),value:.dataValue}]}}}}}

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "enable": true,
  • "outputTopic": "sample2",
  • "properties": [ ],
  • "tags": {
    },
  • "pollingInterval": 5,
  • "sendOutThreshold": {
    },
  • "format": ""
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

delete message group setting.

delete message group setting.

Authorizations:
path Parameters
id
required
integer

message group id.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

test custom payload.

test custom payload.

Authorizations:
Request Body schema: application/json
format
string
Array of objects (Tag) [ items ]

Responses

Request samples

Content type
application/json
{
  • "format": "{ time : (now|todateiso8601), (.srcName) : { (.tagName) : .dataValue}}",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

aws

Get AWS iot device configuration.

Get AWS iot device configuration.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update provisioning configuration.

Update provisioning configuration.

Authorizations:
Request Body schema:
object
enable
boolean
Default: false
host
string
port
integer
Default: 8883
thingID
string
messageQOS
integer
Default: 0
keepAliveSec
integer [ 1 .. 3600 ]
Default: 60

unit: second

supportDM
boolean
Default: true
object

Responses

Request samples

Content type
{
  • "status": "connected",
  • "provisioning": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

get shadow properties setting.

get shadow properties setting.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

update shadow properties setting.

update shadow properties setting.

Authorizations:
Request Body schema: application/json
object
Array of objects[ items ]
Array
source
string

json path of property in resource; empty == "."(complete json object/array)

reportedPath
required
string

json path of reported property.

desiredPath
required
string

json path of desired property.

Responses

Request samples

Content type
application/json
{
  • "device": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

reported shadow properties.

reported shadow properties.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": "ok"
}

clear shadow properties.

clear shadow properties.

Authorizations:
Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
[
  • "general",
  • "ethernets"
]

Response samples

Content type
application/json
{
  • "data": "ok"
}

get store and forward setting.

get store and forward setting.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

update store and forward setting.

update store and forward setting.

Authorizations:
Request Body schema: application/json
enable
boolean
Default: false
targetDiskName
string
desiredDiskCacheSizeMB
integer
timeToLiveSec
integer
dropBehavior
string
Enum: "oldest" "newest"
Array of objects[ items ]

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "targetDiskName": "System",
  • "desiredDiskCacheSizeMB": 8,
  • "timeToLiveSec": 7200,
  • "dropBehavior": "oldest"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

get message groups setting.

get message groups setting.

Authorizations:

Responses

Response samples

Content type
application/json
[
  • {
    }
]

create a message group.

create a message group.

Authorizations:
Request Body schema: application/json
enable
required
boolean
Array of objects[ items ]
required
object
outputTopic
required
string non-empty
Default: "sample"
pollingInterval
required
integer [ 0 .. 86400 ] characters
Default: 0

unit:second

object
format
string [ 0 .. 4096 ] characters
Default: ""

jq filter string, use to change message format.

  • empty means use default message format: {tags:{(.prvdName):{(.srcName):{(.tagName):{values:[{updateTimeStamp:(.ts/1000|todateiso8601),value:.dataValue}]}}}}}

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "enable": true,
  • "outputTopic": "sample2",
  • "properties": [ ],
  • "tags": {
    },
  • "pollingInterval": 5,
  • "sendOutThreshold": {
    },
  • "format": ""
}

Response samples

Content type
application/json
[
  • {
    }
]

get message group setting.

get message group setting.

Authorizations:
path Parameters
id
required
integer

message group id.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

update message group setting.

update message group setting.

Authorizations:
path Parameters
id
required
integer

message group id.

Request Body schema: application/json
enable
required
boolean
Array of objects[ items ]
required
object
outputTopic
required
string non-empty
Default: "sample"
pollingInterval
required
integer [ 0 .. 86400 ] characters
Default: 0

unit:second

object
format
string [ 0 .. 4096 ] characters
Default: ""

jq filter string, use to change message format.

  • empty means use default message format: {tags:{(.prvdName):{(.srcName):{(.tagName):{values:[{updateTimeStamp:(.ts/1000|todateiso8601),value:.dataValue}]}}}}}

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "enable": true,
  • "outputTopic": "sample2",
  • "properties": [ ],
  • "tags": {
    },
  • "pollingInterval": 5,
  • "sendOutThreshold": {
    },
  • "format": ""
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

delete message group setting.

delete message group setting.

Authorizations:
path Parameters
id
required
integer

message group id.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

test custom payload.

test custom payload.

Authorizations:
Request Body schema: application/json
format
string
Array of objects (Tag) [ items ]

Responses

Request samples

Content type
application/json
{
  • "format": "{ time : (now|todateiso8601), (.srcName) : { (.tagName) : .dataValue}}",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

azure_iotedge

Get azure iotedge configuration.

Get azure iotedge configuration.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update azure iotedge configuration.

Update azure iotedge configuration.

Authorizations:
Request Body schema: application/json
object

IoT Edge runtime information

object
object

Responses

Request samples

Content type
application/json
Example
{
  • "provisioning": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Reset AIE APP(include iotedge runtime pkgs).

Reset AIE APP(include iotedge runtime pkgs).

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Control azure iotedge service.

Control azure iotedge service.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Restart azure module.

Restart azure module.

Authorizations:
path Parameters
name
required
string
Value: "restart"

control action.

Responses

Response samples

Content type
application/json
{
  • "data": "edgeAgent enable task is accepted"
}

Import user certificates and update azure iotedge

Import user certificates and update azure iotedge configuration.

Authorizations:
Request Body schema: multipart/form-data

The uploaded certificates and configuration.

caCertFile
string <binary>

device ca certificate

caPkFile
string <binary>

device ca private key

trustedCaFile
string <binary>

a file containing all the trusted CA

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

get twin properties setting.

get twin properties setting.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

update twin properties setting.

update twin properties setting.

Authorizations:
Request Body schema: application/json
object
Array of objects[ items ]
Array
source
string

json path of property in resource; empty == "."(complete json object/array)

reportedPath
required
string

json path of reported property.

desiredPath
required
string

json path of desired property.

Responses

Request samples

Content type
application/json
{
  • "device": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

reported twin properties.

reported twin properties.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": "ok"
}

clear twin properties.

clear twin properties.

Authorizations:
Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
[
  • "general",
  • "ethernets"
]

Response samples

Content type
application/json
{
  • "data": "ok"
}

get message groups setting.

get message groups setting.

Authorizations:

Responses

Response samples

Content type
application/json
[
  • {
    }
]

create a message group.

create a message group.

Authorizations:
Request Body schema: application/json
enable
required
boolean
Array of objects[ items ]
required
object
outputTopic
required
string non-empty
Default: "sample"
pollingInterval
required
integer [ 0 .. 86400 ] characters
Default: 0

unit:second

object
format
string [ 0 .. 4096 ] characters
Default: ""

jq filter string, use to change message format.

  • empty means use default message format: {tags:{(.prvdName):{(.srcName):{(.tagName):{values:[{updateTimeStamp:(.ts/1000|todateiso8601),value:.dataValue}]}}}}}

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "enable": true,
  • "outputTopic": "sample2",
  • "properties": [ ],
  • "tags": {
    },
  • "pollingInterval": 5,
  • "sendOutThreshold": {
    },
  • "format": ""
}

Response samples

Content type
application/json
[
  • {
    }
]

get message group setting.

get message group setting.

Authorizations:
path Parameters
id
required
integer

message group id.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

update message group setting.

update message group setting.

Authorizations:
path Parameters
id
required
integer

message group id.

Request Body schema: application/json
enable
required
boolean
Array of objects[ items ]
required
object
outputTopic
required
string non-empty
Default: "sample"
pollingInterval
required
integer [ 0 .. 86400 ] characters
Default: 0

unit:second

object
format
string [ 0 .. 4096 ] characters
Default: ""

jq filter string, use to change message format.

  • empty means use default message format: {tags:{(.prvdName):{(.srcName):{(.tagName):{values:[{updateTimeStamp:(.ts/1000|todateiso8601),value:.dataValue}]}}}}}

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "enable": true,
  • "outputTopic": "sample2",
  • "properties": [ ],
  • "tags": {
    },
  • "pollingInterval": 5,
  • "sendOutThreshold": {
    },
  • "format": ""
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

delete message group setting.

delete message group setting.

Authorizations:
path Parameters
id
required
integer

message group id.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

test custom payload.

test custom payload.

Authorizations:
Request Body schema: application/json
format
string
Array of objects (Tag) [ items ]

Responses

Request samples

Content type
application/json
{
  • "format": "{ time : (now|todateiso8601), (.srcName) : { (.tagName) : .dataValue}}",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

sparkplug

Get Sparkplug configuration.

Get Sparkplug configuration.

Authorizations:
query Parameters
event
boolean

Get runtime status, ex: {"brokerList":[{"id":1,"status":"connected"}]}

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update Sparkplug configuration.(BrokerList is read

Update Sparkplug configuration.(BrokerList is readOnly in this endpoint)

Authorizations:
Request Body schema: application/json
enable
boolean
Default: false
enableDM
boolean
Default: false
nodeID
required
string [ 1 .. 255 ] characters

The format can be valid UTF-8 alphanumeric String with the exception of the reserved characters of "+", "/", "#"

groupID
required
string [ 1 .. 255 ] characters

The format can be valid UTF-8 alphanumeric String with the exception of the reserved characters of "+", "/", "#"

uuid
string [ 0 .. 255 ] characters

The format can be valid UTF-8 alphanumeric String. UUID to track message type in terms of schema definitions

primaryHostID
string [ 0 .. 255 ] characters

The format can be valid UTF-8 alphanumeric String.

handshakeTimeout
integer [ 1 .. 600 ]
Default: 10
maxRetries
integer [ 0 .. 60 ]
Default: 3
retryInterval
integer [ 10 .. 3600 ]
Default: 60
Array of objects (Sparkplug broker configuration) [ items ]

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "enableDM": false,
  • "nodeID": "gary",
  • "groupID": "thingspro-edges",
  • "uuid": "",
  • "primaryHostID": "garyig",
  • "handshakeTimeout": 10,
  • "retryInterval": 10,
  • "maxRetries": 3,
  • "brokerList": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Download configurations

Authorizations:
query Parameters
encryption
boolean
Default: true

Use password to encryption (default:true)

header Parameters
password
string

password

Responses

Upload configurations

Authorizations:
Request Body schema: multipart/form-data
decryption
boolean
Default: true

Use password to decryption (default:true)

file
string <binary>

configuration file

password
string

password

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get Sparkplug brokers configuration.

Get Sparkplug brokers configuration.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Update Sparkplug brokers configuration.

Update Sparkplug brokers configuration.

Authorizations:
Request Body schema: application/json
Array
enable
boolean
Default: false
server
required
string

MQTT server(broker) ip or url

port
required
integer [ 1 .. 65536 ]
keepAliveSec
integer [ 10 .. 65536 ]
Default: 60
certificateOverTLS
boolean
Default: false
clientID
string

Max length: 65536 in V3.1.1, 23 in V3.1

userName
string <= 255 characters
password
string <= 255 characters
tlsVersion
string
Default: 1.2
Enum: "1.3" "1.2" "1.1" "1.0"
insecureSkipVerify
boolean
Default: false
object

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create a new Sparkplug broker configuration.

Create a new Sparkplug broker configuration.

Authorizations:
Request Body schema:
enable
boolean
Default: false
server
required
string

MQTT server(broker) ip or url

port
required
integer [ 1 .. 65536 ]
keepAliveSec
integer [ 10 .. 65536 ]
Default: 60
certificateOverTLS
boolean
Default: false
clientID
string

Max length: 65536 in V3.1.1, 23 in V3.1

userName
string <= 255 characters
password
string <= 255 characters
tlsVersion
string
Default: 1.2
Enum: "1.3" "1.2" "1.1" "1.0"
insecureSkipVerify
boolean
Default: false
object

Responses

Request samples

Content type
{
  • "id": 1,
  • "enable": true,
  • "status": "connected",
  • "lastConnectedTime": "May 20, 2020, 14:05",
  • "server": "test.sparkplug.org",
  • "port": 1883,
  • "keepAliveSec": 10,
  • "userName": "admin",
  • "password": "password"
}

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Update Sparkplug broker configuration.

Update Sparkplug broker configuration.

Authorizations:
path Parameters
id
required
integer

broker id.

Request Body schema:
enable
boolean
Default: false
server
required
string

MQTT server(broker) ip or url

port
required
integer [ 1 .. 65536 ]
keepAliveSec
integer [ 10 .. 65536 ]
Default: 60
certificateOverTLS
boolean
Default: false
clientID
string

Max length: 65536 in V3.1.1, 23 in V3.1

userName
string <= 255 characters
password
string <= 255 characters
tlsVersion
string
Default: 1.2
Enum: "1.3" "1.2" "1.1" "1.0"
insecureSkipVerify
boolean
Default: false
object

Responses

Request samples

Content type
{
  • "id": 1,
  • "enable": true,
  • "status": "connected",
  • "lastConnectedTime": "May 20, 2020, 14:05",
  • "server": "test.sparkplug.org",
  • "port": 1883,
  • "keepAliveSec": 10,
  • "userName": "admin",
  • "password": "password"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete Sparkplug broker configuration.

Delete Sparkplug broker configuration.

Authorizations:
path Parameters
id
required
integer

broker id.

Responses

Response samples

Content type
application/json
{
  • "data": [ ]
}

reported node properties.

reported node properties.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": "ok"
}

get store and forward setting.

get store and forward setting.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

update store and forward setting.

update store and forward setting.

Authorizations:
Request Body schema: application/json
enable
boolean
Default: false
targetDiskName
string
desiredDiskCacheSizeMB
integer
timeToLiveSec
integer
dropBehavior
string
Enum: "oldest" "newest"
Array of objects[ items ]
object (Bluk Upload Configuration)

Bulk data upload to server after device status change to connected.

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "targetDiskName": "System",
  • "desiredDiskCacheSizeMB": 8,
  • "timeToLiveSec": 7200,
  • "dropBehavior": "oldest",
  • "bulkUpload": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

get message groups setting.

get message groups setting.

Authorizations:
query Parameters
type
string
Enum: "node" "device"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

create a message group.

create a message group.

Authorizations:
query Parameters
type
string
Enum: "node" "device"
Request Body schema: application/json
enable
required
boolean
description
string <= 1024 characters
required
object
minPublishInterval
integer [ 0 .. 10 ]
Default: 0

a fixed interval between the two publish. unit:second

samplingMode
string
Default: "allChangedValues"
Enum: "allValues" "latestValues" "allChangedValues" "latestChangedValues"
customSamplingRate
boolean
Default: false

enable will use the pollingInterval that user input.

pollingInterval
integer [ 0 .. 86400 ] characters
Default: 10

unit:second, 0 means subscribe mode

required
object

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "enable": true,
  • "description": "my message group",
  • "properties": [ ],
  • "onChange": false,
  • "minPublishInterval": 0,
  • "samplingMode": "allValues",
  • "customSamplingRate": false,
  • "tags": {
    },
  • "pollingInterval": 0,
  • "sendOutThreshold": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

get message group setting.

get message group setting.

Authorizations:
path Parameters
id
required
integer

message group id.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

update message group setting.

update message group setting.

Authorizations:
path Parameters
id
required
integer

message group id.

Request Body schema: application/json
enable
required
boolean
description
string <= 1024 characters
required
object
minPublishInterval
integer [ 0 .. 10 ]
Default: 0

a fixed interval between the two publish. unit:second

samplingMode
string
Default: "allChangedValues"
Enum: "allValues" "latestValues" "allChangedValues" "latestChangedValues"
customSamplingRate
boolean
Default: false

enable will use the pollingInterval that user input.

pollingInterval
integer [ 0 .. 86400 ] characters
Default: 10

unit:second, 0 means subscribe mode

required
object

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "enable": true,
  • "description": "my message group",
  • "properties": [ ],
  • "onChange": false,
  • "minPublishInterval": 0,
  • "samplingMode": "allValues",
  • "customSamplingRate": false,
  • "tags": {
    },
  • "pollingInterval": 0,
  • "sendOutThreshold": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

delete message group setting.

delete message group setting.

Authorizations:
path Parameters
id
required
integer

message group id.

Responses

Response samples

Content type
application/json
[
  • {
    }
]