losant_rest 2.1.1 → 2.2.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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/docs/_schemas.md +2158 -55
  3. data/docs/flow.md +1 -0
  4. data/docs/flowVersions.md +1 -0
  5. data/docs/flows.md +1 -0
  6. data/docs/userOauthClient.md +125 -0
  7. data/docs/userOauthClients.md +87 -0
  8. data/lib/platform_rest/client.rb +10 -2
  9. data/lib/platform_rest/flow.rb +2 -0
  10. data/lib/platform_rest/flow_versions.rb +2 -0
  11. data/lib/platform_rest/flows.rb +2 -0
  12. data/lib/platform_rest/user_oauth_client.rb +170 -0
  13. data/lib/platform_rest/user_oauth_clients.rb +132 -0
  14. data/lib/platform_rest/version.rb +1 -1
  15. data/lib/platform_rest.rb +2 -0
  16. data/schemas/apiTokenPost.json +11 -0
  17. data/schemas/applicationDashboardPost.json +142 -11
  18. data/schemas/dashboard.json +142 -11
  19. data/schemas/dashboardPatch.json +142 -11
  20. data/schemas/dashboardPost.json +142 -11
  21. data/schemas/dashboards.json +142 -11
  22. data/schemas/githubLogin.json +11 -0
  23. data/schemas/instance.json +6 -0
  24. data/schemas/instanceOrg.json +12 -0
  25. data/schemas/instanceOrgEntitlement.json +182 -0
  26. data/schemas/instanceOrgEntitlementSync.json +64 -0
  27. data/schemas/instanceOrgs.json +12 -0
  28. data/schemas/instanceSandbox.json +6 -0
  29. data/schemas/instanceSandboxes.json +6 -0
  30. data/schemas/instances.json +6 -0
  31. data/schemas/me.json +15 -0
  32. data/schemas/meEntitlements.json +194 -0
  33. data/schemas/mePatch.json +9 -0
  34. data/schemas/org.json +16 -0
  35. data/schemas/orgPost.json +4 -0
  36. data/schemas/orgs.json +16 -0
  37. data/schemas/samlResponse.json +11 -0
  38. data/schemas/userCredentials.json +11 -0
  39. data/schemas/userOauthClient.json +125 -0
  40. data/schemas/userOauthClientPatch.json +113 -0
  41. data/schemas/userOauthClientPost.json +117 -0
  42. data/schemas/userOauthClients.json +166 -0
  43. data/schemas/userPost.json +20 -0
  44. data/schemas/validateContextError.json +28 -0
  45. data/schemas/validateContextSuccess.json +28 -0
  46. metadata +12 -1
