losant_rest 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +23 -0
  3. data/.rbenv-version +1 -0
  4. data/.travis.yml +5 -0
  5. data/Gemfile +2 -0
  6. data/LICENSE +21 -0
  7. data/README.md +237 -0
  8. data/Rakefile +12 -0
  9. data/docs/_schemas.md +6348 -0
  10. data/docs/accessToken.md +107 -0
  11. data/docs/accessTokens.md +68 -0
  12. data/docs/application.md +107 -0
  13. data/docs/applicationKey.md +115 -0
  14. data/docs/applicationKeys.md +81 -0
  15. data/docs/applications.md +76 -0
  16. data/docs/auth.md +104 -0
  17. data/docs/dashboard.md +107 -0
  18. data/docs/dashboards.md +76 -0
  19. data/docs/data.md +78 -0
  20. data/docs/device.md +300 -0
  21. data/docs/deviceRecipe.md +152 -0
  22. data/docs/deviceRecipes.md +81 -0
  23. data/docs/devices.md +117 -0
  24. data/docs/event.md +115 -0
  25. data/docs/events.md +153 -0
  26. data/docs/flow.md +261 -0
  27. data/docs/flows.md +81 -0
  28. data/docs/me.md +312 -0
  29. data/docs/org.md +279 -0
  30. data/docs/orgs.md +75 -0
  31. data/docs/webhook.md +115 -0
  32. data/docs/webhooks.md +81 -0
  33. data/examples/auth.rb +32 -0
  34. data/examples/list_devices.rb +45 -0
  35. data/lib/losant_rest/access_token.rb +122 -0
  36. data/lib/losant_rest/access_tokens.rb +80 -0
  37. data/lib/losant_rest/application.rb +122 -0
  38. data/lib/losant_rest/application_key.rb +128 -0
  39. data/lib/losant_rest/application_keys.rb +98 -0
  40. data/lib/losant_rest/applications.rb +94 -0
  41. data/lib/losant_rest/auth.rb +122 -0
  42. data/lib/losant_rest/client.rb +132 -0
  43. data/lib/losant_rest/dashboard.rb +122 -0
  44. data/lib/losant_rest/dashboards.rb +94 -0
  45. data/lib/losant_rest/data.rb +89 -0
  46. data/lib/losant_rest/device.rb +336 -0
  47. data/lib/losant_rest/device_recipe.rb +169 -0
  48. data/lib/losant_rest/device_recipes.rb +98 -0
  49. data/lib/losant_rest/devices.rb +139 -0
  50. data/lib/losant_rest/error.rb +12 -0
  51. data/lib/losant_rest/event.rb +128 -0
  52. data/lib/losant_rest/events.rb +183 -0
  53. data/lib/losant_rest/flow.rb +290 -0
  54. data/lib/losant_rest/flows.rb +98 -0
  55. data/lib/losant_rest/me.rb +362 -0
  56. data/lib/losant_rest/org.rb +314 -0
  57. data/lib/losant_rest/orgs.rb +92 -0
  58. data/lib/losant_rest/utils.rb +22 -0
  59. data/lib/losant_rest/version.rb +3 -0
  60. data/lib/losant_rest/webhook.rb +128 -0
  61. data/lib/losant_rest/webhooks.rb +98 -0
  62. data/lib/losant_rest.rb +43 -0
  63. data/losant_rest.gemspec +25 -0
  64. data/schemas/accessToken.json +52 -0
  65. data/schemas/accessTokenPatch.json +19 -0
  66. data/schemas/accessTokenPost.json +32 -0
  67. data/schemas/accessTokens.json +65 -0
  68. data/schemas/application.json +65 -0
  69. data/schemas/applicationKey.json +68 -0
  70. data/schemas/applicationKeyPatch.json +18 -0
  71. data/schemas/applicationKeyPost.json +36 -0
  72. data/schemas/applicationKeys.json +110 -0
  73. data/schemas/applicationPatch.json +16 -0
  74. data/schemas/applicationPost.json +23 -0
  75. data/schemas/applications.json +103 -0
  76. data/schemas/authedDevice.json +34 -0
  77. data/schemas/authedUser.json +18 -0
  78. data/schemas/dashboard.json +95 -0
  79. data/schemas/dashboardPatch.json +69 -0
  80. data/schemas/dashboardPost.json +76 -0
  81. data/schemas/dashboards.json +133 -0
  82. data/schemas/device.json +113 -0
  83. data/schemas/deviceCommand.json +20 -0
  84. data/schemas/deviceCommands.json +25 -0
  85. data/schemas/deviceCredentials.json +22 -0
  86. data/schemas/deviceLog.json +28 -0
  87. data/schemas/devicePatch.json +78 -0
  88. data/schemas/devicePost.json +81 -0
  89. data/schemas/deviceRecipe.json +106 -0
  90. data/schemas/deviceRecipeBulkCreate.json +15 -0
  91. data/schemas/deviceRecipeBulkCreatePost.json +19 -0
  92. data/schemas/deviceRecipePatch.json +87 -0
  93. data/schemas/deviceRecipePost.json +90 -0
  94. data/schemas/deviceRecipes.json +148 -0
  95. data/schemas/deviceState.json +30 -0
  96. data/schemas/deviceStates.json +35 -0
  97. data/schemas/deviceTagFilter.json +19 -0
  98. data/schemas/devices.json +155 -0
  99. data/schemas/disableTwoFactorAuth.json +20 -0
  100. data/schemas/enableTwoFactorAuth.json +21 -0
  101. data/schemas/error.json +12 -0
  102. data/schemas/event.json +115 -0
  103. data/schemas/eventPatch.json +20 -0
  104. data/schemas/eventPost.json +39 -0
  105. data/schemas/events.json +165 -0
  106. data/schemas/flow.json +137 -0
  107. data/schemas/flowLog.json +46 -0
  108. data/schemas/flowPatch.json +107 -0
  109. data/schemas/flowPost.json +110 -0
  110. data/schemas/flowStorageEntries.json +7 -0
  111. data/schemas/flowStorageEntry.json +16 -0
  112. data/schemas/flows.json +179 -0
  113. data/schemas/githubLogin.json +14 -0
  114. data/schemas/lastValueData.json +34 -0
  115. data/schemas/lastValueQuery.json +36 -0
  116. data/schemas/me.json +173 -0
  117. data/schemas/mePatch.json +43 -0
  118. data/schemas/multiDeviceCommand.json +45 -0
  119. data/schemas/org.json +81 -0
  120. data/schemas/orgInvitePost.json +24 -0
  121. data/schemas/orgInvites.json +36 -0
  122. data/schemas/orgMemberPatch.json +23 -0
  123. data/schemas/orgPatch.json +16 -0
  124. data/schemas/orgPost.json +19 -0
  125. data/schemas/orgs.json +119 -0
  126. data/schemas/recentItem.json +27 -0
  127. data/schemas/recentItemList.json +36 -0
  128. data/schemas/success.json +12 -0
  129. data/schemas/timeSeriesData.json +89 -0
  130. data/schemas/timeSeriesQuery.json +64 -0
  131. data/schemas/userCredentials.json +25 -0
  132. data/schemas/virtualButtonPress.json +14 -0
  133. data/schemas/webhook.json +52 -0
  134. data/schemas/webhookPatch.json +29 -0
  135. data/schemas/webhookPost.json +32 -0
  136. data/schemas/webhooks.json +94 -0
  137. data/test/basic_test.rb +67 -0
  138. data/test/test_helper.rb +14 -0
  139. metadata +239 -0
