@asturiu/v0-sdk 0.0.0-stage → 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 (239) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/LICENSE +202 -0
  3. package/NOTICE +5 -0
  4. package/README.md +82 -2
  5. package/contract/assertion-vectors.json +90 -0
  6. package/contract/schemas/branding.schema.json +46 -0
  7. package/contract/schemas/definitions.schema.json +376 -0
  8. package/contract/schemas/portal.schema.json +56 -0
  9. package/contract/tenant-api-routes.json +165 -0
  10. package/dist/branding.d.ts +131 -0
  11. package/dist/branding.d.ts.map +1 -0
  12. package/dist/branding.js +206 -0
  13. package/dist/branding.js.map +1 -0
  14. package/dist/changesets.d.ts +58 -0
  15. package/dist/changesets.d.ts.map +1 -0
  16. package/dist/changesets.js +18 -0
  17. package/dist/changesets.js.map +1 -0
  18. package/dist/cli/bin.d.ts +3 -0
  19. package/dist/cli/bin.d.ts.map +1 -0
  20. package/dist/cli/bin.js +12 -0
  21. package/dist/cli/bin.js.map +1 -0
  22. package/dist/cli/changesets.d.ts +14 -0
  23. package/dist/cli/changesets.d.ts.map +1 -0
  24. package/dist/cli/changesets.js +252 -0
  25. package/dist/cli/changesets.js.map +1 -0
  26. package/dist/cli/cli.d.ts +37 -0
  27. package/dist/cli/cli.d.ts.map +1 -0
  28. package/dist/cli/cli.js +415 -0
  29. package/dist/cli/cli.js.map +1 -0
  30. package/dist/cli/context.d.ts +147 -0
  31. package/dist/cli/context.d.ts.map +1 -0
  32. package/dist/cli/context.js +258 -0
  33. package/dist/cli/context.js.map +1 -0
  34. package/dist/cli/engine.d.ts +59 -0
  35. package/dist/cli/engine.d.ts.map +1 -0
  36. package/dist/cli/engine.js +85 -0
  37. package/dist/cli/engine.js.map +1 -0
  38. package/dist/cli/feedback.d.ts +40 -0
  39. package/dist/cli/feedback.d.ts.map +1 -0
  40. package/dist/cli/feedback.js +420 -0
  41. package/dist/cli/feedback.js.map +1 -0
  42. package/dist/cli/files.d.ts +83 -0
  43. package/dist/cli/files.d.ts.map +1 -0
  44. package/dist/cli/files.js +389 -0
  45. package/dist/cli/files.js.map +1 -0
  46. package/dist/cli/index.d.ts +8 -0
  47. package/dist/cli/index.d.ts.map +1 -0
  48. package/dist/cli/index.js +8 -0
  49. package/dist/cli/index.js.map +1 -0
  50. package/dist/cli/overview.d.ts +6 -0
  51. package/dist/cli/overview.d.ts.map +1 -0
  52. package/dist/cli/overview.js +379 -0
  53. package/dist/cli/overview.js.map +1 -0
  54. package/dist/cli/parts.d.ts +5 -0
  55. package/dist/cli/parts.d.ts.map +1 -0
  56. package/dist/cli/parts.js +414 -0
  57. package/dist/cli/parts.js.map +1 -0
  58. package/dist/cli/sources.d.ts +37 -0
  59. package/dist/cli/sources.d.ts.map +1 -0
  60. package/dist/cli/sources.js +91 -0
  61. package/dist/cli/sources.js.map +1 -0
  62. package/dist/cli/terminal.d.ts +135 -0
  63. package/dist/cli/terminal.d.ts.map +1 -0
  64. package/dist/cli/terminal.js +353 -0
  65. package/dist/cli/terminal.js.map +1 -0
  66. package/dist/cli/ui-page.d.ts +8 -0
  67. package/dist/cli/ui-page.d.ts.map +1 -0
  68. package/dist/cli/ui-page.js +216 -0
  69. package/dist/cli/ui-page.js.map +1 -0
  70. package/dist/cli/ui.d.ts +54 -0
  71. package/dist/cli/ui.d.ts.map +1 -0
  72. package/dist/cli/ui.js +251 -0
  73. package/dist/cli/ui.js.map +1 -0
  74. package/dist/client.d.ts +88 -0
  75. package/dist/client.d.ts.map +1 -0
  76. package/dist/client.js +165 -0
  77. package/dist/client.js.map +1 -0
  78. package/dist/contacts.d.ts +43 -0
  79. package/dist/contacts.d.ts.map +1 -0
  80. package/dist/contacts.js +46 -0
  81. package/dist/contacts.js.map +1 -0
  82. package/dist/definition-set.d.ts +731 -0
  83. package/dist/definition-set.d.ts.map +1 -0
  84. package/dist/definition-set.js +659 -0
  85. package/dist/definition-set.js.map +1 -0
  86. package/dist/definitions.d.ts +42 -0
  87. package/dist/definitions.d.ts.map +1 -0
  88. package/dist/definitions.js +154 -0
  89. package/dist/definitions.js.map +1 -0
  90. package/dist/enrolment.d.ts +9 -0
  91. package/dist/enrolment.d.ts.map +1 -0
  92. package/dist/enrolment.js +8 -0
  93. package/dist/enrolment.js.map +1 -0
  94. package/dist/fill.d.ts +73 -0
  95. package/dist/fill.d.ts.map +1 -0
  96. package/dist/fill.js +46 -0
  97. package/dist/fill.js.map +1 -0
  98. package/dist/index.d.ts +39 -0
  99. package/dist/index.d.ts.map +1 -0
  100. package/dist/index.js +39 -0
  101. package/dist/index.js.map +1 -0
  102. package/dist/notifications.d.ts +33 -0
  103. package/dist/notifications.d.ts.map +1 -0
  104. package/dist/notifications.js +36 -0
  105. package/dist/notifications.js.map +1 -0
  106. package/dist/oidc.d.ts +122 -0
  107. package/dist/oidc.d.ts.map +1 -0
  108. package/dist/oidc.js +150 -0
  109. package/dist/oidc.js.map +1 -0
  110. package/dist/overlay.d.ts +109 -0
  111. package/dist/overlay.d.ts.map +1 -0
  112. package/dist/overlay.js +58 -0
  113. package/dist/overlay.js.map +1 -0
  114. package/dist/passes.d.ts +95 -0
  115. package/dist/passes.d.ts.map +1 -0
  116. package/dist/passes.js +140 -0
  117. package/dist/passes.js.map +1 -0
  118. package/dist/portal-options.d.ts +65 -0
  119. package/dist/portal-options.d.ts.map +1 -0
  120. package/dist/portal-options.js +120 -0
  121. package/dist/portal-options.js.map +1 -0
  122. package/dist/reads.d.ts +41 -0
  123. package/dist/reads.d.ts.map +1 -0
  124. package/dist/reads.js +44 -0
  125. package/dist/reads.js.map +1 -0
  126. package/dist/recovery-words.d.ts +8 -0
  127. package/dist/recovery-words.d.ts.map +1 -0
  128. package/dist/recovery-words.js +136 -0
  129. package/dist/recovery-words.js.map +1 -0
  130. package/dist/recovery.d.ts +198 -0
  131. package/dist/recovery.d.ts.map +1 -0
  132. package/dist/recovery.js +112 -0
  133. package/dist/recovery.js.map +1 -0
  134. package/dist/reveal.d.ts +35 -0
  135. package/dist/reveal.d.ts.map +1 -0
  136. package/dist/reveal.js +66 -0
  137. package/dist/reveal.js.map +1 -0
  138. package/dist/seal.d.ts +15 -0
  139. package/dist/seal.d.ts.map +1 -0
  140. package/dist/seal.js +0 -0
  141. package/dist/seal.js.map +1 -0
  142. package/dist/session.d.ts +66 -0
  143. package/dist/session.d.ts.map +1 -0
  144. package/dist/session.js +61 -0
  145. package/dist/session.js.map +1 -0
  146. package/dist/signing-in-mark.d.ts +14 -0
  147. package/dist/signing-in-mark.d.ts.map +1 -0
  148. package/dist/signing-in-mark.js +24 -0
  149. package/dist/signing-in-mark.js.map +1 -0
  150. package/dist/signing-in.d.ts +22 -0
  151. package/dist/signing-in.d.ts.map +1 -0
  152. package/dist/signing-in.js +203 -0
  153. package/dist/signing-in.js.map +1 -0
  154. package/dist/tags.d.ts +96 -0
  155. package/dist/tags.d.ts.map +1 -0
  156. package/dist/tags.js +88 -0
  157. package/dist/tags.js.map +1 -0
  158. package/dist/tenant-subscription.d.ts +47 -0
  159. package/dist/tenant-subscription.d.ts.map +1 -0
  160. package/dist/tenant-subscription.js +7 -0
  161. package/dist/tenant-subscription.js.map +1 -0
  162. package/dist/testing/index.d.ts +125 -0
  163. package/dist/testing/index.d.ts.map +1 -0
  164. package/dist/testing/index.js +320 -0
  165. package/dist/testing/index.js.map +1 -0
  166. package/dist/theme.d.ts +237 -0
  167. package/dist/theme.d.ts.map +1 -0
  168. package/dist/theme.js +504 -0
  169. package/dist/theme.js.map +1 -0
  170. package/dist/tickets.d.ts +152 -0
  171. package/dist/tickets.d.ts.map +1 -0
  172. package/dist/tickets.js +65 -0
  173. package/dist/tickets.js.map +1 -0
  174. package/dist/tiers.d.ts +168 -0
  175. package/dist/tiers.d.ts.map +1 -0
  176. package/dist/tiers.js +341 -0
  177. package/dist/tiers.js.map +1 -0
  178. package/dist/types.d.ts +885 -0
  179. package/dist/types.d.ts.map +1 -0
  180. package/dist/types.js +12 -0
  181. package/dist/types.js.map +1 -0
  182. package/dist/urlid.d.ts +50 -0
  183. package/dist/urlid.d.ts.map +1 -0
  184. package/dist/urlid.js +78 -0
  185. package/dist/urlid.js.map +1 -0
  186. package/dist/version.d.ts +15 -0
  187. package/dist/version.d.ts.map +1 -0
  188. package/dist/version.js +15 -0
  189. package/dist/version.js.map +1 -0
  190. package/make/asturiu.mk +43 -0
  191. package/package.json +63 -4
  192. package/src/branding.ts +221 -0
  193. package/src/changesets.ts +61 -0
  194. package/src/cli/bin.ts +12 -0
  195. package/src/cli/changesets.ts +233 -0
  196. package/src/cli/cli.ts +425 -0
  197. package/src/cli/context.ts +299 -0
  198. package/src/cli/engine.ts +112 -0
  199. package/src/cli/feedback.ts +406 -0
  200. package/src/cli/files.ts +371 -0
  201. package/src/cli/index.ts +7 -0
  202. package/src/cli/overview.ts +343 -0
  203. package/src/cli/parts.ts +371 -0
  204. package/src/cli/sources.ts +111 -0
  205. package/src/cli/terminal.ts +384 -0
  206. package/src/cli/ui-page.ts +215 -0
  207. package/src/cli/ui.ts +266 -0
  208. package/src/client.ts +202 -0
  209. package/src/contacts.ts +61 -0
  210. package/src/definition-set.ts +965 -0
  211. package/src/definitions.ts +156 -0
  212. package/src/enrolment.ts +10 -0
  213. package/src/fill.ts +83 -0
  214. package/src/index.ts +38 -0
  215. package/src/notifications.ts +55 -0
  216. package/src/oidc.ts +199 -0
  217. package/src/overlay.ts +137 -0
  218. package/src/passes.ts +168 -0
  219. package/src/portal-options.ts +125 -0
  220. package/src/reads.ts +71 -0
  221. package/src/recovery-words.ts +137 -0
  222. package/src/recovery.ts +269 -0
  223. package/src/reveal.ts +72 -0
  224. package/src/seal.ts +0 -0
  225. package/src/session.ts +93 -0
  226. package/src/signing-in-mark.ts +23 -0
  227. package/src/signing-in.ts +213 -0
  228. package/src/tags.ts +146 -0
  229. package/src/tenant-subscription.ts +44 -0
  230. package/src/testing/index.ts +337 -0
  231. package/src/theme.ts +628 -0
  232. package/src/tickets.ts +195 -0
  233. package/src/tiers.ts +397 -0
  234. package/src/types.ts +847 -0
  235. package/src/urlid.ts +77 -0
  236. package/src/version.ts +15 -0
  237. package/templates/asturiu/branding.json +4 -0
  238. package/templates/asturiu/definitions.json +23 -0
  239. package/templates/asturiu/portal.json +16 -0