@@ -0,0 +1,194 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "userFound": {
6
+ "type": "boolean"
7
+ },
8
+ "entitlements": {
9
+ "type": "array",
10
+ "items": {
11
+ "title": "Entitlement",
12
+ "type": "object",
13
+ "properties": {
14
+ "entitlementId": {
15
+ "type": "string"
16
+ },
17
+ "expiresAt": {
18
+ "type": "string",
19
+ "format": "date-time"
20
+ },
21
+ "externalOrgId": {
22
+ "type": "integer"
23
+ },
24
+ "externalOrgName": {
25
+ "type": "string"
26
+ },
27
+ "subscriptionName": {
28
+ "type": "string"
29
+ },
30
+ "hasSupport": {
31
+ "type": "boolean"
32
+ },
33
+ "allowedOrgCount": {
34
+ "type": "integer"
35
+ },
36
+ "usedOrgCount": {
37
+ "type": "integer"
38
+ },
39
+ "orgIds": {
40
+ "type": "array",
41
+ "items": {
42
+ "type": "string",
43
+ "pattern": "^[A-Fa-f\\d]{24}$"
44
+ },
45
+ "maxItems": 1000
46
+ },
47
+ "limits": {
48
+ "type": "object",
49
+ "properties": {
50
+ "apitoken": {
51
+ "type": "integer",
52
+ "minimum": 0
53
+ },
54
+ "application": {
55
+ "type": "integer",
56
+ "minimum": 0
57
+ },
58
+ "applicationcertificate": {
59
+ "type": "integer",
60
+ "minimum": 0
61
+ },
62
+ "applicationcertificateauthority": {
63
+ "type": "integer",
64
+ "minimum": 0
65
+ },
66
+ "applicationkey": {
67
+ "type": "integer",
68
+ "minimum": 0
69
+ },
70
+ "credential": {
71
+ "type": "integer",
72
+ "minimum": 0
73
+ },
74
+ "dashboard": {
75
+ "type": "integer",
76
+ "minimum": 0
77
+ },
78
+ "datatable": {
79
+ "type": "integer",
80
+ "minimum": 0
81
+ },
82
+ "device": {
83
+ "type": "integer",
84
+ "minimum": 0
85
+ },
86
+ "devicerecipe": {
87
+ "type": "integer",
88
+ "minimum": 0
89
+ },
90
+ "experiencedomain": {
91
+ "type": "integer",
92
+ "minimum": 0
93
+ },
94
+ "experienceendpoint": {
95
+ "type": "integer",
96
+ "minimum": 0
97
+ },
98
+ "experiencegroup": {
99
+ "type": "integer",
100
+ "minimum": 0
101
+ },
102
+ "experienceslug": {
103
+ "type": "integer",
104
+ "minimum": 0
105
+ },
106
+ "experienceuser": {
107
+ "type": "integer",
108
+ "minimum": 0
109
+ },
110
+ "experienceversion": {
111
+ "type": "integer",
112
+ "minimum": 0
113
+ },
114
+ "experienceview": {
115
+ "type": "integer",
116
+ "minimum": 0
117
+ },
118
+ "file": {
119
+ "type": "integer",
120
+ "minimum": 0
121
+ },
122
+ "flow": {
123
+ "type": "integer",
124
+ "minimum": 0
125
+ },
126
+ "integration": {
127
+ "type": "integer",
128
+ "minimum": 0
129
+ },
130
+ "notebook": {
131
+ "type": "integer",
132
+ "minimum": 0
133
+ },
134
+ "privatefile": {
135
+ "type": "integer",
136
+ "minimum": 0
137
+ },
138
+ "resourcejob": {
139
+ "type": "integer",
140
+ "minimum": 0
141
+ },
142
+ "webhook": {
143
+ "type": "integer",
144
+ "minimum": 0
145
+ },
146
+ "dataTTL": {
147
+ "type": "integer",
148
+ "minimum": 86400
149
+ },
150
+ "member": {
151
+ "type": "integer",
152
+ "minimum": 0
153
+ },
154
+ "payload": {
155
+ "type": "integer",
156
+ "minimum": 0
157
+ },
158
+ "storage": {
159
+ "type": "integer",
160
+ "minimum": 0
161
+ },
162
+ "notebookMinutesPerRun": {
163
+ "type": "integer",
164
+ "minimum": 0
165
+ },
166
+ "notebookMinutesPerMonth": {
167
+ "type": "integer",
168
+ "minimum": 0
169
+ },
170
+ "notebookInParallel": {
171
+ "type": "integer",
172
+ "minimum": 0
173
+ },
174
+ "experienceFlowSlots": {
175
+ "type": "integer",
176
+ "minimum": 0
177
+ },
178
+ "applicationFlowSlots": {
179
+ "type": "integer",
180
+ "minimum": 0
181
+ },
182
+ "systemInterval": {
183
+ "type": "integer",
184
+ "minimum": 5,
185
+ "maximum": 3600
186
+ }
187
+ },
188
+ "additionalProperties": false
189
+ }
190
+ }
191
+ }
192
+ }
193
+ }
194
+ }
data/schemas/mePatch.json CHANGED
@@ -36,6 +36,15 @@
36
36
  "type": "string",
37
37
  "maxLength": 1024
38
38
  },