data/schemas/org.json ADDED
@@ -0,0 +1,81 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "pattern": "^[A-Fa-f\\d]{24}$"
8
+ },
9
+ "orgId": {
10
+ "type": "string",
11
+ "pattern": "^[A-Fa-f\\d]{24}$"
12
+ },
13
+ "creationDate": {
14
+ "type": "string",
15
+ "format": "date-time"
16
+ },
17
+ "lastUpdated": {
18
+ "type": "string",
19
+ "format": "date-time"
20
+ },
21
+ "name": {
22
+ "type": "string",
23
+ "minLength": 1,
24
+ "maxLength": 255
25
+ },
26
+ "description": {
27
+ "type": "string",
28
+ "maxLength": 32767
29
+ },
30
+ "members": {
31
+ "type": "array",
32
+ "items": {
33
+ "type": "object",
34
+ "properties": {
35
+ "userId": {
36
+ "type": "string",
37
+ "pattern": "^[A-Fa-f\\d]{24}$"
38
+ },
39
+ "firstName": {
40
+ "type": "string",
41
+ "minLength": 1,
42
+ "maxLength": 1024
43
+ },
44
+ "lastName": {
45
+ "type": "string",
46
+ "minLength": 1,
47
+ "maxLength": 1024
48
+ },
49
+ "email": {
50
+ "type": "string",
51
+ "format": "email",
52
+ "maxLength": 1024
53
+ },
54
+ "avatarUrl": {
55
+ "type": "string",
56
+ "format": "url"
57
+ },
58
+ "role": {
59
+ "type": "string",
60
+ "enum": [
61
+ "admin",
62
+ "edit",
63
+ "view"
64
+ ]
65
+ }
66
+ }
67
+ }
68
+ },
69
+ "summary": {
70
+ "type": "object",
71
+ "properties": {
72
+ "appCount": {
73
+ "type": "number"
74
+ },
75
+ "dashCount": {
76
+ "type": "number"
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "email": {
6
+ "type": "string",
7
+ "format": "email",
8
+ "maxLength": 1024
9
+ },
10
+ "role": {
11
+ "type": "string",
12
+ "enum": [
13
+ "admin",
14
+ "edit",
15
+ "view"
16
+ ]
17
+ }
18
+ },
19
+ "additionalProperties": false,
20
+ "required": [
21
+ "email",
22
+ "role"
23
+ ]
24
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "array",
4
+ "items": {
5
+ "type": "object",
6
+ "properties": {
7
+ "id": {
8
+ "type": "string",
9
+ "pattern": "^[A-Fa-f\\d]{24}$"
10
+ },
11
+ "email": {
12
+ "type": "string",
13
+ "format": "email",
14
+ "maxLength": 1024
15
+ },
16
+ "role": {
17
+ "type": "string",
18
+ "enum": [
19
+ "admin",
20
+ "edit",
21
+ "view"
22
+ ]
23
+ },
24
+ "inviteDate": {
25
+ "type": "string",
26
+ "format": "date-time"
27
+ },
28
+ "ttl": {
29
+ "type": "number"
30
+ },
31
+ "hasExpired": {
32
+ "type": "boolean"
33
+ }
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "userId": {
6
+ "type": "string",
7
+ "pattern": "^[A-Fa-f\\d]{24}$"
8
+ },
9
+ "role": {
10
+ "type": "string",
11
+ "enum": [
12
+ "admin",
13
+ "edit",
14
+ "view"
15
+ ]
16
+ }
17
+ },
18
+ "additionalProperties": false,
19
+ "required": [
20
+ "userId",
21
+ "role"
22
+ ]
23
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "name": {
6
+ "type": "string",
7
+ "minLength": 1,
8
+ "maxLength": 255
9
+ },
10
+ "description": {
11
+ "type": "string",
12
+ "maxLength": 32767
13
+ }
14
+ },
15
+ "additionalProperties": false
16
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "name": {
6
+ "type": "string",
7
+ "minLength": 1,
8
+ "maxLength": 255
9
+ },
10
+ "description": {
11
+ "type": "string",
12
+ "maxLength": 32767
13
+ }
14
+ },
15
+ "additionalProperties": false,
16
+ "required": [
17
+ "name"
18
+ ]
19
+ }
data/schemas/orgs.json ADDED
@@ -0,0 +1,119 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "items": {
6
+ "type": "array",
7
+ "items": {
8
+ "title": "Organization",
9
+ "description": "Schema for a single Organization",
10
+ "type": "object",
11
+ "properties": {
12
+ "id": {
13
+ "type": "string",
14
+ "pattern": "^[A-Fa-f\\d]{24}$"
15
+ },
16
+ "orgId": {
17
+ "type": "string",
18
+ "pattern": "^[A-Fa-f\\d]{24}$"
19
+ },
20
+ "creationDate": {
21
+ "type": "string",
22
+ "format": "date-time"
23
+ },
24
+ "lastUpdated": {
25
+ "type": "string",
26
+ "format": "date-time"
27
+ },
28
+ "name": {
29
+ "type": "string",
30
+ "minLength": 1,
31
+ "maxLength": 255
32
+ },
33
+ "description": {
34
+ "type": "string",
35
+ "maxLength": 32767
36
+ },
37
+ "members": {
38
+ "type": "array",
39
+ "items": {
40
+ "type": "object",
41
+ "properties": {
42
+ "userId": {
43
+ "type": "string",
44
+ "pattern": "^[A-Fa-f\\d]{24}$"
45
+ },
46
+ "firstName": {
47
+ "type": "string",
48
+ "minLength": 1,
49
+ "maxLength": 1024
50
+ },
51
+ "lastName": {
52
+ "type": "string",
53
+ "minLength": 1,
54
+ "maxLength": 1024
55
+ },
56
+ "email": {
57
+ "type": "string",
58
+ "format": "email",
59
+ "maxLength": 1024
60
+ },
61
+ "avatarUrl": {
62
+ "type": "string",
63
+ "format": "url"
64
+ },
65
+ "role": {
66
+ "type": "string",
67
+ "enum": [
68
+ "admin",
69
+ "edit",
70
+ "view"
71
+ ]
72
+ }
73
+ }
74
+ }
75
+ },
76
+ "summary": {
77
+ "type": "object",
78
+ "properties": {
79
+ "appCount": {
80
+ "type": "number"
81
+ },
82
+ "dashCount": {
83
+ "type": "number"
84
+ }
85
+ }
86
+ }
87
+ }
88
+ }
89
+ },
90
+ "count": {
91
+ "type": "integer"
92
+ },
93
+ "totalCount": {
94
+ "type": "integer"
95
+ },
96
+ "perPage": {
97
+ "type": "integer"
98
+ },
99
+ "page": {
100
+ "type": "integer"
101
+ },
102
+ "filter": {
103
+ "type": "string"
104
+ },
105
+ "filterField": {
106
+ "type": "string"
107
+ },
108
+ "sortField": {
109
+ "type": "string"
110
+ },
111
+ "sortDirection": {
112
+ "type": "string",
113
+ "enum": [
114
+ "asc",
115
+ "desc"
116
+ ]
117
+ }
118
+ }
119
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "itemType": {
6
+ "type": "string",
7
+ "enum": [
8
+ "application",
9
+ "device",
10
+ "flow",
11
+ "dashboard"
12
+ ]
13
+ },
14
+ "parentId": {
15
+ "type": "string",
16
+ "pattern": "^[A-Fa-f\\d]{24}$"
17
+ },
18
+ "itemId": {
19
+ "type": "string",
20
+ "pattern": "^[A-Fa-f\\d]{24}$"
21
+ }
22
+ },
23
+ "required": [
24
+ "itemType",
25
+ "itemId"
26
+ ]
27
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "itemType": {
6
+ "type": "string",
7
+ "enum": [
8
+ "application",
9
+ "device",
10
+ "flow",
11
+ "dashboard"
12
+ ]
13
+ },
14
+ "parentId": {
15
+ "type": "string",
16
+ "pattern": "^[A-Fa-f\\d]{24}$"
17
+ },
18
+ "items": {
19
+ "type": "array",
20
+ "items": {
21
+ "type": "object",
22
+ "properties": {
23
+ "id": {
24
+ "type": "string",
25
+ "pattern": "^[A-Fa-f\\d]{24}$"
26
+ },
27
+ "name": {
28
+ "type": "string",
29
+ "minLength": 1,
30
+ "maxLength": 255
31
+ }
32
+ }
33
+ }
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "success": {
6
+ "type": "boolean",
7
+ "enum": [
8
+ true
9
+ ]
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,89 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "start": {
6
+ "type": "string",
7
+ "format": "date-time"
8
+ },
9
+ "end": {
10
+ "type": "string",
11
+ "format": "date-time"
12
+ },
13
+ "resolution": {
14
+ "type": "number"
15
+ },
16
+ "aggregation": {
17
+ "type": "string",
18
+ "enum": [
19
+ "FIRST",
20
+ "LAST",
21
+ "COUNT",
22
+ "MAX",
23
+ "MIN",
24
+ "MEDIAN",
25
+ "MEAN",
26
+ "SUM"
27
+ ]
28
+ },
29
+ "devices": {
30
+ "type": "object",
31
+ "patternProperties": {
32
+ "^[A-Fa-f\\d]{24}$": {
33
+ "type": "object",
34
+ "properties": {
35
+ "name": {
36
+ "type": "string",
37
+ "minLength": 1,
38
+ "maxLength": 255
39
+ },
40
+ "points": {
41
+ "type": "array",
42
+ "items": {
43
+ "type": "object",
44
+ "properties": {
45
+ "time": {
46
+ "type": "string",
47
+ "format": "date-time"
48
+ },
49
+ "data": {
50
+ "type": "object",
51
+ "patternProperties": {
52
+ "^[0-9a-zA-Z_-]{1,255}$": {
53
+ "type": [
54
+ "number",
55
+ "string",
56
+ "boolean"
57
+ ]
58
+ }
59
+ },
60
+ "additionalProperties": false
61
+ }
62
+ },
63
+ "additionalProperties": false,
64
+ "required": [
65
+ "data",
66
+ "time"
67
+ ]
68
+ }
69
+ }
70
+ },
71
+ "additionalProperties": false,
72
+ "required": [
73
+ "name",
74
+ "points"
75
+ ]
76
+ }
77
+ },
78
+ "additionalProperties": false
79
+ }
80
+ },
81
+ "additionalProperties": false,
82
+ "required": [
83
+ "start",
84
+ "end",
85
+ "resolution",
86
+ "aggregation",
87
+ "devices"
88
+ ]
89
+ }
@@ -0,0 +1,64 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "start": {
6
+ "type": "number"
7
+ },
8
+ "end": {
9
+ "type": "number"
10
+ },
11
+ "duration": {
12
+ "type": "number"
13
+ },
14
+ "resolution": {
15
+ "type": "number"
16
+ },
17
+ "aggregation": {
18
+ "type": "string",
19
+ "enum": [
20
+ "FIRST",
21
+ "LAST",
22
+ "COUNT",
23
+ "MAX",
24
+ "MIN",
25
+ "MEDIAN",
26
+ "MEAN",
27
+ "SUM"
28
+ ]
29
+ },
30
+ "attributes": {
31
+ "type": "array",
32
+ "items": {
33
+ "type": "string",
34
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
35
+ }
36
+ },
37
+ "deviceTags": {
38
+ "type": "array",
39
+ "items": {
40
+ "type": "object",
41
+ "properties": {
42
+ "key": {
43
+ "type": "string",
44
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
45
+ },
46
+ "value": {
47
+ "type": "string",
48
+ "minLength": 1,
49
+ "maxLength": 255
50
+ }
51
+ },
52
+ "additionalProperties": false
53
+ }
54
+ },
55
+ "deviceIds": {
56
+ "type": "array",
57
+ "items": {
58
+ "type": "string",
59
+ "pattern": "^[A-Fa-f\\d]{24}$"
60
+ }
61
+ }
62
+ },
63
+ "additionalProperties": false
64
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "email": {
6
+ "type": "string",
7
+ "format": "email",
8
+ "maxLength": 1024
9
+ },
10
+ "password": {
11
+ "type": "string",
12
+ "minLength": 8,
13
+ "maxLength": 2048
14
+ },
15
+ "twoFactorCode": {
16
+ "type": "string",
17
+ "maxLength": 2048
18
+ }
19
+ },
20
+ "required": [
21
+ "email",
22
+ "password"
23
+ ],
24
+ "additionalProperties": false
25
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "key": {
6
+ "type": "string"
7
+ },
8
+ "payload": {}
9
+ },
10
+ "required": [
11
+ "key"
12
+ ],
13
+ "additionalProperties": false
14
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "pattern": "^[A-Fa-f\\d]{24}$"
8
+ },
9
+ "webhookId": {
10
+ "type": "string",
11
+ "pattern": "^[A-Fa-f\\d]{24}$"
12
+ },
13
+ "applicationId": {
14
+ "type": "string",
15
+ "pattern": "^[A-Fa-f\\d]{24}$"
16
+ },
17
+ "creationDate": {
18
+ "type": "string",
19
+ "format": "date-time"
20
+ },
21
+ "lastUpdated": {
22
+ "type": "string",
23
+ "format": "date-time"
24
+ },
25
+ "name": {
26
+ "type": "string",
27
+ "minLength": 1,
28
+ "maxLength": 255
29
+ },
30
+ "token": {
31
+ "type": "string",
32
+ "minLength": 1
33
+ },
34
+ "responseCode": {
35
+ "type": "integer",
36
+ "minimum": 100,
37
+ "maximum": 599
38
+ },
39
+ "verificationType": {
40
+ "type": "string",
41
+ "enum": [
42
+ "facebook",
43
+ "fitbit",
44
+ "none"
45
+ ]
46
+ },
47
+ "verificationCode": {
48
+ "type": "string",
49
+ "maxLength": 32767
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "name": {
6
+ "type": "string",
7
+ "minLength": 1,
8
+ "maxLength": 255
9
+ },
10
+ "responseCode": {
11
+ "type": "integer",
12
+ "minimum": 100,
13
+ "maximum": 599
14
+ },
15
+ "verificationType": {
16
+ "type": "string",
17
+ "enum": [
18
+ "facebook",
19
+ "fitbit",
20
+ "none"
21
+ ]
22
+ },
23
+ "verificationCode": {
24
+ "type": "string",
25
+ "maxLength": 32767
26
+ }
27
+ },
28
+ "additionalProperties": false
29
+ }