losant_rest 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 56b077ca63d36f215dfc3736ae9d853433f92498
4
- data.tar.gz: dccaa092ac1a61b22267add095b094ef528ee357
3
+ metadata.gz: 7dc37858179ca1de41ef93fbb30937193cddd9d5
4
+ data.tar.gz: fb41cbf5d02a1fc1c17cc8a23b8a800484ef1a15
5
5
  SHA512:
6
- metadata.gz: 11be7edc1876b7c63e195e7b2d36fabf263733a1b6f5c0f1baea672e2a5cbd0a93fe84fbd55dc9526dbd8ff9229250cbb580b002136a2d4ab74bf8c2a99fc123
7
- data.tar.gz: 6e971f6040890a5961fde5f963099a75030c4e0091ef61313611eb2e2465c9f67cc237cb18e1216e09d0c210e13b767cda57b3fb53bb07a7e5ec856ca134c3da
6
+ metadata.gz: 212bff8aeccd7b19da7777a84a2c13106146b65e2fab93e3a9c464a35ae3921522dbfcb081a442c127494f559432851f37ad9ff1764d4722557109739d9d572c
7
+ data.tar.gz: cf964850c8fbfebab80bad7c507f2fa4ae606ec0e37cb9f9f894fa1946d91eb31d35e6ed7d78993e4b87c198767e37349708243c19577711af7dfd5fa12d6d8a
data/README.md CHANGED
@@ -224,6 +224,16 @@ Contains all the actions that can be performed against the collection of
224
224
  [Workflows](https://docs.losant.com/workflows/overview/) belonging
225
225
  to an Application - such as listing the workflows or creating a new workflow.
226
226
 
227
+ * [integration](docs/integration.md)
228
+ Contains all the actions that can be performed against a single
229
+ [Integration](https://docs.losant.com/applications/integrations/), which
230
+ include things like removing an integration or updating integration configuration.
231
+
232
+ * [integrations](docs/integrations.md)
233
+ Contains all the actions that can be performed against the collection of
234
+ [Integrations](https://docs.losant.com/applications/integrations/) belonging
235
+ to an Application - such as listing integrations or creating a new integration.
236
+
227
237
  * [me](docs/me.md)
228
238
  Contains the actions for operating against the currently authenticated
229
239
  [User](https://docs.losant.com/user-accounts/overview/) such as changing
@@ -69,6 +69,10 @@
69
69
  * [Workflow Trigger Filter](#workflow-trigger-filter)
70
70
  * [Workflows](#workflows)
71
71
  * [Github Login](#github-login)
72
+ * [Integrations](#integrations)
73
+ * [Integrations Patch](#integrations-patch)
74
+ * [Integrations Post](#integrations-post)
75
+ * [Integrations](#integrations)
72
76
  * [Last Value Data](#last-value-data)
73
77
  * [Last Value Query](#last-value-query)
74
78
  * [Me](#me)
@@ -351,6 +355,9 @@ Schema for a single Application
351
355
  "flowCount": {
352
356
  "type": "number"
353
357
  },
358
+ "integrationCount": {
359
+ "type": "number"
360
+ },
354
361
  "webhookCount": {
355
362
  "type": "number"
356
363
  }
@@ -435,6 +442,8 @@ Schema for the body of an Application API Token creation request
435
442
  "experienceGroups.*",
436
443
  "experienceUser.*",
437
444
  "experienceUsers.*",
445
+ "integration.*",
446
+ "integrations.*",
438
447
  "flow.*",
439
448
  "flows.*",
440
449
  "webhook.*",
@@ -506,8 +515,13 @@ Schema for the body of an Application API Token creation request
506
515
  "flow.patch",
507
516
  "flow.pressVirtualButton",
508
517
  "flow.setStorageEntry",
509
- "flows.create",
510
518
  "flows.get",
519
+ "flows.post",
520
+ "integration.delete",
521
+ "integration.get",
522
+ "integration.patch",
523
+ "integrations.get",
524
+ "integrations.post",
511
525
  "webhook.delete",
512
526
  "webhook.get",
513
527
  "webhook.patch",
@@ -1081,6 +1095,9 @@ Schema for a collection of Applications
1081
1095
  "flowCount": {
1082
1096
  "type": "number"
1083
1097
  },
1098
+ "integrationCount": {
1099
+ "type": "number"
1100
+ },
1084
1101
  "webhookCount": {
1085
1102
  "type": "number"
1086
1103
  }
@@ -1216,6 +1233,7 @@ Schema for a single Audit Log entry
1216
1233
  "ExperienceUser",
1217
1234
  "Flow",
1218
1235
  "SolutionUser",
1236
+ "Integration",
1219
1237
  "Webhook"
1220
1238
  ]
1221
1239
  },
@@ -1359,6 +1377,7 @@ Schema for the filter of an audit log query
1359
1377
  "ExperienceUser",
1360
1378
  "Flow",
1361
1379
  "SolutionUser",
1380
+ "Integration",
1362
1381
  "Webhook"
1363
1382
  ]
1364
1383
  },
@@ -1519,6 +1538,7 @@ Schema for a collection of Audit Logs
1519
1538
  "ExperienceUser",
1520
1539
  "Flow",
1521
1540
  "SolutionUser",
1541
+ "Integration",
1522
1542
  "Webhook"
1523
1543
  ]
1524
1544
  },
@@ -6282,17 +6302,18 @@ Schema for a single Workflow
6282
6302
  "type": "string",
6283
6303
  "enum": [
6284
6304
  "deviceId",
6305
+ "deviceIdConnect",
6306
+ "deviceIdDisconnect",
6285
6307
  "deviceTag",
6308
+ "deviceTagConnect",
6309
+ "deviceTagDisconnect",
6310
+ "endpoint",
6311
+ "event",
6286
6312
  "mqttTopic",
6287
- "webhook",
6313
+ "integration",
6288
6314
  "timer",
6289
- "event",
6290
6315
  "virtualButton",
6291
- "endpoint",
6292
- "deviceIdConnect",
6293
- "deviceIdDisconnect",
6294
- "deviceTagConnect",
6295
- "deviceTagDisconnect"
6316
+ "webhook"
6296
6317
  ]
6297
6318
  },
6298
6319
  "config": {
@@ -6530,17 +6551,18 @@ Schema for the body of a Workflow modification request
6530
6551
  "type": "string",
6531
6552
  "enum": [
6532
6553
  "deviceId",
6554
+ "deviceIdConnect",
6555
+ "deviceIdDisconnect",
6533
6556
  "deviceTag",
6557
+ "deviceTagConnect",
6558
+ "deviceTagDisconnect",
6559
+ "endpoint",
6560
+ "event",
6534
6561
  "mqttTopic",
6535
- "webhook",
6562
+ "integration",
6536
6563
  "timer",
6537
- "event",
6538
6564
  "virtualButton",
6539
- "endpoint",
6540
- "deviceIdConnect",
6541
- "deviceIdDisconnect",
6542
- "deviceTagConnect",
6543
- "deviceTagDisconnect"
6565
+ "webhook"
6544
6566
  ]
6545
6567
  },
6546
6568
  "config": {
@@ -6680,17 +6702,18 @@ Schema for the body of a Workflow creation request
6680
6702
  "type": "string",
6681
6703
  "enum": [
6682
6704
  "deviceId",
6705
+ "deviceIdConnect",
6706
+ "deviceIdDisconnect",
6683
6707
  "deviceTag",
6708
+ "deviceTagConnect",
6709
+ "deviceTagDisconnect",
6710
+ "endpoint",
6711
+ "event",
6684
6712
  "mqttTopic",
6685
- "webhook",
6713
+ "integration",
6686
6714
  "timer",
6687
- "event",
6688
6715
  "virtualButton",
6689
- "endpoint",
6690
- "deviceIdConnect",
6691
- "deviceIdDisconnect",
6692
- "deviceTagConnect",
6693
- "deviceTagDisconnect"
6716
+ "webhook"
6694
6717
  ]
6695
6718
  },
6696
6719
  "config": {
@@ -6964,17 +6987,18 @@ Schema for a collection of Workflows
6964
6987
  "type": "string",
6965
6988
  "enum": [
6966
6989
  "deviceId",
6990
+ "deviceIdConnect",
6991
+ "deviceIdDisconnect",
6967
6992
  "deviceTag",
6993
+ "deviceTagConnect",
6994
+ "deviceTagDisconnect",
6995
+ "endpoint",
6996
+ "event",
6968
6997
  "mqttTopic",
6969
- "webhook",
6998
+ "integration",
6970
6999
  "timer",
6971
- "event",
6972
7000
  "virtualButton",
6973
- "endpoint",
6974
- "deviceIdConnect",
6975
- "deviceIdDisconnect",
6976
- "deviceTagConnect",
6977
- "deviceTagDisconnect"
7001
+ "webhook"
6978
7002
  ]
6979
7003
  },
6980
7004
  "config": {
@@ -7178,62 +7202,214 @@ Schema for the body of a Github login request
7178
7202
 
7179
7203
  <br/>
7180
7204
 
7181
- ## Last Value Data
7205
+ ## Integrations
7182
7206
 
7183
- Schema for the result of a last value query
7207
+ Schema for a single Integrations
7184
7208
 
7185
- ### <a name="last-value-data-schema"></a> Schema
7209
+ ### <a name="integrations-schema"></a> Schema
7186
7210
 
7187
7211
  ```json
7188
7212
  {
7189
7213
  "$schema": "http://json-schema.org/draft-04/schema#",
7190
7214
  "type": "object",
7191
- "patternProperties": {
7192
- "^[A-Fa-f\\d]{24}$": {
7215
+ "properties": {
7216
+ "id": {
7217
+ "type": "string",
7218
+ "pattern": "^[A-Fa-f\\d]{24}$"
7219
+ },
7220
+ "integrationId": {
7221
+ "type": "string",
7222
+ "pattern": "^[A-Fa-f\\d]{24}$"
7223
+ },
7224
+ "applicationId": {
7225
+ "type": "string",
7226
+ "pattern": "^[A-Fa-f\\d]{24}$"
7227
+ },
7228
+ "creationDate": {
7229
+ "type": "string",
7230
+ "format": "date-time"
7231
+ },
7232
+ "lastUpdated": {
7233
+ "type": "string",
7234
+ "format": "date-time"
7235
+ },
7236
+ "name": {
7237
+ "type": "string",
7238
+ "minLength": 1,
7239
+ "maxLength": 1024
7240
+ },
7241
+ "integrationType": {
7242
+ "type": "string",
7243
+ "enum": [
7244
+ "mqtt",
7245
+ "googlePubSub"
7246
+ ]
7247
+ },
7248
+ "enabled": {
7249
+ "type": "boolean"
7250
+ },
7251
+ "topics": {
7252
+ "type": "array",
7253
+ "items": {
7254
+ "type": "string",
7255
+ "minLength": 1,
7256
+ "maxLength": 1024
7257
+ }
7258
+ },
7259
+ "googlePubSubConfig": {
7193
7260
  "type": "object",
7194
7261
  "properties": {
7195
- "time": {
7262
+ "projectId": {
7196
7263
  "type": "string",
7197
- "format": "date-time"
7264
+ "minLength": 1,
7265
+ "maxLength": 1024
7198
7266
  },
7199
- "data": {
7200
- "type": "object",
7201
- "patternProperties": {
7202
- "^[0-9a-zA-Z_-]{1,255}$": {
7203
- "type": [
7204
- "number",
7205
- "string",
7206
- "boolean"
7207
- ]
7208
- }
7209
- },
7210
- "additionalProperties": false
7267
+ "keyJson": {
7268
+ "type": "string",
7269
+ "maxLength": 32767,
7270
+ "minLength": 50
7211
7271
  }
7212
7272
  },
7213
7273
  "additionalProperties": false,
7214
7274
  "required": [
7215
- "data",
7216
- "time"
7275
+ "projectId",
7276
+ "keyJson"
7277
+ ]
7278
+ },
7279
+ "mqttConfig": {
7280
+ "type": "object",
7281
+ "properties": {
7282
+ "clientId": {
7283
+ "type": "string",
7284
+ "maxLength": 1024,
7285
+ "minLength": 1
7286
+ },
7287
+ "username": {
7288
+ "type": "string",
7289
+ "maxLength": 1024,
7290
+ "minLength": 1
7291
+ },
7292
+ "password": {
7293
+ "type": "string",
7294
+ "maxLength": 1024,
7295
+ "minLength": 1
7296
+ },
7297
+ "clean": {
7298
+ "type": "boolean"
7299
+ },
7300
+ "port": {
7301
+ "type": "number",
7302
+ "minimum": 1,
7303
+ "maximum": 65535
7304
+ },
7305
+ "protocol": {
7306
+ "type": "string",
7307
+ "enum": [
7308
+ "mqtt",
7309
+ "mqtts",
7310
+ "ws",
7311
+ "wss"
7312
+ ]
7313
+ },
7314
+ "host": {
7315
+ "type": "string",
7316
+ "maxLength": 1024,
7317
+ "minLength": 1
7318
+ },
7319
+ "privateKey": {
7320
+ "type": "string",
7321
+ "maxLength": 32767,
7322
+ "minLength": 50
7323
+ },
7324
+ "certificate": {
7325
+ "type": "string",
7326
+ "maxLength": 32767,
7327
+ "minLength": 50
7328
+ },
7329
+ "caCertificate": {
7330
+ "type": "string",
7331
+ "maxLength": 32767,
7332
+ "minLength": 50
7333
+ }
7334
+ },
7335
+ "additionalProperties": false,
7336
+ "required": [
7337
+ "port",
7338
+ "protocol",
7339
+ "host"
7217
7340
  ]
7341
+ },
7342
+ "status": {
7343
+ "lastKeepAlive": {
7344
+ "type": [
7345
+ "number"
7346
+ ]
7347
+ },
7348
+ "nextAttempt": {
7349
+ "type": [
7350
+ "number"
7351
+ ]
7352
+ },
7353
+ "connectInfo": {
7354
+ "type": "object",
7355
+ "properties": {
7356
+ "ts": {
7357
+ "type": [
7358
+ "number",
7359
+ "null"
7360
+ ]
7361
+ }
7362
+ }
7363
+ },
7364
+ "disconnectInfo": {
7365
+ "type": "object",
7366
+ "properties": {
7367
+ "ts": {
7368
+ "type": [
7369
+ "number",
7370
+ "null"
7371
+ ]
7372
+ },
7373
+ "error": {
7374
+ "type": "string"
7375
+ }
7376
+ }
7377
+ }
7218
7378
  }
7219
- },
7220
- "additionalProperties": false
7379
+ }
7221
7380
  }
7222
7381
  ```
7223
- ### <a name="last-value-data-example"></a> Example
7382
+ ### <a name="integrations-example"></a> Example
7224
7383
 
7225
7384
  ```json
7226
7385
  {
7227
- "575ecf887ae143cd83dc4aa2": {
7228
- "time": "2016-06-13T04:00:00.000Z",
7229
- "data": {
7230
- "voltage": 12
7231
- }
7386
+ "id": "58ec07f20c747f65243d0d76",
7387
+ "integrationId": "58ec07f20c747f65243d0d76",
7388
+ "applicationId": "575ec8687ae143cd83dc4a97",
7389
+ "creationDate": "2016-06-13T04:00:00.000Z",
7390
+ "lastUpdated": "2016-06-13T04:00:00.000Z",
7391
+ "name": "Example Integrations",
7392
+ "integrationType": "mqtt",
7393
+ "enabled": true,
7394
+ "topics": [
7395
+ "myTopic"
7396
+ ],
7397
+ "mqttConfig": {
7398
+ "clientId": "exampleClientId",
7399
+ "username": "exampleUsername",
7400
+ "password": "examplePassword",
7401
+ "port": 8883,
7402
+ "protocol": "mqtts",
7403
+ "host": "broker.example.com"
7232
7404
  },
7233
- "575ef5c97ae143cd83dc4aac": {
7234
- "time": "2016-06-12T08:30:00.000Z",
7235
- "data": {
7236
- "voltage": 19
7405
+ "status": {
7406
+ "lastKeepAlive": 1491863679994,
7407
+ "connectInfo": {
7408
+ "ts": 1490629589313
7409
+ },
7410
+ "disconnectInfo": {
7411
+ "ts": 1490629587190,
7412
+ "error": "Keepalive Timeout"
7237
7413
  }
7238
7414
  }
7239
7415
  }
@@ -7241,57 +7417,640 @@ Schema for the result of a last value query
7241
7417
 
7242
7418
  <br/>
7243
7419
 
7244
- ## Last Value Query
7420
+ ## Integrations Patch
7245
7421
 
7246
- Schema for the body of a last value query request
7422
+ Schema for the body of an Integrations modification request
7247
7423
 
7248
- ### <a name="last-value-query-schema"></a> Schema
7424
+ ### <a name="integrations-patch-schema"></a> Schema
7249
7425
 
7250
7426
  ```json
7251
7427
  {
7252
7428
  "$schema": "http://json-schema.org/draft-04/schema#",
7253
7429
  "type": "object",
7254
7430
  "properties": {
7255
- "attribute": {
7431
+ "name": {
7256
7432
  "type": "string",
7257
- "pattern": "^[0-9a-zA-Z_-]{1,255}$"
7433
+ "minLength": 1,
7434
+ "maxLength": 1024
7258
7435
  },
7259
- "deviceTags": {
7436
+ "integrationType": {
7437
+ "type": "string",
7438
+ "enum": [
7439
+ "mqtt",
7440
+ "googlePubSub"
7441
+ ]
7442
+ },
7443
+ "enabled": {
7444
+ "type": "boolean"
7445
+ },
7446
+ "topics": {
7260
7447
  "type": "array",
7261
7448
  "items": {
7262
- "type": "object",
7263
- "properties": {
7264
- "key": {
7265
- "type": "string",
7266
- "pattern": "^[0-9a-zA-Z_-]{1,255}$"
7267
- },
7268
- "value": {
7269
- "type": "string",
7270
- "minLength": 1,
7271
- "maxLength": 255
7272
- }
7449
+ "type": "string",
7450
+ "minLength": 1,
7451
+ "maxLength": 1024
7452
+ }
7453
+ },
7454
+ "googlePubSubConfig": {
7455
+ "type": "object",
7456
+ "properties": {
7457
+ "projectId": {
7458
+ "type": "string",
7459
+ "minLength": 1,
7460
+ "maxLength": 1024
7273
7461
  },
7274
- "additionalProperties": false
7462
+ "keyJson": {
7463
+ "type": "string",
7464
+ "maxLength": 32767,
7465
+ "minLength": 50
7466
+ }
7275
7467
  },
7276
- "maxItems": 100
7468
+ "additionalProperties": false,
7469
+ "required": [
7470
+ "projectId",
7471
+ "keyJson"
7472
+ ]
7277
7473
  },
7278
- "deviceIds": {
7279
- "type": "array",
7280
- "items": {
7281
- "type": "string",
7282
- "pattern": "^[A-Fa-f\\d]{24}$"
7474
+ "mqttConfig": {
7475
+ "type": "object",
7476
+ "properties": {
7477
+ "clientId": {
7478
+ "type": "string",
7479
+ "maxLength": 1024,
7480
+ "minLength": 1
7481
+ },
7482
+ "username": {
7483
+ "type": "string",
7484
+ "maxLength": 1024,
7485
+ "minLength": 1
7486
+ },
7487
+ "password": {
7488
+ "type": "string",
7489
+ "maxLength": 1024,
7490
+ "minLength": 1
7491
+ },
7492
+ "clean": {
7493
+ "type": "boolean"
7494
+ },
7495
+ "port": {
7496
+ "type": "number",
7497
+ "minimum": 1,
7498
+ "maximum": 65535
7499
+ },
7500
+ "protocol": {
7501
+ "type": "string",
7502
+ "enum": [
7503
+ "mqtt",
7504
+ "mqtts",
7505
+ "ws",
7506
+ "wss"
7507
+ ]
7508
+ },
7509
+ "host": {
7510
+ "type": "string",
7511
+ "maxLength": 1024,
7512
+ "minLength": 1
7513
+ },
7514
+ "privateKey": {
7515
+ "type": "string",
7516
+ "maxLength": 32767,
7517
+ "minLength": 50
7518
+ },
7519
+ "certificate": {
7520
+ "type": "string",
7521
+ "maxLength": 32767,
7522
+ "minLength": 50
7523
+ },
7524
+ "caCertificate": {
7525
+ "type": "string",
7526
+ "maxLength": 32767,
7527
+ "minLength": 50
7528
+ }
7283
7529
  },
7284
- "maxItems": 1000
7530
+ "additionalProperties": false,
7531
+ "required": [
7532
+ "port",
7533
+ "protocol",
7534
+ "host"
7535
+ ]
7285
7536
  }
7286
7537
  },
7287
7538
  "additionalProperties": false
7288
7539
  }
7289
7540
  ```
7290
- ### <a name="last-value-query-example"></a> Example
7541
+ ### <a name="integrations-patch-example"></a> Example
7291
7542
 
7292
7543
  ```json
7293
7544
  {
7294
- "deviceIds": [
7545
+ "topics": [
7546
+ "differentTopic"
7547
+ ]
7548
+ }
7549
+ ```
7550
+
7551
+ <br/>
7552
+
7553
+ ## Integrations Post
7554
+
7555
+ Schema for the body of an Integrations creation request
7556
+
7557
+ ### <a name="integrations-post-schema"></a> Schema
7558
+
7559
+ ```json
7560
+ {
7561
+ "$schema": "http://json-schema.org/draft-04/schema#",
7562
+ "type": "object",
7563
+ "properties": {
7564
+ "name": {
7565
+ "type": "string",
7566
+ "minLength": 1,
7567
+ "maxLength": 1024
7568
+ },
7569
+ "integrationType": {
7570
+ "type": "string",
7571
+ "enum": [
7572
+ "mqtt",
7573
+ "googlePubSub"
7574
+ ]
7575
+ },
7576
+ "enabled": {
7577
+ "type": "boolean"
7578
+ },
7579
+ "topics": {
7580
+ "type": "array",
7581
+ "items": {
7582
+ "type": "string",
7583
+ "minLength": 1,
7584
+ "maxLength": 1024
7585
+ }
7586
+ },
7587
+ "googlePubSubConfig": {
7588
+ "type": "object",
7589
+ "properties": {
7590
+ "projectId": {
7591
+ "type": "string",
7592
+ "minLength": 1,
7593
+ "maxLength": 1024
7594
+ },
7595
+ "keyJson": {
7596
+ "type": "string",
7597
+ "maxLength": 32767,
7598
+ "minLength": 50
7599
+ }
7600
+ },
7601
+ "additionalProperties": false,
7602
+ "required": [
7603
+ "projectId",
7604
+ "keyJson"
7605
+ ]
7606
+ },
7607
+ "mqttConfig": {
7608
+ "type": "object",
7609
+ "properties": {
7610
+ "clientId": {
7611
+ "type": "string",
7612
+ "maxLength": 1024,
7613
+ "minLength": 1
7614
+ },
7615
+ "username": {
7616
+ "type": "string",
7617
+ "maxLength": 1024,
7618
+ "minLength": 1
7619
+ },
7620
+ "password": {
7621
+ "type": "string",
7622
+ "maxLength": 1024,
7623
+ "minLength": 1
7624
+ },
7625
+ "clean": {
7626
+ "type": "boolean"
7627
+ },
7628
+ "port": {
7629
+ "type": "number",
7630
+ "minimum": 1,
7631
+ "maximum": 65535
7632
+ },
7633
+ "protocol": {
7634
+ "type": "string",
7635
+ "enum": [
7636
+ "mqtt",
7637
+ "mqtts",
7638
+ "ws",
7639
+ "wss"
7640
+ ]
7641
+ },
7642
+ "host": {
7643
+ "type": "string",
7644
+ "maxLength": 1024,
7645
+ "minLength": 1
7646
+ },
7647
+ "privateKey": {
7648
+ "type": "string",
7649
+ "maxLength": 32767,
7650
+ "minLength": 50
7651
+ },
7652
+ "certificate": {
7653
+ "type": "string",
7654
+ "maxLength": 32767,
7655
+ "minLength": 50
7656
+ },
7657
+ "caCertificate": {
7658
+ "type": "string",
7659
+ "maxLength": 32767,
7660
+ "minLength": 50
7661
+ }
7662
+ },
7663
+ "additionalProperties": false,
7664
+ "required": [
7665
+ "port",
7666
+ "protocol",
7667
+ "host"
7668
+ ]
7669
+ }
7670
+ },
7671
+ "additionalProperties": false,
7672
+ "required": [
7673
+ "name",
7674
+ "integrationType"
7675
+ ]
7676
+ }
7677
+ ```
7678
+ ### <a name="integrations-post-example"></a> Example
7679
+
7680
+ ```json
7681
+ {
7682
+ "name": "Example Integrations",
7683
+ "integrationType": "mqtt",
7684
+ "topics": [
7685
+ "myTopic"
7686
+ ],
7687
+ "mqttConfig": {
7688
+ "clientId": "exampleClientId",
7689
+ "username": "exampleUsername",
7690
+ "password": "examplePassword",
7691
+ "port": 8883,
7692
+ "protocol": "mqtts",
7693
+ "host": "broker.example.com"
7694
+ }
7695
+ }
7696
+ ```
7697
+
7698
+ <br/>
7699
+
7700
+ ## Integrations
7701
+
7702
+ Schema for a collection of Integrations
7703
+
7704
+ ### <a name="integrations-schema"></a> Schema
7705
+
7706
+ ```json
7707
+ {
7708
+ "$schema": "http://json-schema.org/draft-04/schema#",
7709
+ "type": "object",
7710
+ "properties": {
7711
+ "items": {
7712
+ "type": "array",
7713
+ "items": {
7714
+ "title": "Integrations",
7715
+ "description": "Schema for a single Integrations",
7716
+ "type": "object",
7717
+ "properties": {
7718
+ "id": {
7719
+ "type": "string",
7720
+ "pattern": "^[A-Fa-f\\d]{24}$"
7721
+ },
7722
+ "integrationId": {
7723
+ "type": "string",
7724
+ "pattern": "^[A-Fa-f\\d]{24}$"
7725
+ },
7726
+ "applicationId": {
7727
+ "type": "string",
7728
+ "pattern": "^[A-Fa-f\\d]{24}$"
7729
+ },
7730
+ "creationDate": {
7731
+ "type": "string",
7732
+ "format": "date-time"
7733
+ },
7734
+ "lastUpdated": {
7735
+ "type": "string",
7736
+ "format": "date-time"
7737
+ },
7738
+ "name": {
7739
+ "type": "string",
7740
+ "minLength": 1,
7741
+ "maxLength": 1024
7742
+ },
7743
+ "integrationType": {
7744
+ "type": "string",
7745
+ "enum": [
7746
+ "mqtt",
7747
+ "googlePubSub"
7748
+ ]
7749
+ },
7750
+ "enabled": {
7751
+ "type": "boolean"
7752
+ },
7753
+ "topics": {
7754
+ "type": "array",
7755
+ "items": {
7756
+ "type": "string",
7757
+ "minLength": 1,
7758
+ "maxLength": 1024
7759
+ }
7760
+ },
7761
+ "googlePubSubConfig": {
7762
+ "type": "object",
7763
+ "properties": {
7764
+ "projectId": {
7765
+ "type": "string",
7766
+ "minLength": 1,
7767
+ "maxLength": 1024
7768
+ },
7769
+ "keyJson": {
7770
+ "type": "string",
7771
+ "maxLength": 32767,
7772
+ "minLength": 50
7773
+ }
7774
+ },
7775
+ "additionalProperties": false,
7776
+ "required": [
7777
+ "projectId",
7778
+ "keyJson"
7779
+ ]
7780
+ },
7781
+ "mqttConfig": {
7782
+ "type": "object",
7783
+ "properties": {
7784
+ "clientId": {
7785
+ "type": "string",
7786
+ "maxLength": 1024,
7787
+ "minLength": 1
7788
+ },
7789
+ "username": {
7790
+ "type": "string",
7791
+ "maxLength": 1024,
7792
+ "minLength": 1
7793
+ },
7794
+ "password": {
7795
+ "type": "string",
7796
+ "maxLength": 1024,
7797
+ "minLength": 1
7798
+ },
7799
+ "clean": {
7800
+ "type": "boolean"
7801
+ },
7802
+ "port": {
7803
+ "type": "number",
7804
+ "minimum": 1,
7805
+ "maximum": 65535
7806
+ },
7807
+ "protocol": {
7808
+ "type": "string",
7809
+ "enum": [
7810
+ "mqtt",
7811
+ "mqtts",
7812
+ "ws",
7813
+ "wss"
7814
+ ]
7815
+ },
7816
+ "host": {
7817
+ "type": "string",
7818
+ "maxLength": 1024,
7819
+ "minLength": 1
7820
+ },
7821
+ "privateKey": {
7822
+ "type": "string",
7823
+ "maxLength": 32767,
7824
+ "minLength": 50
7825
+ },
7826
+ "certificate": {
7827
+ "type": "string",
7828
+ "maxLength": 32767,
7829
+ "minLength": 50
7830
+ },
7831
+ "caCertificate": {
7832
+ "type": "string",
7833
+ "maxLength": 32767,
7834
+ "minLength": 50
7835
+ }
7836
+ },
7837
+ "additionalProperties": false,
7838
+ "required": [
7839
+ "port",
7840
+ "protocol",
7841
+ "host"
7842
+ ]
7843
+ },
7844
+ "status": {
7845
+ "lastKeepAlive": {
7846
+ "type": [
7847
+ "number"
7848
+ ]
7849
+ },
7850
+ "nextAttempt": {
7851
+ "type": [
7852
+ "number"
7853
+ ]
7854
+ },
7855
+ "connectInfo": {
7856
+ "type": "object",
7857
+ "properties": {
7858
+ "ts": {
7859
+ "type": [
7860
+ "number",
7861
+ "null"
7862
+ ]
7863
+ }
7864
+ }
7865
+ },
7866
+ "disconnectInfo": {
7867
+ "type": "object",
7868
+ "properties": {
7869
+ "ts": {
7870
+ "type": [
7871
+ "number",
7872
+ "null"
7873
+ ]
7874
+ },
7875
+ "error": {
7876
+ "type": "string"
7877
+ }
7878
+ }
7879
+ }
7880
+ }
7881
+ }
7882
+ }
7883
+ },
7884
+ "count": {
7885
+ "type": "integer"
7886
+ },
7887
+ "totalCount": {
7888
+ "type": "integer"
7889
+ },
7890
+ "perPage": {
7891
+ "type": "integer"
7892
+ },
7893
+ "page": {
7894
+ "type": "integer"
7895
+ },
7896
+ "filter": {
7897
+ "type": "string"
7898
+ },
7899
+ "filterField": {
7900
+ "type": "string"
7901
+ },
7902
+ "sortField": {
7903
+ "type": "string"
7904
+ },
7905
+ "sortDirection": {
7906
+ "type": "string",
7907
+ "enum": [
7908
+ "asc",
7909
+ "desc"
7910
+ ]
7911
+ },
7912
+ "applicationId": {
7913
+ "type": "string",
7914
+ "pattern": "^[A-Fa-f\\d]{24}$"
7915
+ }
7916
+ }
7917
+ }
7918
+ ```
7919
+ ### <a name="integrations-example"></a> Example
7920
+
7921
+ ```json
7922
+ {
7923
+ "items": [
7924
+ {
7925
+ "$ref": "#/examples/integrations"
7926
+ }
7927
+ ],
7928
+ "count": 1,
7929
+ "totalCount": 4,
7930
+ "perPage": 1,
7931
+ "page": 0,
7932
+ "sortField": "name",
7933
+ "sortDirection": "asc",
7934
+ "applicationId": "575ec8687ae143cd83dc4a97"
7935
+ }
7936
+ ```
7937
+
7938
+ <br/>
7939
+
7940
+ ## Last Value Data
7941
+
7942
+ Schema for the result of a last value query
7943
+
7944
+ ### <a name="last-value-data-schema"></a> Schema
7945
+
7946
+ ```json
7947
+ {
7948
+ "$schema": "http://json-schema.org/draft-04/schema#",
7949
+ "type": "object",
7950
+ "patternProperties": {
7951
+ "^[A-Fa-f\\d]{24}$": {
7952
+ "type": "object",
7953
+ "properties": {
7954
+ "time": {
7955
+ "type": "string",
7956
+ "format": "date-time"
7957
+ },
7958
+ "data": {
7959
+ "type": "object",
7960
+ "patternProperties": {
7961
+ "^[0-9a-zA-Z_-]{1,255}$": {
7962
+ "type": [
7963
+ "number",
7964
+ "string",
7965
+ "boolean"
7966
+ ]
7967
+ }
7968
+ },
7969
+ "additionalProperties": false
7970
+ }
7971
+ },
7972
+ "additionalProperties": false,
7973
+ "required": [
7974
+ "data",
7975
+ "time"
7976
+ ]
7977
+ }
7978
+ },
7979
+ "additionalProperties": false
7980
+ }
7981
+ ```
7982
+ ### <a name="last-value-data-example"></a> Example
7983
+
7984
+ ```json
7985
+ {
7986
+ "575ecf887ae143cd83dc4aa2": {
7987
+ "time": "2016-06-13T04:00:00.000Z",
7988
+ "data": {
7989
+ "voltage": 12
7990
+ }
7991
+ },
7992
+ "575ef5c97ae143cd83dc4aac": {
7993
+ "time": "2016-06-12T08:30:00.000Z",
7994
+ "data": {
7995
+ "voltage": 19
7996
+ }
7997
+ }
7998
+ }
7999
+ ```
8000
+
8001
+ <br/>
8002
+
8003
+ ## Last Value Query
8004
+
8005
+ Schema for the body of a last value query request
8006
+
8007
+ ### <a name="last-value-query-schema"></a> Schema
8008
+
8009
+ ```json
8010
+ {
8011
+ "$schema": "http://json-schema.org/draft-04/schema#",
8012
+ "type": "object",
8013
+ "properties": {
8014
+ "attribute": {
8015
+ "type": "string",
8016
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
8017
+ },
8018
+ "deviceTags": {
8019
+ "type": "array",
8020
+ "items": {
8021
+ "type": "object",
8022
+ "properties": {
8023
+ "key": {
8024
+ "type": "string",
8025
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
8026
+ },
8027
+ "value": {
8028
+ "type": "string",
8029
+ "minLength": 1,
8030
+ "maxLength": 255
8031
+ }
8032
+ },
8033
+ "additionalProperties": false
8034
+ },
8035
+ "maxItems": 100
8036
+ },
8037
+ "deviceIds": {
8038
+ "type": "array",
8039
+ "items": {
8040
+ "type": "string",
8041
+ "pattern": "^[A-Fa-f\\d]{24}$"
8042
+ },
8043
+ "maxItems": 1000
8044
+ }
8045
+ },
8046
+ "additionalProperties": false
8047
+ }
8048
+ ```
8049
+ ### <a name="last-value-query-example"></a> Example
8050
+
8051
+ ```json
8052
+ {
8053
+ "deviceIds": [
7295
8054
  "575ecf887ae143cd83dc4aa2",
7296
8055
  "575ef5c97ae143cd83dc4aac"
7297
8056
  ],
@@ -7363,6 +8122,10 @@ Schema for information about the currently authenticated user
7363
8122
  "type": "string",
7364
8123
  "maxLength": 1024
7365
8124
  },
8125
+ "tokenCutoff": {
8126
+ "type": "string",
8127
+ "format": "date-time"
8128
+ },
7366
8129
  "emailVerified": {
7367
8130
  "type": "boolean"
7368
8131
  },
@@ -7413,6 +8176,9 @@ Schema for information about the currently authenticated user
7413
8176
  "flow": {
7414
8177
  "type": "number"
7415
8178
  },
8179
+ "integration": {
8180
+ "type": "number"
8181
+ },
7416
8182
  "webhook": {
7417
8183
  "type": "number"
7418
8184
  },
@@ -7665,9 +8431,20 @@ Schema for information about the currently authenticated user
7665
8431
  "type": "number"
7666
8432
  }
7667
8433
  }
8434
+ },
8435
+ "integration": {
8436
+ "type": "object",
8437
+ "patternProperties": {
8438
+ ".*": {
8439
+ "type": "number"
8440
+ }
8441
+ }
7668
8442
  }
7669
8443
  }
7670
8444
  },
8445
+ "integrationCount": {
8446
+ "type": "number"
8447
+ },
7671
8448
  "webhookCount": {
7672
8449
  "type": "number"
7673
8450
  }
@@ -7762,6 +8539,10 @@ Schema for the body of request to modify the current user
7762
8539
  "type": "string",
7763
8540
  "minLength": 8,
7764
8541
  "maxLength": 2048
8542
+ },
8543
+ "tokenCutoff": {
8544
+ "type": "string",
8545
+ "format": "date-time"
7765
8546
  }
7766
8547
  },
7767
8548
  "additionalProperties": false
@@ -7991,6 +8772,9 @@ Schema for a single Organization
7991
8772
  "solution": {
7992
8773
  "type": "number"
7993
8774
  },
8775
+ "integration": {
8776
+ "type": "number"
8777
+ },
7994
8778
  "webhook": {
7995
8779
  "type": "number"
7996
8780
  },
@@ -8135,12 +8919,23 @@ Schema for a single Organization
8135
8919
  "type": "number"
8136
8920
  }
8137
8921
  }
8922
+ },
8923
+ "integration": {
8924
+ "type": "object",
8925
+ "patternProperties": {
8926
+ ".*": {
8927
+ "type": "number"
8928
+ }
8929
+ }
8138
8930
  }
8139
8931
  }
8140
8932
  },
8141
8933
  "solutionCount": {
8142
8934
  "type": "number"
8143
8935
  },
8936
+ "integrationCount": {
8937
+ "type": "number"
8938
+ },
8144
8939
  "webhookCount": {
8145
8940
  "type": "number"
8146
8941
  }
@@ -8722,6 +9517,9 @@ Schema for a collection of Organizations
8722
9517
  "solution": {
8723
9518
  "type": "number"
8724
9519
  },
9520
+ "integration": {
9521
+ "type": "number"
9522
+ },
8725
9523
  "webhook": {
8726
9524
  "type": "number"
8727
9525
  },
@@ -8866,12 +9664,23 @@ Schema for a collection of Organizations
8866
9664
  "type": "number"
8867
9665
  }
8868
9666
  }
9667
+ },
9668
+ "integration": {
9669
+ "type": "object",
9670
+ "patternProperties": {
9671
+ ".*": {
9672
+ "type": "number"
9673
+ }
9674
+ }
8869
9675
  }
8870
9676
  }
8871
9677
  },
8872
9678
  "solutionCount": {
8873
9679
  "type": "number"
8874
9680
  },
9681
+ "integrationCount": {
9682
+ "type": "number"
9683
+ },
8875
9684
  "webhookCount": {
8876
9685
  "type": "number"
8877
9686
  }
@@ -9093,6 +9902,14 @@ Schema for the result of a payload count request
9093
9902
  "type": "number"
9094
9903
  }
9095
9904
  }
9905
+ },
9906
+ "integration": {
9907
+ "type": "object",
9908
+ "patternProperties": {
9909
+ ".*": {
9910
+ "type": "number"
9911
+ }
9912
+ }
9096
9913
  }
9097
9914
  }
9098
9915
  }