losant_rest 1.8.4 → 1.8.5

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
  SHA256:
3
- metadata.gz: fe95827ac96b4a7c78e2d3637caeacea7905562315e7a67a0ae1a21b94729793
4
- data.tar.gz: 7340751cac41882c11eaad043049edbfa013cc08f4f6f6a3f12f24f2c7319eed
3
+ metadata.gz: 23c8728a224f810eeec0a7943f3eb891795292b983a2eca3f25f1ad775876728
4
+ data.tar.gz: 8f28f88835dd65b5343227fb0a9599e80fc325683928518abc9eec4b8116668f
5
5
  SHA512:
6
- metadata.gz: bd0d606a92dec82b7fa671c7dcc6c5dde9a802a2484d439ec20e774c48a9efb38461b03d8e673ab264c94d59187b8e2a51aa55cc5fc3154d356805833a482b03
7
- data.tar.gz: bc12bfea9c17090e70fe3847db8aa4c904678185625c56b5f009b2be2fbbc35df2ba03f1f855391b7c6cbf51f81b815c3fc1c94628a0aee62773381508a2c368
6
+ metadata.gz: 2c8bcb8a73d53a6223d984273769afd2a940f44024dfe8e310d96ae9ad6081a4d4532095ab8df625c8d6433cdf509146ac7364760524278e9103f517eb812574
7
+ data.tar.gz: 4ca229270f93a2225ec39067dd167330cce601b08053b32f3bbc4a9399b2ffef675b86f3eeaf4a897cc83928c93382805a906c088a3de94775993441869106d9
data/docs/_schemas.md CHANGED
@@ -26,6 +26,7 @@
26
26
  * [Dashboard Context Instance](#dashboard-context-instance)
27
27
  * [Dashboard Patch](#dashboard-patch)
28
28
  * [Dashboard Post](#dashboard-post)
29
+ * [Dashboard Send Report](#dashboard-send-report)
29
30
  * [Dashboards](#dashboards)
30
31
  * [Data Table](#data-table)
31
32
  * [Data Table Column](#data-table-column)
@@ -167,6 +168,8 @@
167
168
  * [Time Series Query](#time-series-query)
168
169
  * [User Credentials](#user-credentials)
169
170
  * [User Post](#user-post)
171
+ * [Validate Context Error](#validate-context-error)
172
+ * [Validate Context Success](#validate-context-success)
170
173
  * [Virtual Button Press](#virtual-button-press)
171
174
  * [Webhook](#webhook)
172
175
  * [Webhook Patch](#webhook-patch)
@@ -3072,9 +3075,6 @@ Schema for a composite Device state
3072
3075
  ]
3073
3076
  }
3074
3077
  ]
3075
- },
3076
- "relayId": {
3077
- "type": "string"
3078
3078
  }
3079
3079
  }
3080
3080
  }
@@ -3405,6 +3405,9 @@ Schema for a single Dashboard
3405
3405
  "additionalProperties": false
3406
3406
  },
3407
3407
  "maxItems": 100
3408
+ },
3409
+ "includeFullDevice": {
3410
+ "type": "boolean"
3408
3411
  }
3409
3412
  },
3410
3413
  "additionalProperties": false
@@ -3430,13 +3433,18 @@ Schema for a single Dashboard
3430
3433
  "dashboardId": "575ece2b7ae143cd83dc4a9b",
3431
3434
  "creationDate": "2016-06-13T04:00:00.000Z",
3432
3435
  "lastUpdated": "2016-06-13T04:00:00.000Z",
3433
- "ownerId": "575ed70c7ae143cd83dc4aa9",
3434
- "ownerType": "user",
3436
+ "organizationName": "Losant",
3437
+ "organizationIconColor": "#284fff",
3438
+ "ownerType": "organization",
3439
+ "ownerId": "58238ff2fe7b4b01009a0554",
3435
3440
  "name": "My Dashboard",
3436
3441
  "description": "The best dashboard description",
3437
3442
  "refreshRate": 60,
3438
3443
  "public": false,
3444
+ "isPasswordProtected": false,
3445
+ "defaultTheme": "light",
3439
3446
  "blocks": [],
3447
+ "_currentRole": "admin",
3440
3448
  "reportConfigs": [
3441
3449
  {
3442
3450
  "toEmail": [
@@ -3446,6 +3454,88 @@ Schema for a single Dashboard
3446
3454
  "theme": "dark",
3447
3455
  "subject": "Daily Dashboard Report"
3448
3456
  }
3457
+ ],
3458
+ "contextConfiguration": [
3459
+ {
3460
+ "validationEnabled": true,
3461
+ "validationConfig": {
3462
+ "deviceIds": [
3463
+ "589de9bca1975a00017b2293"
3464
+ ],
3465
+ "deviceTags": [
3466
+ {
3467
+ "key": "type",
3468
+ "value": "Weather Station"
3469
+ }
3470
+ ],
3471
+ "includeFullDevice": true
3472
+ },
3473
+ "name": "deviceId-withIdAndTagValidationAndIncludeFullDevice",
3474
+ "type": "deviceId",
3475
+ "applicationId": "589de7d2a1975a00017b227f",
3476
+ "defaultValue": "589de9bca1975a00017b2295"
3477
+ },
3478
+ {
3479
+ "validationEnabled": false,
3480
+ "validationConfig": {
3481
+ "includeFullDevice": false
3482
+ },
3483
+ "name": "deviceId-noValidationNoFullDevice",
3484
+ "type": "deviceId",
3485
+ "applicationId": "589de7d2a1975a00017b227f",
3486
+ "defaultValue": "589de9bca1975a00017b2295"
3487
+ },
3488
+ {
3489
+ "validationEnabled": true,
3490
+ "validationConfig": {
3491
+ "attributes": [
3492
+ "dew-point",
3493
+ "feels-like",
3494
+ "humidity",
3495
+ "location",
3496
+ "pressure",
3497
+ "temp",
3498
+ "visibility",
3499
+ "wind-speed"
3500
+ ]
3501
+ },
3502
+ "name": "attr",
3503
+ "type": "deviceAttribute",
3504
+ "applicationId": "589de7d2a1975a00017b227f",
3505
+ "defaultValue": "temp"
3506
+ },
3507
+ {
3508
+ "validationEnabled": true,
3509
+ "validationConfig": {
3510
+ "deviceTags": [
3511
+ {
3512
+ "key": "DeviceRecipe",
3513
+ "value": "Weather Station"
3514
+ },
3515
+ {
3516
+ "key": "region"
3517
+ }
3518
+ ]
3519
+ },
3520
+ "name": "deviceTag-withValidation",
3521
+ "type": "deviceTag",
3522
+ "applicationId": "589de7d2a1975a00017b227f",
3523
+ "defaultValue": {
3524
+ "key": "DeviceRecipe",
3525
+ "value": "Weather Station"
3526
+ }
3527
+ },
3528
+ {
3529
+ "validationEnabled": false,
3530
+ "validationConfig": {},
3531
+ "name": "deviceTag-noValidation",
3532
+ "type": "deviceTag",
3533
+ "applicationId": "589de7d2a1975a00017b227f",
3534
+ "defaultValue": {
3535
+ "key": "DeviceRecipe",
3536
+ "value": "Weather Station"
3537
+ }
3538
+ }
3449
3539
  ]
3450
3540
  }
3451
3541
  ```
@@ -3769,6 +3859,9 @@ Schema for the body of a Dashboard modification request
3769
3859
  "additionalProperties": false
3770
3860
  },
3771
3861
  "maxItems": 100
3862
+ },
3863
+ "includeFullDevice": {
3864
+ "type": "boolean"
3772
3865
  }
3773
3866
  },
3774
3867
  "additionalProperties": false
@@ -4073,6 +4166,9 @@ Schema for the body of a Dashboard creation request
4073
4166
  "additionalProperties": false
4074
4167
  },
4075
4168
  "maxItems": 100
4169
+ },
4170
+ "includeFullDevice": {
4171
+ "type": "boolean"
4076
4172
  }
4077
4173
  },
4078
4174
  "additionalProperties": false
@@ -4105,6 +4201,68 @@ Schema for the body of a Dashboard creation request
4105
4201
 
4106
4202
  <br/>
4107
4203
 
4204
+ ## Dashboard Send Report
4205
+
4206
+ Schema for the body of a Dashboard report request
4207
+
4208
+ ### <a name="dashboard-send-report-schema"></a> Schema
4209
+
4210
+ ```json
4211
+ {
4212
+ "$schema": "http://json-schema.org/draft-04/schema#",
4213
+ "type": "object",
4214
+ "required": [
4215
+ "toEmail"
4216
+ ],
4217
+ "properties": {
4218
+ "toEmail": {
4219
+ "type": "array",
4220
+ "min": 1,
4221
+ "max": 10,
4222
+ "items": {
4223
+ "type": "string",
4224
+ "format": "email",
4225
+ "maxLength": 1024
4226
+ }
4227
+ },
4228
+ "subject": {
4229
+ "type": "string",
4230
+ "max": 255
4231
+ },
4232
+ "message": {
4233
+ "type": "string",
4234
+ "max": 32767
4235
+ },
4236
+ "theme": {
4237
+ "type": "string",
4238
+ "enum": [
4239
+ "dark",
4240
+ "light"
4241
+ ]
4242
+ },
4243
+ "time": {
4244
+ "type": "number"
4245
+ }
4246
+ },
4247
+ "additionalProperties": false
4248
+ }
4249
+ ```
4250
+ ### <a name="dashboard-send-report-example"></a> Example
4251
+
4252
+ ```json
4253
+ {
4254
+ "toEmail": [
4255
+ "test@email.com"
4256
+ ],
4257
+ "subject": "Dashboard Report",
4258
+ "message": "Lookit",
4259
+ "time": 1551887386704,
4260
+ "theme": "dark"
4261
+ }
4262
+ ```
4263
+
4264
+ <br/>
4265
+
4108
4266
  ## Dashboards
4109
4267
 
4110
4268
  Schema for a collection of Dashboards
@@ -4418,6 +4576,9 @@ Schema for a collection of Dashboards
4418
4576
  "additionalProperties": false
4419
4577
  },
4420
4578
  "maxItems": 100
4579
+ },
4580
+ "includeFullDevice": {
4581
+ "type": "boolean"
4421
4582
  }
4422
4583
  },
4423
4584
  "additionalProperties": false
@@ -4484,13 +4645,18 @@ Schema for a collection of Dashboards
4484
4645
  "dashboardId": "575ece2b7ae143cd83dc4a9b",
4485
4646
  "creationDate": "2016-06-13T04:00:00.000Z",
4486
4647
  "lastUpdated": "2016-06-13T04:00:00.000Z",
4487
- "ownerId": "575ed70c7ae143cd83dc4aa9",
4488
- "ownerType": "user",
4648
+ "organizationName": "Losant",
4649
+ "organizationIconColor": "#284fff",
4650
+ "ownerType": "organization",
4651
+ "ownerId": "58238ff2fe7b4b01009a0554",
4489
4652
  "name": "My Dashboard",
4490
4653
  "description": "The best dashboard description",
4491
4654
  "refreshRate": 60,
4492
4655
  "public": false,
4656
+ "isPasswordProtected": false,
4657
+ "defaultTheme": "light",
4493
4658
  "blocks": [],
4659
+ "_currentRole": "admin",
4494
4660
  "reportConfigs": [
4495
4661
  {
4496
4662
  "toEmail": [
@@ -4500,6 +4666,88 @@ Schema for a collection of Dashboards
4500
4666
  "theme": "dark",
4501
4667
  "subject": "Daily Dashboard Report"
4502
4668
  }
4669
+ ],
4670
+ "contextConfiguration": [
4671
+ {
4672
+ "validationEnabled": true,
4673
+ "validationConfig": {
4674
+ "deviceIds": [
4675
+ "589de9bca1975a00017b2293"
4676
+ ],
4677
+ "deviceTags": [
4678
+ {
4679
+ "key": "type",
4680
+ "value": "Weather Station"
4681
+ }
4682
+ ],
4683
+ "includeFullDevice": true
4684
+ },
4685
+ "name": "deviceId-withIdAndTagValidationAndIncludeFullDevice",
4686
+ "type": "deviceId",
4687
+ "applicationId": "589de7d2a1975a00017b227f",
4688
+ "defaultValue": "589de9bca1975a00017b2295"
4689
+ },
4690
+ {
4691
+ "validationEnabled": false,
4692
+ "validationConfig": {
4693
+ "includeFullDevice": false
4694
+ },
4695
+ "name": "deviceId-noValidationNoFullDevice",
4696
+ "type": "deviceId",
4697
+ "applicationId": "589de7d2a1975a00017b227f",
4698
+ "defaultValue": "589de9bca1975a00017b2295"
4699
+ },
4700
+ {
4701
+ "validationEnabled": true,
4702
+ "validationConfig": {
4703
+ "attributes": [
4704
+ "dew-point",
4705
+ "feels-like",
4706
+ "humidity",
4707
+ "location",
4708
+ "pressure",
4709
+ "temp",
4710
+ "visibility",
4711
+ "wind-speed"
4712
+ ]
4713
+ },
4714
+ "name": "attr",
4715
+ "type": "deviceAttribute",
4716
+ "applicationId": "589de7d2a1975a00017b227f",
4717
+ "defaultValue": "temp"
4718
+ },
4719
+ {
4720
+ "validationEnabled": true,
4721
+ "validationConfig": {
4722
+ "deviceTags": [
4723
+ {
4724
+ "key": "DeviceRecipe",
4725
+ "value": "Weather Station"
4726
+ },
4727
+ {
4728
+ "key": "region"
4729
+ }
4730
+ ]
4731
+ },
4732
+ "name": "deviceTag-withValidation",
4733
+ "type": "deviceTag",
4734
+ "applicationId": "589de7d2a1975a00017b227f",
4735
+ "defaultValue": {
4736
+ "key": "DeviceRecipe",
4737
+ "value": "Weather Station"
4738
+ }
4739
+ },
4740
+ {
4741
+ "validationEnabled": false,
4742
+ "validationConfig": {},
4743
+ "name": "deviceTag-noValidation",
4744
+ "type": "deviceTag",
4745
+ "applicationId": "589de7d2a1975a00017b227f",
4746
+ "defaultValue": {
4747
+ "key": "DeviceRecipe",
4748
+ "value": "Weather Station"
4749
+ }
4750
+ }
4503
4751
  ]
4504
4752
  }
4505
4753
  ],
@@ -7190,9 +7438,6 @@ Schema for a single Device state
7190
7438
  }
7191
7439
  ]
7192
7440
  },
7193
- "relayId": {
7194
- "type": "string"
7195
- },
7196
7441
  "meta": {},
7197
7442
  "data": {
7198
7443
  "type": "object",
@@ -7269,9 +7514,6 @@ Schema for a single device state or an array of device states
7269
7514
  }
7270
7515
  ]
7271
7516
  },
7272
- "relayId": {
7273
- "type": "string"
7274
- },
7275
7517
  "meta": {},
7276
7518
  "data": {
7277
7519
  "type": "object",
@@ -7328,9 +7570,6 @@ Schema for a single device state or an array of device states
7328
7570
  }
7329
7571
  ]
7330
7572
  },
7331
- "relayId": {
7332
- "type": "string"
7333
- },
7334
7573
  "meta": {},
7335
7574
  "data": {
7336
7575
  "type": "object",
@@ -7410,9 +7649,6 @@ Schema for an array of Device states
7410
7649
  }
7411
7650
  ]
7412
7651
  },
7413
- "relayId": {
7414
- "type": "string"
7415
- },
7416
7652
  "meta": {},
7417
7653
  "data": {
7418
7654
  "type": "object",
@@ -19599,6 +19835,7 @@ Schema for the body of a Github login request
19599
19835
  "auditLogs.get",
19600
19836
  "dashboard.patch",
19601
19837
  "dashboard.delete",
19838
+ "dashboard.sendReport",
19602
19839
  "dashboards.get",
19603
19840
  "dashboards.post",
19604
19841
  "org.get",
@@ -25169,6 +25406,7 @@ Schema for the body of a User authentication request
25169
25406
  "auditLogs.get",
25170
25407
  "dashboard.patch",
25171
25408
  "dashboard.delete",
25409
+ "dashboard.sendReport",
25172
25410
  "dashboards.get",
25173
25411
  "dashboards.post",
25174
25412
  "org.get",
@@ -25563,6 +25801,7 @@ Schema for the body of a User creation request
25563
25801
  "auditLogs.get",
25564
25802
  "dashboard.patch",
25565
25803
  "dashboard.delete",
25804
+ "dashboard.sendReport",
25566
25805
  "dashboards.get",
25567
25806
  "dashboards.post",
25568
25807
  "org.get",
@@ -25664,6 +25903,253 @@ Schema for the body of a User creation request
25664
25903
 
25665
25904
  <br/>
25666
25905
 
25906
+ ## Validate Context Error
25907
+
25908
+ Schema for the result of a validateContext call when invalid context is passed
25909
+
25910
+ ### <a name="validate-context-error-schema"></a> Schema
25911
+
25912
+ ```json
25913
+ {
25914
+ "$schema": "http://json-schema.org/draft-04/schema#",
25915
+ "type": "object",
25916
+ "properties": {
25917
+ "type": {
25918
+ "type": "string"
25919
+ },
25920
+ "message": {
25921
+ "type": "string"
25922
+ },
25923
+ "ctx": {
25924
+ "type": "object",
25925
+ "patternProperties": {
25926
+ "^[0-9a-zA-Z_-]{1,255}$": {
25927
+ "anyOf": [
25928
+ [
25929
+ {
25930
+ "type": "string",
25931
+ "maxLength": 32767
25932
+ },
25933
+ {
25934
+ "type": "number"
25935
+ },
25936
+ {
25937
+ "type": "object",
25938
+ "properties": {
25939
+ "key": {
25940
+ "type": "string",
25941
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
25942
+ },
25943
+ "value": {
25944
+ "type": "string",
25945
+ "minLength": 1,
25946
+ "maxLength": 255
25947
+ }
25948
+ },
25949
+ "additionalProperties": false
25950
+ }
25951
+ ],
25952
+ {
25953
+ "type": "object",
25954
+ "properties": {
25955
+ "id": {
25956
+ "type": "string",
25957
+ "pattern": "^[A-Fa-f\\d]{24}$"
25958
+ },
25959
+ "name": {
25960
+ "type": "string",
25961
+ "minLength": 1,
25962
+ "maxLength": 255
25963
+ },
25964
+ "description": {
25965
+ "type": "string",
25966
+ "maxLength": 32767
25967
+ },
25968
+ "tags": {
25969
+ "type": "object",
25970
+ "patternProperties": {
25971
+ "^[0-9a-zA-Z_-]{1,255}$": {
25972
+ "type": "array",
25973
+ "minItems": 1,
25974
+ "items": {
25975
+ "type": "string",
25976
+ "minLength": 1,
25977
+ "maxLength": 255
25978
+ }
25979
+ }
25980
+ }
25981
+ }
25982
+ }
25983
+ }
25984
+ ]
25985
+ }
25986
+ },
25987
+ "additionalProperties": false
25988
+ }
25989
+ }
25990
+ }
25991
+ ```
25992
+ ### <a name="validate-context-error-example"></a> Example
25993
+
25994
+ ```json
25995
+ {
25996
+ "type": "Validation",
25997
+ "message": "deviceId-noValidationNoFullDevice (589de9bca1975a00017b22ff) is not a valid deviceId",
25998
+ "ctx": {
25999
+ "deviceId-withIdAndTagValidationAndIncludeFullDevice": {
26000
+ "id": "589de9bca1975a00017b2295",
26001
+ "name": "Cincinnati",
26002
+ "tags": {
26003
+ "type": [
26004
+ "Weather Station"
26005
+ ],
26006
+ "region": [
26007
+ "Midwest"
26008
+ ],
26009
+ "DeviceRecipe": [
26010
+ "Weather Station"
26011
+ ]
26012
+ }
26013
+ },
26014
+ "deviceId-noValidationNoFullDevice": "589de9bca1975a00017b2296",
26015
+ "deviceAttribute": "dew-point",
26016
+ "deviceTag-withValidation": {
26017
+ "key": "DeviceRecipe",
26018
+ "value": "Weather Station"
26019
+ },
26020
+ "deviceTag-noValidation": {
26021
+ "key": "DeviceRecipe",
26022
+ "value": "Weather Station"
26023
+ }
26024
+ }
26025
+ }
26026
+ ```
26027
+
26028
+ <br/>
26029
+
26030
+ ## Validate Context Success
26031
+
26032
+ Schema for the result of a successful validateContext call
26033
+
26034
+ ### <a name="validate-context-success-schema"></a> Schema
26035
+
26036
+ ```json
26037
+ {
26038
+ "$schema": "http://json-schema.org/draft-04/schema#",
26039
+ "type": "object",
26040
+ "properties": {
26041
+ "success": {
26042
+ "type": "boolean",
26043
+ "enum": [
26044
+ true
26045
+ ]
26046
+ },
26047
+ "ctx": {
26048
+ "type": "object",
26049
+ "patternProperties": {
26050
+ "^[0-9a-zA-Z_-]{1,255}$": {
26051
+ "anyOf": [
26052
+ [
26053
+ {
26054
+ "type": "string",
26055
+ "maxLength": 32767
26056
+ },
26057
+ {
26058
+ "type": "number"
26059
+ },
26060
+ {
26061
+ "type": "object",
26062
+ "properties": {
26063
+ "key": {
26064
+ "type": "string",
26065
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
26066
+ },
26067
+ "value": {
26068
+ "type": "string",
26069
+ "minLength": 1,
26070
+ "maxLength": 255
26071
+ }
26072
+ },
26073
+ "additionalProperties": false
26074
+ }
26075
+ ],
26076
+ {
26077
+ "type": "object",
26078
+ "properties": {
26079
+ "id": {
26080
+ "type": "string",
26081
+ "pattern": "^[A-Fa-f\\d]{24}$"
26082
+ },
26083
+ "name": {
26084
+ "type": "string",
26085
+ "minLength": 1,
26086
+ "maxLength": 255
26087
+ },
26088
+ "description": {
26089
+ "type": "string",
26090
+ "maxLength": 32767
26091
+ },
26092
+ "tags": {
26093
+ "type": "object",
26094
+ "patternProperties": {
26095
+ "^[0-9a-zA-Z_-]{1,255}$": {
26096
+ "type": "array",
26097
+ "minItems": 1,
26098
+ "items": {
26099
+ "type": "string",
26100
+ "minLength": 1,
26101
+ "maxLength": 255
26102
+ }
26103
+ }
26104
+ }
26105
+ }
26106
+ }
26107
+ }
26108
+ ]
26109
+ }
26110
+ },
26111
+ "additionalProperties": false
26112
+ }
26113
+ }
26114
+ }
26115
+ ```
26116
+ ### <a name="validate-context-success-example"></a> Example
26117
+
26118
+ ```json
26119
+ {
26120
+ "success": true,
26121
+ "ctx": {
26122
+ "deviceId-withIdAndTagValidationAndIncludeFullDevice": {
26123
+ "id": "589de9bca1975a00017b2295",
26124
+ "name": "Cincinnati",
26125
+ "tags": {
26126
+ "type": [
26127
+ "Weather Station"
26128
+ ],
26129
+ "region": [
26130
+ "Midwest"
26131
+ ],
26132
+ "DeviceRecipe": [
26133
+ "Weather Station"
26134
+ ]
26135
+ }
26136
+ },
26137
+ "deviceId-noValidationNoFullDevice": "589de9bca1975a00017b2296",
26138
+ "deviceAttribute": "dew-point",
26139
+ "deviceTag-withValidation": {
26140
+ "key": "DeviceRecipe",
26141
+ "value": "Weather Station"
26142
+ },
26143
+ "deviceTag-noValidation": {
26144
+ "key": "DeviceRecipe",
26145
+ "value": "Weather Station"
26146
+ }
26147
+ }
26148
+ }
26149
+ ```
26150
+
26151
+ <br/>
26152
+
25667
26153
  ## Virtual Button Press
25668
26154
 
25669
26155
  Schema for the body of a request to press a Workflow virtual button