39
+ "state": {
40
+ "type": "string",
41
+ "maxLength": 1024
42
+ },
43
+ "country": {
44
+ "type": "string",
45
+ "minLength": 1,
46
+ "maxLength": 1024
47
+ },
39
48
  "password": {
40
49
  "type": "string",
41
50
  "minLength": 12,
data/schemas/org.json CHANGED
@@ -275,6 +275,18 @@
275
275
  "type": "integer",
276
276
  "minimum": 5,
277
277
  "maximum": 3600
278
+ },
279
+ "deviceHard": {
280
+ "type": "integer",
281
+ "minimum": 0
282
+ },
283
+ "applicationkeyHard": {
284
+ "type": "integer",
285
+ "minimum": 0
286
+ },
287
+ "applicationcertificateHard": {
288
+ "type": "integer",
289
+ "minimum": 0
278
290
  }
279
291
  },
280
292
  "additionalProperties": false
@@ -549,6 +561,10 @@
549
561
  }
550
562
  }
551
563
  },
564
+ "entitlementOrgId": {
565
+ "type": "string",
566
+ "maxLength": 1024
567
+ },
552
568
  "planId": {
553
569
  "type": "string",
554
570
  "maxLength": 1024
data/schemas/orgPost.json CHANGED
@@ -35,6 +35,10 @@
35
35
  "adminRequired",
36
36
  "required"
37
37
  ]
38
+ },
39
+ "entitlementId": {
40
+ "type": "string",
41
+ "maxLength": 1024
38
42
  }
39
43
  },
40
44
  "additionalProperties": false,
data/schemas/orgs.json CHANGED
@@ -282,6 +282,18 @@
282
282
  "type": "integer",
283
283
  "minimum": 5,
284
284
  "maximum": 3600
285
+ },
286
+ "deviceHard": {
287
+ "type": "integer",
288
+ "minimum": 0
289
+ },
290
+ "applicationkeyHard": {
291
+ "type": "integer",
292
+ "minimum": 0
293
+ },
294
+ "applicationcertificateHard": {
295
+ "type": "integer",
296
+ "minimum": 0
285
297
  }
286
298
  },
287
299
  "additionalProperties": false
@@ -556,6 +568,10 @@
556
568
  }
557
569
  }
558
570
  },