@@ -0,0 +1,376 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://asturiu.com/contract/v0/definitions.schema.json",
4
+ "title": "A Tenant's Definition set",
5
+ "description": "Structure only (ADR-074 §10): the Engine stays the judge, and a set that passes may still be refused when it is planned. Written by scripts/contract.mjs.",
6
+ "type": "object",
7
+ "required": [
8
+ "wallets"
9
+ ],
10
+ "properties": {
11
+ "$comment": {
12
+ "type": "string"
13
+ },
14
+ "shared_fields": {
15
+ "type": "object",
16
+ "propertyNames": {
17
+ "pattern": "^[a-z][a-z0-9_]{0,62}$"
18
+ },
19
+ "additionalProperties": {
20
+ "$ref": "#/$defs/field"
21
+ }
22
+ },
23
+ "shared_entries": {
24
+ "type": "object",
25
+ "propertyNames": {
26
+ "pattern": "^[a-z][a-z0-9_]{0,62}$"
27
+ },
28
+ "additionalProperties": {
29
+ "$ref": "#/$defs/entry"
30
+ }
31
+ },
32
+ "wallets": {
33
+ "type": "object",
34
+ "propertyNames": {
35
+ "pattern": "^[a-z][a-z0-9_]{0,62}$"
36
+ },
37
+ "additionalProperties": {
38
+ "$ref": "#/$defs/wallet"
39
+ }
40
+ },
41
+ "acknowledge": {
42
+ "type": "array",
43
+ "items": {
44
+ "type": "string"
45
+ }
46
+ }
47
+ },
48
+ "additionalProperties": false,
49
+ "$defs": {
50
+ "field": {
51
+ "type": "object",
52
+ "required": [
53
+ "value_type"
54
+ ],
55
+ "properties": {
56
+ "label": {
57
+ "type": "string"
58
+ },
59
+ "description": {
60
+ "type": "string"
61
+ },
62
+ "value_type": {
63
+ "enum": [
64
+ "text",
65
+ "password",
66
+ "number",
67
+ "boolean",
68
+ "date",
69
+ "datetime",
70
+ "email",
71
+ "phone",
72
+ "url",
73
+ "json",
74
+ "attachment"
75
+ ]
76
+ },
77
+ "validation": {
78
+ "type": "object"
79
+ },
80
+ "secret": {
81
+ "type": "boolean"
82
+ },
83
+ "reveal": {
84
+ "enum": [
85
+ "visible",
86
+ "click",
87
+ "captcha",
88
+ "password",
89
+ "2fa"
90
+ ]
91
+ },
92
+ "searchable": {
93
+ "type": "boolean"
94
+ },
95
+ "immutable": {
96
+ "type": "boolean"
97
+ },
98
+ "locked": {
99
+ "type": "boolean"
100
+ },
101
+ "filled_by": {
102
+ "type": "array",
103
+ "items": {
104
+ "enum": [
105
+ "value",
106
+ "internal",
107
+ "external"
108
+ ]
109
+ }
110
+ },
111
+ "targets": {
112
+ "type": "array",
113
+ "items": {
114
+ "type": "string"
115
+ }
116
+ },
117
+ "target_definitions": {
118
+ "type": "array",
119
+ "items": {
120
+ "type": "string"
121
+ }
122
+ },
123
+ "locator": {
124
+ "type": "object"
125
+ }
126
+ },
127
+ "additionalProperties": false
128
+ },
129
+ "entryField": {
130
+ "anyOf": [
131
+ {
132
+ "type": "object",
133
+ "required": [
134
+ "use"
135
+ ],
136
+ "properties": {
137
+ "use": {
138
+ "type": "string",
139
+ "pattern": "^[a-z][a-z0-9_]{0,62}$"
140
+ },
141
+ "filled_by": {
142
+ "type": "array",
143
+ "items": {
144
+ "enum": [
145
+ "value",
146
+ "internal",
147
+ "external"
148
+ ]
149
+ }
150
+ },
151
+ "required": {
152
+ "type": "boolean"
153
+ },
154
+ "order": {
155
+ "type": "integer"
156
+ },
157
+ "fill_in": {}
158
+ },
159
+ "additionalProperties": false
160
+ },
161
+ {
162
+ "type": "object",
163
+ "required": [
164
+ "value_type"
165
+ ],
166
+ "properties": {
167
+ "label": {
168
+ "type": "string"
169
+ },
170
+ "description": {
171
+ "type": "string"
172
+ },
173
+ "value_type": {
174
+ "enum": [
175
+ "text",
176
+ "password",
177
+ "number",
178
+ "boolean",
179
+ "date",
180
+ "datetime",
181
+ "email",
182
+ "phone",
183
+ "url",
184
+ "json",
185
+ "attachment"
186
+ ]
187
+ },
188
+ "validation": {
189
+ "type": "object"
190
+ },
191
+ "secret": {
192
+ "type": "boolean"
193
+ },
194
+ "reveal": {
195
+ "enum": [
196
+ "visible",
197
+ "click",
198
+ "captcha",
199
+ "password",
200
+ "2fa"
201
+ ]
202
+ },
203
+ "searchable": {
204
+ "type": "boolean"
205
+ },
206
+ "immutable": {
207
+ "type": "boolean"
208
+ },
209
+ "locked": {
210
+ "type": "boolean"
211
+ },
212
+ "filled_by": {
213
+ "type": "array",
214
+ "items": {
215
+ "enum": [
216
+ "value",
217
+ "internal",
218
+ "external"
219
+ ]
220
+ }
221
+ },
222
+ "targets": {
223
+ "type": "array",
224
+ "items": {
225
+ "type": "string"
226
+ }
227
+ },
228
+ "target_definitions": {
229
+ "type": "array",
230
+ "items": {
231
+ "type": "string"
232
+ }
233
+ },
234
+ "locator": {
235
+ "type": "object"
236
+ },
237
+ "required": {
238
+ "type": "boolean"
239
+ },
240
+ "order": {
241
+ "type": "integer"
242
+ },
243
+ "fill_in": {}
244
+ },
245
+ "additionalProperties": false
246
+ }
247
+ ]
248
+ },
249
+ "entry": {
250
+ "type": "object",
251
+ "required": [
252
+ "fields"
253
+ ],
254
+ "properties": {
255
+ "label": {
256
+ "type": "string"
257
+ },
258
+ "description": {
259
+ "type": "string"
260
+ },
261
+ "kind": {
262
+ "enum": [
263
+ "file",
264
+ "folder"
265
+ ]
266
+ },
267
+ "nestable": {
268
+ "type": "boolean"
269
+ },
270
+ "contains": {
271
+ "type": "array",
272
+ "items": {
273
+ "type": "string",
274
+ "pattern": "^[a-z][a-z0-9_]{0,62}$"
275
+ }
276
+ },
277
+ "customizable": {
278
+ "type": "boolean"
279
+ },
280
+ "value_types": {
281
+ "type": "array",
282
+ "items": {
283
+ "enum": [
284
+ "text",
285
+ "password",
286
+ "number",
287
+ "boolean",
288
+ "date",
289
+ "datetime",
290
+ "email",
291
+ "phone",
292
+ "url",
293
+ "json",
294
+ "attachment"
295
+ ]
296
+ }
297
+ },
298
+ "secret_reveal_min": {
299
+ "enum": [
300
+ "visible",
301
+ "click",
302
+ "captcha",
303
+ "password",
304
+ "2fa"
305
+ ]
306
+ },
307
+ "custom_filled_by": {
308
+ "type": "array",
309
+ "items": {
310
+ "enum": [
311
+ "value",
312
+ "internal",
313
+ "external"
314
+ ]
315
+ }
316
+ },
317
+ "fields": {
318
+ "type": "object",
319
+ "propertyNames": {
320
+ "pattern": "^[a-z][a-z0-9_]{0,62}$"
321
+ },
322
+ "additionalProperties": {
323
+ "$ref": "#/$defs/entryField"
324
+ }
325
+ }
326
+ },
327
+ "additionalProperties": false
328
+ },
329
+ "wallet": {
330
+ "type": "object",
331
+ "properties": {
332
+ "label": {
333
+ "type": "string"
334
+ },
335
+ "description": {
336
+ "type": "string"
337
+ },
338
+ "entries": {
339
+ "type": "object",
340
+ "propertyNames": {
341
+ "pattern": "^[a-z][a-z0-9_]{0,62}$"
342
+ },
343
+ "additionalProperties": {
344
+ "$ref": "#/$defs/entry"
345
+ }
346
+ },
347
+ "accepts": {
348
+ "type": "array",
349
+ "items": {
350
+ "type": "string",
351
+ "pattern": "^[a-z][a-z0-9_]{0,62}$"
352
+ }
353
+ },
354
+ "nestable": {
355
+ "type": "boolean"
356
+ },
357
+ "immutable": {
358
+ "type": "boolean"
359
+ },
360
+ "metering": {
361
+ "enum": [
362
+ "storage",
363
+ "events"
364
+ ]
365
+ },
366
+ "event_retention_days": {
367
+ "type": "integer"
368
+ },
369
+ "default_policy": {
370
+ "type": "object"
371
+ }
372
+ },
373
+ "additionalProperties": false
374
+ }
375
+ }
376
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://asturiu.com/contract/v0/portal.schema.json",
4
+ "title": "A Tenant's portal options",
5
+ "description": "Structure only (ADR-074 §10): what PUT /tenant/v0/portal takes. A switch left out is on; a page left out is back to its default. Written by scripts/contract.mjs.",
6
+ "type": "object",
7
+ "properties": {
8
+ "$comment": {
9
+ "type": "string"
10
+ },
11
+ "account_link": {
12
+ "type": "boolean"
13
+ },
14
+ "open_app": {
15
+ "type": "boolean"
16
+ },
17
+ "back_link": {
18
+ "type": "boolean"
19
+ },
20
+ "language_menu": {
21
+ "type": "boolean"
22
+ },
23
+ "appearance": {
24
+ "type": "boolean"
25
+ },
26
+ "pages": {
27
+ "type": "object",
28
+ "propertyNames": {
29
+ "enum": [
30
+ "profile",
31
+ "security",
32
+ "plan",
33
+ "privacy",
34
+ "recovery",
35
+ "support"
36
+ ]
37
+ },
38
+ "additionalProperties": {
39
+ "type": "object",
40
+ "required": [
41
+ "mode"
42
+ ],
43
+ "properties": {
44
+ "mode": {
45
+ "enum": [
46
+ "portal",
47
+ "off"
48
+ ]
49
+ }
50
+ },
51
+ "additionalProperties": false
52
+ }
53
+ }
54
+ },
55
+ "additionalProperties": false
56
+ }
@@ -0,0 +1,165 @@
1
+ {
2
+ "$comment": "Every Tenant API route with the scope a key needs (null: any live key). Written from TENANT_API_ROUTES by scripts/contract.mjs; do not edit.",
3
+ "routes": [
4
+ {
5
+ "method": "POST",
6
+ "path": "/tenant/v0/definitions",
7
+ "scope": "definitions"
8
+ },
9
+ {
10
+ "method": "GET",
11
+ "path": "/tenant/v0/definitions/status",
12
+ "scope": "definitions"
13
+ },
14
+ {
15
+ "method": "GET",
16
+ "path": "/tenant/v0/branding",
17
+ "scope": "branding"
18
+ },
19
+ {
20
+ "method": "PUT",
21
+ "path": "/tenant/v0/branding",
22
+ "scope": "branding"
23
+ },
24
+ {
25
+ "method": "GET",
26
+ "path": "/tenant/v0/portal",
27
+ "scope": "portal"
28
+ },
29
+ {
30
+ "method": "PUT",
31
+ "path": "/tenant/v0/portal",
32
+ "scope": "portal"
33
+ },
34
+ {
35
+ "method": "GET",
36
+ "path": "/tenant/v0/tiers",
37
+ "scope": "tiers"
38
+ },
39
+ {
40
+ "method": "PUT",
41
+ "path": "/tenant/v0/tiers",
42
+ "scope": "tiers"
43
+ },
44
+ {
45
+ "method": "PUT",
46
+ "path": "/tenant/v0/customers/:cst/entitlement",
47
+ "scope": "entitlements"
48
+ },
49
+ {
50
+ "method": "GET",
51
+ "path": "/tenant/v0/customers/:cst/entitlements",
52
+ "scope": "entitlements"
53
+ },
54
+ {
55
+ "method": "GET",
56
+ "path": "/tenant/v0/subscription",
57
+ "scope": null
58
+ },
59
+ {
60
+ "method": "GET",
61
+ "path": "/tenant/v0/tags",
62
+ "scope": "tags"
63
+ },
64
+ {
65
+ "method": "PUT",
66
+ "path": "/tenant/v0/tags/:name",
67
+ "scope": "tags"
68
+ },
69
+ {
70
+ "method": "PUT",
71
+ "path": "/tenant/v0/customers/:cst/tags/:name",
72
+ "scope": "tags"
73
+ },
74
+ {
75
+ "method": "DELETE",
76
+ "path": "/tenant/v0/customers/:cst/tags/:name",
77
+ "scope": "tags"
78
+ },
79
+ {
80
+ "method": "GET",
81
+ "path": "/tenant/v0/engine",
82
+ "scope": null
83
+ },
84
+ {
85
+ "method": "GET",
86
+ "path": "/tenant/v0/key",
87
+ "scope": null
88
+ },
89
+ {
90
+ "method": "GET",
91
+ "path": "/tenant/v0/changesets",
92
+ "scope": null
93
+ },
94
+ {
95
+ "method": "PUT",
96
+ "path": "/tenant/v0/changesets/:n/status",
97
+ "scope": null
98
+ },
99
+ {
100
+ "method": "POST",
101
+ "path": "/tenant/v0/feedback",
102
+ "scope": null
103
+ },
104
+ {
105
+ "method": "GET",
106
+ "path": "/tenant/v0/feedback",
107
+ "scope": null
108
+ },
109
+ {
110
+ "method": "POST",
111
+ "path": "/tenant/v0/feedback/:tkt/posts",
112
+ "scope": null
113
+ },
114
+ {
115
+ "method": "GET",
116
+ "path": "/tenant/v0/tickets",
117
+ "scope": "tickets"
118
+ },
119
+ {
120
+ "method": "POST",
121
+ "path": "/tenant/v0/tickets",
122
+ "scope": "tickets"
123
+ },
124
+ {
125
+ "method": "GET",
126
+ "path": "/tenant/v0/tickets/:tkt",
127
+ "scope": "tickets"
128
+ },
129
+ {
130
+ "method": "PATCH",
131
+ "path": "/tenant/v0/tickets/:tkt",
132
+ "scope": "tickets"
133
+ },
134
+ {
135
+ "method": "POST",
136
+ "path": "/tenant/v0/tickets/:tkt/posts",
137
+ "scope": "tickets"
138
+ },
139
+ {
140
+ "method": "GET",
141
+ "path": "/tenant/v0/announcements",
142
+ "scope": "tickets"
143
+ },
144
+ {
145
+ "method": "POST",
146
+ "path": "/tenant/v0/announcements",
147
+ "scope": "tickets"
148
+ },
149
+ {
150
+ "method": "GET",
151
+ "path": "/tenant/v0/announcements/:tkt",
152
+ "scope": "tickets"
153
+ },
154
+ {
155
+ "method": "PATCH",
156
+ "path": "/tenant/v0/announcements/:tkt",
157
+ "scope": "tickets"
158
+ },
159
+ {
160
+ "method": "DELETE",
161
+ "path": "/tenant/v0/announcements/:tkt",
162
+ "scope": "tickets"
163
+ }
164
+ ]
165
+ }