571
+ "entitlementOrgId": {
572
+ "type": "string",
573
+ "maxLength": 1024
574
+ },
559
575
  "planId": {
560
576
  "type": "string",
561
577
  "maxLength": 1024
@@ -408,6 +408,7 @@
408
408
  "instance.payloadCountsBreakdown",
409
409
  "instance.deviceCounts",
410
410
  "instance.notebookMinuteCounts",
411
+ "instance.entitlements",
411
412
  "instanceOrg.*",
412
413
  "instanceOrg.get",
413
414
  "instanceOrg.patch",
@@ -416,6 +417,8 @@
416
417
  "instanceOrg.payloadCountsBreakdown",
417
418
  "instanceOrg.deviceCounts",
418
419
  "instanceOrg.notebookMinuteCounts",
420
+ "instanceOrg.entitlement",
421
+ "instanceOrg.entitlementSync",
419
422
  "instanceOrg.convertToEnterprise",
420
423
  "instanceOrgs.*",
421
424
  "instanceOrgs.get",
@@ -506,6 +509,13 @@
506
509
  "userOauthTokens.*",
507
510
  "userOauthTokens.get",
508
511
  "userOauthTokens.post",
512
+ "userOauthClient.*",
513
+ "userOauthClient.get",
514
+ "userOauthClient.patch",
515
+ "userOauthClient.delete",
516
+ "userOauthClients.*",
517
+ "userOauthClients.get",
518
+ "userOauthClients.post",
509
519
  "applicationTemplate.*",
510
520
  "applicationTemplate.get",
511
521
  "applicationTemplates.*",
@@ -536,6 +546,7 @@
536
546
  "me.invites",
537
547
  "me.respondToInvite",
538
548
  "me.refreshToken",
549
+ "me.entitlements",
539
550
  "orgs.*",
540
551
  "orgs.get",
541
552
  "orgs.post"
@@ -412,6 +412,7 @@
412
412
  "instance.payloadCountsBreakdown",
413
413
  "instance.deviceCounts",
414
414
  "instance.notebookMinuteCounts",
415
+ "instance.entitlements",
415
416
  "instanceOrg.*",
416
417
  "instanceOrg.get",
417
418
  "instanceOrg.patch",
@@ -420,6 +421,8 @@
420
421
  "instanceOrg.payloadCountsBreakdown",
421
422
  "instanceOrg.deviceCounts",
422
423
  "instanceOrg.notebookMinuteCounts",
424
+ "instanceOrg.entitlement",
425
+ "instanceOrg.entitlementSync",
423
426
  "instanceOrg.convertToEnterprise",
424
427
  "instanceOrgs.*",
425
428
  "instanceOrgs.get",
@@ -510,6 +513,13 @@
510
513
  "userOauthTokens.*",
511
514
  "userOauthTokens.get",
512
515
  "userOauthTokens.post",
516
+ "userOauthClient.*",
517
+ "userOauthClient.get",
518
+ "userOauthClient.patch",
519
+ "userOauthClient.delete",
520
+ "userOauthClients.*",
521
+ "userOauthClients.get",
522
+ "userOauthClients.post",
513
523
  "applicationTemplate.*",
514
524
  "applicationTemplate.get",
515
525
  "applicationTemplates.*",
@@ -540,6 +550,7 @@
540
550
  "me.invites",
541
551
  "me.respondToInvite",
542
552
  "me.refreshToken",
553
+ "me.entitlements",
543
554
  "orgs.*",
544
555
  "orgs.get",
545
556
  "orgs.post"
@@ -0,0 +1,125 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "pattern": "^[A-Fa-f\\d]{24}$"
8
+ },
9
+ "creationDate": {
10
+ "type": "string",
11
+ "format": "date-time"
12
+ },
13
+ "lastUpdated": {
14
+ "type": "string",
15
+ "format": "date-time"
16
+ },
17
+ "client_id": {
18
+ "type": "string",
19
+ "description": "Unique client identifier"
20
+ },
21
+ "client_secret": {
22
+ "type": "string",
23
+ "description": "Client secret. Only ever included in the response to the initial creation request."
24
+ },
25
+ "client_name": {
26
+ "type": "string",
27
+ "minLength": 1,
28
+ "maxLength": 255
29
+ },
30
+ "description": {
31
+ "type": "string",
32
+ "maxLength": 32767
33
+ },
34
+ "client_uri": {
35
+ "type": "string",
36
+ "format": "uri",
37
+ "maxLength": 1024
38
+ },
39
+ "logo_uri": {
40
+ "type": "string",
41
+ "format": "uri",
42
+ "maxLength": 32768,
43
+ "description": "URL of the client's logo. May be an http(s) URL or a data:image/* URI."
44
+ },
45
+ "redirect_uris": {
46
+ "type": "array",
47
+ "minItems": 1,
48
+ "maxItems": 25,
49
+ "items": {
50
+ "type": "string",
51
+ "format": "uri",
52
+ "maxLength": 1024
53
+ },
54
+ "description": "Array of redirect URIs for use in redirect-based flows"
55
+ },
56
+ "grant_types": {
57
+ "type": "array",
58
+ "items": {
59
+ "type": "string",
60
+ "enum": [
61
+ "authorization_code",
62
+ "refresh_token"
63
+ ]
64
+ },
65
+ "description": "Array of OAuth 2.0 grant types"
66
+ },
67
+ "response_types": {
68
+ "type": "array",
69
+ "items": {
70
+ "type": "string",
71
+ "enum": [
72
+ "code"
73
+ ]
74
+ },
75
+ "description": "Array of OAuth 2.0 response types"
76
+ },
77
+ "token_endpoint_auth_method": {
78
+ "type": "string",
79
+ "description": "Authentication method for the token endpoint",
80
+ "enum": [
81
+ "client_secret_basic",
82
+ "client_secret_post",
83
+ "none"
84
+ ]
85
+ },
86
+ "scope": {
87
+ "type": "array",
88
+ "uniqueItems": true,
89
+ "items": {
90
+ "type": "string",
91
+ "description": "OAuth-supported user-context API scope. See the `scopes_supported` field of the OAuth authorization server metadata document at /.well-known/oauth-authorization-server for the authoritative list.",
92
+ "enum": [
93
+ "all.Application.read",
94
+ "all.Application.bounded",
95
+ "only.Organization.read",
96
+ "only.Organization.bounded",
97
+ "all.Organization.read",
98
+ "all.Organization.bounded",
99
+ "only.User.read"
100
+ ]
101
+ },
102
+ "description": "API scopes this client may request"
103
+ },
104
+ "contacts": {
105
+ "type": "array",
106
+ "maxItems": 10,
107
+ "items": {
108
+ "type": "string",
109
+ "format": "email",
110
+ "maxLength": 1024
111
+ },
112
+ "description": "Contact email addresses for this client"
113
+ },
114
+ "tos_uri": {
115
+ "type": "string",
116
+ "format": "uri",
117
+ "maxLength": 1024
118
+ },
119
+ "policy_uri": {
120
+ "type": "string",
121
+ "format": "uri",
122
+ "maxLength": 1024
123
+ }
124
+ }
125
+ }
@@ -0,0 +1,113 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "client_name": {
6
+ "type": "string",
7
+ "minLength": 1,
8
+ "maxLength": 255
9
+ },
10
+ "description": {
11
+ "type": "string",
12
+ "maxLength": 32767
13
+ },
14
+ "client_uri": {
15
+ "oneOf": [
16
+ {
17
+ "type": "string",
18
+ "format": "uri",
19
+ "maxLength": 1024
20
+ },
21
+ {
22
+ "type": "null"
23
+ }
24
+ ]
25
+ },
26
+ "logo_uri": {
27
+ "oneOf": [
28
+ {
29
+ "type": "string",
30
+ "format": "uri",
31
+ "maxLength": 32768,
32
+ "description": "URL of the client's logo. May be an http(s) URL or a data:image/* URI."
33
+ },
34
+ {
35
+ "type": "null"
36
+ }
37
+ ]
38
+ },
39
+ "redirect_uris": {
40
+ "type": "array",
41
+ "minItems": 1,
42
+ "maxItems": 25,
43
+ "items": {
44
+ "type": "string",
45
+ "format": "uri",
46
+ "maxLength": 1024
47
+ },
48
+ "description": "Array of redirect URIs for use in redirect-based flows"
49
+ },
50
+ "token_endpoint_auth_method": {
51
+ "type": "string",
52
+ "description": "Authentication method for the token endpoint",
53
+ "enum": [
54
+ "client_secret_basic",
55
+ "client_secret_post",
56
+ "none"
57
+ ]
58
+ },
59
+ "scope": {
60
+ "type": "array",
61
+ "uniqueItems": true,
62
+ "items": {
63
+ "type": "string",
64
+ "description": "OAuth-supported user-context API scope. See the `scopes_supported` field of the OAuth authorization server metadata document at /.well-known/oauth-authorization-server for the authoritative list.",
65
+ "enum": [
66
+ "all.Application.read",
67
+ "all.Application.bounded",
68
+ "only.Organization.read",
69
+ "only.Organization.bounded",
70
+ "all.Organization.read",
71
+ "all.Organization.bounded",
72
+ "only.User.read"
73
+ ]
74
+ },
75
+ "description": "API scopes this client may request"
76
+ },
77
+ "contacts": {
78
+ "type": "array",
79
+ "maxItems": 10,
80
+ "items": {
81
+ "type": "string",
82
+ "format": "email",
83
+ "maxLength": 1024
84
+ },
85
+ "description": "Contact email addresses for this client"
86
+ },
87
+ "tos_uri": {
88
+ "oneOf": [
89
+ {
90
+ "type": "string",
91
+ "format": "uri",
92
+ "maxLength": 1024
93
+ },
94
+ {
95
+ "type": "null"
96
+ }
97
+ ]
98
+ },
99
+ "policy_uri": {
100
+ "oneOf": [
101
+ {
102
+ "type": "string",
103
+ "format": "uri",
104
+ "maxLength": 1024
105
+ },
106
+ {
107
+ "type": "null"
108
+ }
109
+ ]
110
+ }
111
+ },
112
+ "additionalProperties": false
113
+ }