@greatwait/contracts 0.1.0-alpha.3 → 0.1.0-alpha.4

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 (299) hide show
  1. package/README.md +11 -9
  2. package/dist/authority.d.ts +33 -27
  3. package/dist/authority.js +12 -2
  4. package/dist/billing.d.ts +1001 -0
  5. package/dist/billing.js +684 -0
  6. package/dist/callback-safety.d.ts +2 -2
  7. package/dist/callback-safety.js +2 -2
  8. package/dist/compatibility.d.ts +3 -3
  9. package/dist/compatibility.js +1 -1
  10. package/dist/data-export.d.ts +67 -0
  11. package/dist/data-export.js +182 -0
  12. package/dist/endpoints.d.ts +181 -240
  13. package/dist/endpoints.js +77 -81
  14. package/dist/events.d.ts +17 -17
  15. package/dist/events.js +1 -1
  16. package/dist/first-value-journey.d.ts +49 -55
  17. package/dist/first-value-journey.js +6 -13
  18. package/dist/forecast.d.ts +71 -71
  19. package/dist/forecast.js +1 -1
  20. package/dist/identifiers.d.ts +20 -20
  21. package/dist/identifiers.js +1 -1
  22. package/dist/identity.d.ts +41 -37
  23. package/dist/identity.js +5 -4
  24. package/dist/index.d.ts +10 -5
  25. package/dist/index.js +10 -5
  26. package/dist/mcp.d.ts +21 -19
  27. package/dist/mcp.js +1 -1
  28. package/dist/naming.d.ts +45 -0
  29. package/dist/naming.js +159 -0
  30. package/dist/oauth.d.ts +186 -172
  31. package/dist/oauth.js +1 -1
  32. package/dist/operation-definitions.d.ts +9 -0
  33. package/dist/operation-definitions.js +7 -0
  34. package/dist/operations.d.ts +4162 -2171
  35. package/dist/operations.js +2679 -908
  36. package/dist/organization-lifecycle.d.ts +34 -0
  37. package/dist/organization-lifecycle.js +122 -0
  38. package/dist/partition.d.ts +26 -0
  39. package/dist/policy.d.ts +4 -4
  40. package/dist/policy.js +9 -5
  41. package/dist/problems.d.ts +32 -26
  42. package/dist/problems.js +6 -2
  43. package/dist/protocol.d.ts +204 -75
  44. package/dist/protocol.js +108 -36
  45. package/dist/scheduling-records.d.ts +343 -285
  46. package/dist/scheduling-records.js +1 -1
  47. package/dist/scheduling.d.ts +670 -360
  48. package/dist/scheduling.js +382 -56
  49. package/dist/secrets.d.ts +119 -105
  50. package/dist/secrets.js +1 -1
  51. package/dist/signatures.d.ts +74 -74
  52. package/dist/signatures.js +1 -1
  53. package/dist/tenancy.d.ts +142 -68
  54. package/dist/tenancy.js +70 -17
  55. package/dist/test-sink.d.ts +127 -127
  56. package/dist/test-sink.js +1 -1
  57. package/dist/time.d.ts +4 -4
  58. package/dist/time.js +1 -1
  59. package/dist/timing.d.ts +65 -0
  60. package/dist/timing.js +82 -0
  61. package/dist/usage.d.ts +103 -47
  62. package/dist/usage.js +197 -31
  63. package/dist/workspace.d.ts +34 -34
  64. package/dist/workspace.js +1 -1
  65. package/dist/zod-values.d.ts +3 -0
  66. package/dist/zod-values.js +2 -0
  67. package/dist/zod.d.ts +2 -0
  68. package/dist/zod.js +2 -0
  69. package/generated/v1/examples/attempts.list.response.json +4 -0
  70. package/generated/v1/examples/attempts.read.response.json +4 -0
  71. package/generated/v1/examples/billing.autotopup.request.json +5 -0
  72. package/generated/v1/examples/billing.autotopup.response.json +120 -0
  73. package/generated/v1/examples/billing.autotopuppreview.request.json +19 -0
  74. package/generated/v1/examples/billing.autotopuppreview.response.json +45 -0
  75. package/generated/v1/examples/billing.budgets.request.json +13 -0
  76. package/generated/v1/examples/billing.budgets.response.json +22 -0
  77. package/generated/v1/examples/billing.ceiling.request.json +8 -0
  78. package/generated/v1/examples/billing.ceiling.response.json +120 -0
  79. package/generated/v1/examples/billing.change.request.json +5 -0
  80. package/generated/v1/examples/billing.change.response.json +12 -0
  81. package/generated/v1/examples/billing.funding.response.json +120 -0
  82. package/generated/v1/examples/billing.fundingquote.request.json +7 -0
  83. package/generated/v1/examples/billing.fundingquote.response.json +13 -0
  84. package/generated/v1/examples/billing.ledger.response.json +23 -0
  85. package/generated/v1/examples/billing.notices.response.json +41 -0
  86. package/generated/v1/examples/billing.notificationsettings.response.json +17 -0
  87. package/generated/v1/examples/billing.notificationsettingsupdate.request.json +9 -0
  88. package/generated/v1/examples/billing.notificationsettingsupdate.response.json +17 -0
  89. package/generated/v1/examples/billing.portal.response.json +3 -0
  90. package/generated/v1/examples/billing.projects.response.json +12 -0
  91. package/generated/v1/examples/billing.purchase.request.json +5 -0
  92. package/generated/v1/examples/billing.purchase.response.json +120 -0
  93. package/generated/v1/examples/billing.quote.request.json +4 -0
  94. package/generated/v1/examples/billing.quote.response.json +19 -0
  95. package/generated/v1/examples/billing.reconcile.response.json +73 -0
  96. package/generated/v1/examples/billing.refundrequest.request.json +10 -0
  97. package/generated/v1/examples/billing.refundrequest.response.json +11 -0
  98. package/generated/v1/examples/billing.refundresolution.request.json +4 -0
  99. package/generated/v1/examples/billing.refundresolution.response.json +120 -0
  100. package/generated/v1/examples/billing.summary.response.json +73 -0
  101. package/generated/v1/examples/endpoints.acknowledgeSigningKeyRotation.response.json +18 -0
  102. package/generated/v1/examples/endpoints.create.response.json +1 -1
  103. package/generated/v1/examples/endpoints.disable.response.json +0 -1
  104. package/generated/v1/examples/{endpoints.verify.response.json → endpoints.enable.response.json} +4 -5
  105. package/generated/v1/examples/endpoints.list.response.json +1 -2
  106. package/generated/v1/examples/endpoints.read.response.json +2 -2
  107. package/generated/v1/examples/endpoints.revealSigningSecret.response.json +7 -0
  108. package/generated/v1/examples/endpoints.rotateSigningKey.response.json +1 -2
  109. package/generated/v1/examples/endpoints.update.response.json +1 -1
  110. package/generated/v1/examples/executions.list.response.json +20 -0
  111. package/generated/v1/examples/exports.cancel.response.json +11 -0
  112. package/generated/v1/examples/exports.create.request.json +1 -0
  113. package/generated/v1/examples/exports.create.response.json +8 -0
  114. package/generated/v1/examples/exports.part.response.json +5 -0
  115. package/generated/v1/examples/exports.read.response.json +8 -0
  116. package/generated/v1/examples/occurrences.read.response.json +4 -0
  117. package/generated/v1/examples/organizations.close.request.json +5 -0
  118. package/generated/v1/examples/organizations.close.response.json +10 -0
  119. package/generated/v1/examples/organizations.lifecycle.response.json +10 -0
  120. package/generated/v1/examples/organizations.restore.request.json +3 -0
  121. package/generated/v1/examples/organizations.restore.response.json +10 -0
  122. package/generated/v1/examples/projects.archive.request.json +3 -0
  123. package/generated/v1/examples/projects.archive.response.json +14 -0
  124. package/generated/v1/examples/projects.create.response.json +10 -1
  125. package/generated/v1/examples/projects.delete.response.json +9 -0
  126. package/generated/v1/examples/projects.list.response.json +12 -2
  127. package/generated/v1/examples/projects.rename.request.json +3 -0
  128. package/generated/v1/examples/projects.rename.response.json +14 -0
  129. package/generated/v1/examples/schedules.archive.response.json +3 -0
  130. package/generated/v1/examples/schedules.cancel.response.json +3 -0
  131. package/generated/v1/examples/schedules.create.request.json +4 -0
  132. package/generated/v1/examples/schedules.create.response.json +3 -0
  133. package/generated/v1/examples/schedules.list.response.json +3 -0
  134. package/generated/v1/examples/schedules.pause.response.json +3 -0
  135. package/generated/v1/examples/schedules.read.response.json +6 -0
  136. package/generated/v1/examples/schedules.replace.request.json +4 -0
  137. package/generated/v1/examples/schedules.replace.response.json +3 -0
  138. package/generated/v1/examples/schedules.resume.response.json +3 -0
  139. package/generated/v1/examples/timing.summary.response.json +35 -0
  140. package/generated/v1/examples/usage.read.response.json +1 -0
  141. package/generated/v1/first-value-journey.json +19 -10
  142. package/generated/v1/manifest.json +936 -23
  143. package/generated/v1/openapi.json +29983 -5784
  144. package/generated/v1/policy-matrix.json +278 -47
  145. package/generated/v1/schemas/attempts.list.response.json +24 -1
  146. package/generated/v1/schemas/attempts.read.response.json +24 -1
  147. package/generated/v1/schemas/billing.autotopup.request-headers.json +13 -0
  148. package/generated/v1/schemas/billing.autotopup.request.json +22 -0
  149. package/generated/v1/schemas/billing.autotopup.response-headers.json +10 -0
  150. package/generated/v1/schemas/billing.autotopup.response.json +552 -0
  151. package/generated/v1/schemas/billing.autotopuppreview.request.json +77 -0
  152. package/generated/v1/schemas/billing.autotopuppreview.response.json +277 -0
  153. package/generated/v1/schemas/billing.budgets.request-headers.json +13 -0
  154. package/generated/v1/schemas/billing.budgets.request.json +66 -0
  155. package/generated/v1/schemas/billing.budgets.response-headers.json +10 -0
  156. package/generated/v1/schemas/billing.budgets.response.json +92 -0
  157. package/generated/v1/schemas/billing.ceiling.request-headers.json +13 -0
  158. package/generated/v1/schemas/billing.ceiling.request.json +40 -0
  159. package/generated/v1/schemas/billing.ceiling.response-headers.json +10 -0
  160. package/generated/v1/schemas/billing.ceiling.response.json +552 -0
  161. package/generated/v1/schemas/billing.change.request-headers.json +13 -0
  162. package/generated/v1/schemas/billing.change.request.json +22 -0
  163. package/generated/v1/schemas/billing.change.response.json +119 -0
  164. package/generated/v1/schemas/billing.funding.response.json +552 -0
  165. package/generated/v1/schemas/billing.fundingquote.request.json +28 -0
  166. package/generated/v1/schemas/billing.fundingquote.response.json +61 -0
  167. package/generated/v1/schemas/billing.ledger.query.json +16 -0
  168. package/generated/v1/schemas/billing.ledger.response.json +125 -0
  169. package/generated/v1/schemas/billing.notices.query.json +16 -0
  170. package/generated/v1/schemas/billing.notices.response.json +278 -0
  171. package/generated/v1/schemas/billing.notificationsettings.response.json +70 -0
  172. package/generated/v1/schemas/billing.notificationsettingsupdate.request-headers.json +13 -0
  173. package/generated/v1/schemas/billing.notificationsettingsupdate.request.json +36 -0
  174. package/generated/v1/schemas/billing.notificationsettingsupdate.response-headers.json +10 -0
  175. package/generated/v1/schemas/billing.notificationsettingsupdate.response.json +70 -0
  176. package/generated/v1/schemas/billing.portal.response.json +11 -0
  177. package/generated/v1/schemas/billing.projects.response.json +119 -0
  178. package/generated/v1/schemas/billing.purchase.request-headers.json +13 -0
  179. package/generated/v1/schemas/billing.purchase.request.json +22 -0
  180. package/generated/v1/schemas/billing.purchase.response-headers.json +10 -0
  181. package/generated/v1/schemas/billing.purchase.response.json +552 -0
  182. package/generated/v1/schemas/billing.quote.request.json +20 -0
  183. package/generated/v1/schemas/billing.quote.response.json +86 -0
  184. package/generated/v1/schemas/billing.reconcile.response.json +468 -0
  185. package/generated/v1/schemas/billing.refundrequest.request-headers.json +13 -0
  186. package/generated/v1/schemas/billing.refundrequest.request.json +42 -0
  187. package/generated/v1/schemas/billing.refundrequest.response-headers.json +10 -0
  188. package/generated/v1/schemas/billing.refundrequest.response.json +45 -0
  189. package/generated/v1/schemas/billing.refundresolution.request-headers.json +13 -0
  190. package/generated/v1/schemas/billing.refundresolution.request.json +61 -0
  191. package/generated/v1/schemas/billing.refundresolution.response-headers.json +10 -0
  192. package/generated/v1/schemas/billing.refundresolution.response.json +552 -0
  193. package/generated/v1/schemas/billing.summary.response.json +468 -0
  194. package/generated/v1/schemas/context.read.response.json +2 -0
  195. package/generated/v1/schemas/credentials.connection.response.json +2 -0
  196. package/generated/v1/schemas/credentials.create.request.json +2 -0
  197. package/generated/v1/schemas/credentials.create.response.json +2 -0
  198. package/generated/v1/schemas/credentials.list.response.json +2 -0
  199. package/generated/v1/schemas/credentials.revoke.response.json +2 -0
  200. package/generated/v1/schemas/credentials.rotate.response.json +4 -0
  201. package/generated/v1/schemas/{endpoints.verify.request-headers.json → endpoints.acknowledgeSigningKeyRotation.request-headers.json} +2 -1
  202. package/generated/v1/schemas/{endpoints.verify.response.json → endpoints.acknowledgeSigningKeyRotation.response.json} +8 -21
  203. package/generated/v1/schemas/endpoints.create.request.json +5 -0
  204. package/generated/v1/schemas/endpoints.create.response.json +8 -21
  205. package/generated/v1/schemas/endpoints.disable.response.json +8 -21
  206. package/generated/v1/schemas/endpoints.enable.response-headers.json +11 -0
  207. package/generated/v1/schemas/endpoints.enable.response.json +87 -0
  208. package/generated/v1/schemas/endpoints.list.response.json +8 -21
  209. package/generated/v1/schemas/endpoints.read.response.json +8 -21
  210. package/generated/v1/schemas/endpoints.revealSigningSecret.response.json +43 -0
  211. package/generated/v1/schemas/endpoints.rotateSigningKey.response.json +8 -21
  212. package/generated/v1/schemas/endpoints.update.request.json +5 -0
  213. package/generated/v1/schemas/endpoints.update.response.json +8 -21
  214. package/generated/v1/schemas/executions.list.query.json +46 -0
  215. package/generated/v1/schemas/executions.list.response.json +116 -0
  216. package/generated/v1/schemas/exports.cancel.response.json +48 -0
  217. package/generated/v1/schemas/exports.create.request.json +6 -0
  218. package/generated/v1/schemas/exports.create.response.json +38 -0
  219. package/generated/v1/schemas/exports.part.query.json +11 -0
  220. package/generated/v1/schemas/exports.part.response.json +22 -0
  221. package/generated/v1/schemas/exports.read.response.json +38 -0
  222. package/generated/v1/schemas/grants.list.response.json +2 -0
  223. package/generated/v1/schemas/grants.revoke.response.json +2 -0
  224. package/generated/v1/schemas/occurrences.list.query.json +5 -0
  225. package/generated/v1/schemas/occurrences.list.response.json +23 -0
  226. package/generated/v1/schemas/occurrences.read.response.json +23 -0
  227. package/generated/v1/schemas/occurrences.redeliver.response.json +24 -1
  228. package/generated/v1/schemas/organizations.close.request.json +20 -0
  229. package/generated/v1/schemas/organizations.close.response.json +68 -0
  230. package/generated/v1/schemas/organizations.lifecycle.response.json +68 -0
  231. package/generated/v1/schemas/organizations.restore.request.json +13 -0
  232. package/generated/v1/schemas/organizations.restore.response.json +68 -0
  233. package/generated/v1/schemas/projects.archive.request-headers.json +11 -0
  234. package/generated/v1/schemas/projects.archive.request.json +10 -0
  235. package/generated/v1/schemas/projects.archive.response-headers.json +11 -0
  236. package/generated/v1/schemas/projects.archive.response.json +79 -0
  237. package/generated/v1/schemas/projects.create.response.json +55 -1
  238. package/generated/v1/schemas/projects.delete.request-headers.json +11 -0
  239. package/generated/v1/schemas/projects.delete.response.json +37 -0
  240. package/generated/v1/schemas/projects.list.response.json +61 -2
  241. package/generated/v1/schemas/projects.rename.request-headers.json +11 -0
  242. package/generated/v1/schemas/projects.rename.request.json +12 -0
  243. package/generated/v1/schemas/projects.rename.response-headers.json +11 -0
  244. package/generated/v1/schemas/projects.rename.response.json +79 -0
  245. package/generated/v1/schemas/schedules.archive.response.json +90 -2
  246. package/generated/v1/schemas/schedules.cancel.response.json +90 -2
  247. package/generated/v1/schemas/schedules.create.request.json +24 -3
  248. package/generated/v1/schemas/schedules.create.response.json +90 -2
  249. package/generated/v1/schemas/schedules.list.query.json +13 -0
  250. package/generated/v1/schemas/schedules.list.response.json +67 -2
  251. package/generated/v1/schemas/schedules.pause.response.json +90 -2
  252. package/generated/v1/schemas/schedules.read.response.json +90 -2
  253. package/generated/v1/schemas/schedules.replace.request.json +24 -3
  254. package/generated/v1/schemas/schedules.replace.response.json +90 -2
  255. package/generated/v1/schemas/schedules.resume.response.json +90 -2
  256. package/generated/v1/schemas/timing.summary.response.json +191 -0
  257. package/generated/v1/schemas/usage.read.query.json +7 -0
  258. package/generated/v1/schemas/usage.read.response.json +36 -1
  259. package/generated/v1/snippets/billing.autotopup.json +6 -0
  260. package/generated/v1/snippets/billing.autotopuppreview.json +6 -0
  261. package/generated/v1/snippets/billing.budgets.json +6 -0
  262. package/generated/v1/snippets/billing.ceiling.json +6 -0
  263. package/generated/v1/snippets/billing.change.json +6 -0
  264. package/generated/v1/snippets/billing.funding.json +6 -0
  265. package/generated/v1/snippets/billing.fundingquote.json +6 -0
  266. package/generated/v1/snippets/billing.ledger.json +6 -0
  267. package/generated/v1/snippets/billing.notices.json +6 -0
  268. package/generated/v1/snippets/billing.notificationsettings.json +6 -0
  269. package/generated/v1/snippets/billing.notificationsettingsupdate.json +6 -0
  270. package/generated/v1/snippets/billing.portal.json +6 -0
  271. package/generated/v1/snippets/billing.projects.json +6 -0
  272. package/generated/v1/snippets/billing.purchase.json +6 -0
  273. package/generated/v1/snippets/billing.quote.json +6 -0
  274. package/generated/v1/snippets/billing.reconcile.json +6 -0
  275. package/generated/v1/snippets/billing.refundrequest.json +6 -0
  276. package/generated/v1/snippets/billing.refundresolution.json +6 -0
  277. package/generated/v1/snippets/billing.summary.json +6 -0
  278. package/generated/v1/snippets/endpoints.acknowledgeSigningKeyRotation.json +6 -0
  279. package/generated/v1/snippets/{endpoints.verify.json → endpoints.enable.json} +3 -3
  280. package/generated/v1/snippets/endpoints.revealSigningSecret.json +6 -0
  281. package/generated/v1/snippets/executions.list.json +6 -0
  282. package/generated/v1/snippets/exports.cancel.json +6 -0
  283. package/generated/v1/snippets/exports.create.json +6 -0
  284. package/generated/v1/snippets/exports.part.json +6 -0
  285. package/generated/v1/snippets/exports.read.json +6 -0
  286. package/generated/v1/snippets/organizations.close.json +6 -0
  287. package/generated/v1/snippets/organizations.lifecycle.json +6 -0
  288. package/generated/v1/snippets/organizations.restore.json +6 -0
  289. package/generated/v1/snippets/projects.archive.json +6 -0
  290. package/generated/v1/snippets/projects.delete.json +6 -0
  291. package/generated/v1/snippets/projects.rename.json +6 -0
  292. package/generated/v1/snippets/schedules.create.json +3 -3
  293. package/generated/v1/snippets/schedules.replace.json +3 -3
  294. package/generated/v1/snippets/timing.summary.json +6 -0
  295. package/package.json +1 -6
  296. package/dist/callback-ownership.d.ts +0 -58
  297. package/dist/callback-ownership.js +0 -71
  298. package/generated/v1/callback-endpoint-verification.json +0 -59
  299. /package/generated/v1/schemas/{endpoints.verify.response-headers.json → endpoints.acknowledgeSigningKeyRotation.response-headers.json} +0 -0
@@ -3,42 +3,175 @@
3
3
  "mutates": false,
4
4
  "operation": "attempts.list",
5
5
  "principals": ["api-credential", "oauth", "session"],
6
- "roles": ["admin", "member"],
6
+ "roles": ["admin", "billing", "member"],
7
7
  "scopes": ["occurrences:read"]
8
8
  },
9
9
  {
10
10
  "mutates": false,
11
11
  "operation": "attempts.read",
12
12
  "principals": ["api-credential", "oauth", "session"],
13
- "roles": ["admin", "member"],
13
+ "roles": ["admin", "billing", "member"],
14
14
  "scopes": ["occurrences:read"]
15
15
  },
16
+ {
17
+ "mutates": true,
18
+ "operation": "billing.autotopup",
19
+ "principals": ["api-credential", "oauth", "session"],
20
+ "roles": ["admin", "billing"],
21
+ "scopes": ["billing:write"]
22
+ },
23
+ {
24
+ "mutates": false,
25
+ "operation": "billing.autotopuppreview",
26
+ "principals": ["api-credential", "oauth", "session"],
27
+ "roles": ["admin", "billing"],
28
+ "scopes": ["billing:write"]
29
+ },
30
+ {
31
+ "mutates": true,
32
+ "operation": "billing.budgets",
33
+ "principals": ["api-credential", "oauth", "session"],
34
+ "roles": ["admin", "billing"],
35
+ "scopes": ["billing:write"]
36
+ },
37
+ {
38
+ "mutates": true,
39
+ "operation": "billing.ceiling",
40
+ "principals": ["api-credential", "oauth", "session"],
41
+ "roles": ["admin", "billing"],
42
+ "scopes": ["billing:write"]
43
+ },
44
+ {
45
+ "mutates": true,
46
+ "operation": "billing.change",
47
+ "principals": ["api-credential", "oauth", "session"],
48
+ "roles": ["admin", "billing"],
49
+ "scopes": ["billing:write"]
50
+ },
51
+ {
52
+ "mutates": false,
53
+ "operation": "billing.funding",
54
+ "principals": ["api-credential", "oauth", "session"],
55
+ "roles": ["admin", "billing", "member"],
56
+ "scopes": ["usage:read"]
57
+ },
58
+ {
59
+ "mutates": false,
60
+ "operation": "billing.fundingquote",
61
+ "principals": ["api-credential", "oauth", "session"],
62
+ "roles": ["admin", "billing"],
63
+ "scopes": ["billing:write"]
64
+ },
65
+ {
66
+ "mutates": false,
67
+ "operation": "billing.ledger",
68
+ "principals": ["api-credential", "oauth", "session"],
69
+ "roles": ["admin", "billing", "member"],
70
+ "scopes": ["usage:read"]
71
+ },
72
+ {
73
+ "mutates": false,
74
+ "operation": "billing.notices",
75
+ "principals": ["api-credential", "oauth", "session"],
76
+ "roles": ["admin", "billing", "member"],
77
+ "scopes": ["usage:read"]
78
+ },
79
+ {
80
+ "mutates": false,
81
+ "operation": "billing.notificationsettings",
82
+ "principals": ["api-credential", "oauth", "session"],
83
+ "roles": ["admin", "billing", "member"],
84
+ "scopes": ["usage:read"]
85
+ },
86
+ {
87
+ "mutates": true,
88
+ "operation": "billing.notificationsettingsupdate",
89
+ "principals": ["api-credential", "oauth", "session"],
90
+ "roles": ["admin", "billing"],
91
+ "scopes": ["billing:write"]
92
+ },
93
+ {
94
+ "mutates": true,
95
+ "operation": "billing.portal",
96
+ "principals": ["api-credential", "oauth", "session"],
97
+ "roles": ["admin", "billing"],
98
+ "scopes": ["billing:write"]
99
+ },
100
+ {
101
+ "mutates": false,
102
+ "operation": "billing.projects",
103
+ "principals": ["api-credential", "oauth", "session"],
104
+ "roles": ["admin", "billing", "member"],
105
+ "scopes": ["usage:read"]
106
+ },
107
+ {
108
+ "mutates": true,
109
+ "operation": "billing.purchase",
110
+ "principals": ["api-credential", "oauth", "session"],
111
+ "roles": ["admin", "billing"],
112
+ "scopes": ["billing:write"]
113
+ },
114
+ {
115
+ "mutates": false,
116
+ "operation": "billing.quote",
117
+ "principals": ["api-credential", "oauth", "session"],
118
+ "roles": ["admin", "billing"],
119
+ "scopes": ["billing:write"]
120
+ },
121
+ {
122
+ "mutates": true,
123
+ "operation": "billing.reconcile",
124
+ "principals": ["api-credential", "oauth", "session"],
125
+ "roles": ["admin", "billing"],
126
+ "scopes": ["billing:write"]
127
+ },
128
+ {
129
+ "mutates": true,
130
+ "operation": "billing.refundrequest",
131
+ "principals": ["api-credential", "oauth", "session"],
132
+ "roles": ["admin", "billing"],
133
+ "scopes": ["billing:write"]
134
+ },
135
+ {
136
+ "mutates": true,
137
+ "operation": "billing.refundresolution",
138
+ "principals": ["api-credential", "oauth", "session"],
139
+ "roles": ["admin", "billing"],
140
+ "scopes": ["billing:write"]
141
+ },
142
+ {
143
+ "mutates": false,
144
+ "operation": "billing.summary",
145
+ "principals": ["api-credential", "oauth", "session"],
146
+ "roles": ["admin", "billing", "member"],
147
+ "scopes": ["usage:read"]
148
+ },
16
149
  {
17
150
  "mutates": false,
18
151
  "operation": "context.read",
19
152
  "principals": ["api-credential", "oauth"],
20
- "roles": ["admin", "member"],
153
+ "roles": ["admin", "billing", "member"],
21
154
  "scopes": []
22
155
  },
23
156
  {
24
157
  "mutates": false,
25
158
  "operation": "credentials.connection",
26
159
  "principals": ["session"],
27
- "roles": ["admin", "member"],
160
+ "roles": ["admin", "billing", "member"],
28
161
  "scopes": ["credentials:read"]
29
162
  },
30
163
  {
31
164
  "mutates": true,
32
165
  "operation": "credentials.create",
33
166
  "principals": ["session"],
34
- "roles": ["admin", "member"],
167
+ "roles": ["admin", "billing", "member"],
35
168
  "scopes": ["credentials:write"]
36
169
  },
37
170
  {
38
171
  "mutates": false,
39
172
  "operation": "credentials.list",
40
173
  "principals": ["api-credential", "oauth", "session"],
41
- "roles": ["admin", "member"],
174
+ "roles": ["admin", "billing", "member"],
42
175
  "scopes": ["credentials:read"]
43
176
  },
44
177
  {
@@ -46,7 +179,7 @@
46
179
  "operation": "credentials.revoke",
47
180
  "conditionalScopes": ["credentials:administer"],
48
181
  "principals": ["api-credential", "oauth", "session"],
49
- "roles": ["admin", "member"],
182
+ "roles": ["admin", "billing", "member"],
50
183
  "scopes": ["credentials:write"]
51
184
  },
52
185
  {
@@ -54,266 +187,364 @@
54
187
  "operation": "credentials.rotate",
55
188
  "conditionalScopes": ["credentials:administer"],
56
189
  "principals": ["api-credential", "oauth", "session"],
57
- "roles": ["admin", "member"],
190
+ "roles": ["admin", "billing", "member"],
58
191
  "scopes": ["credentials:write"]
59
192
  },
193
+ {
194
+ "mutates": true,
195
+ "operation": "endpoints.acknowledgeSigningKeyRotation",
196
+ "principals": ["api-credential", "oauth", "session"],
197
+ "roles": ["admin", "billing", "member"],
198
+ "scopes": ["endpoints:write"]
199
+ },
60
200
  {
61
201
  "mutates": true,
62
202
  "operation": "endpoints.create",
63
203
  "principals": ["api-credential", "oauth", "session"],
64
- "roles": ["admin", "member"],
204
+ "roles": ["admin", "billing", "member"],
65
205
  "scopes": ["endpoints:write"]
66
206
  },
67
207
  {
68
208
  "mutates": true,
69
209
  "operation": "endpoints.disable",
70
210
  "principals": ["api-credential", "oauth", "session"],
71
- "roles": ["admin", "member"],
211
+ "roles": ["admin", "billing", "member"],
212
+ "scopes": ["endpoints:write"]
213
+ },
214
+ {
215
+ "mutates": true,
216
+ "operation": "endpoints.enable",
217
+ "principals": ["api-credential", "oauth", "session"],
218
+ "roles": ["admin", "billing", "member"],
72
219
  "scopes": ["endpoints:write"]
73
220
  },
74
221
  {
75
222
  "mutates": false,
76
223
  "operation": "endpoints.list",
77
224
  "principals": ["api-credential", "oauth", "session"],
78
- "roles": ["admin", "member"],
225
+ "roles": ["admin", "billing", "member"],
79
226
  "scopes": ["endpoints:read"]
80
227
  },
81
228
  {
82
229
  "mutates": false,
83
230
  "operation": "endpoints.read",
84
231
  "principals": ["api-credential", "oauth", "session"],
85
- "roles": ["admin", "member"],
232
+ "roles": ["admin", "billing", "member"],
86
233
  "scopes": ["endpoints:read"]
87
234
  },
235
+ {
236
+ "mutates": false,
237
+ "operation": "endpoints.revealSigningSecret",
238
+ "principals": ["session"],
239
+ "roles": ["admin", "billing", "member"],
240
+ "scopes": ["endpoints:write"]
241
+ },
88
242
  {
89
243
  "mutates": true,
90
244
  "operation": "endpoints.rotateSigningKey",
91
245
  "principals": ["api-credential", "oauth", "session"],
92
- "roles": ["admin", "member"],
246
+ "roles": ["admin", "billing", "member"],
93
247
  "scopes": ["endpoints:write"]
94
248
  },
95
249
  {
96
250
  "mutates": true,
97
251
  "operation": "endpoints.update",
98
252
  "principals": ["api-credential", "oauth", "session"],
99
- "roles": ["admin", "member"],
253
+ "roles": ["admin", "billing", "member"],
100
254
  "scopes": ["endpoints:write"]
101
255
  },
256
+ {
257
+ "mutates": false,
258
+ "operation": "executions.list",
259
+ "principals": ["api-credential", "oauth", "session"],
260
+ "roles": ["admin", "billing", "member"],
261
+ "scopes": ["occurrences:read"]
262
+ },
102
263
  {
103
264
  "mutates": true,
104
- "operation": "endpoints.verify",
265
+ "operation": "exports.cancel",
105
266
  "principals": ["api-credential", "oauth", "session"],
106
- "roles": ["admin", "member"],
107
- "scopes": ["endpoints:write"]
267
+ "roles": ["admin", "billing", "member"],
268
+ "scopes": ["schedules:read", "endpoints:read"]
269
+ },
270
+ {
271
+ "mutates": true,
272
+ "operation": "exports.create",
273
+ "principals": ["api-credential", "oauth", "session"],
274
+ "roles": ["admin", "billing", "member"],
275
+ "scopes": ["schedules:read", "endpoints:read"]
276
+ },
277
+ {
278
+ "mutates": false,
279
+ "operation": "exports.part",
280
+ "principals": ["api-credential", "oauth", "session"],
281
+ "roles": ["admin", "billing", "member"],
282
+ "scopes": ["schedules:read", "endpoints:read"]
283
+ },
284
+ {
285
+ "mutates": false,
286
+ "operation": "exports.read",
287
+ "principals": ["api-credential", "oauth", "session"],
288
+ "roles": ["admin", "billing", "member"],
289
+ "scopes": ["schedules:read", "endpoints:read"]
108
290
  },
109
291
  {
110
292
  "mutates": false,
111
293
  "operation": "forecast.read",
112
294
  "principals": ["api-credential", "oauth", "session"],
113
- "roles": ["admin", "member"],
295
+ "roles": ["admin", "billing", "member"],
114
296
  "scopes": ["forecast:read"]
115
297
  },
116
298
  {
117
299
  "mutates": false,
118
300
  "operation": "forecast.windows",
119
301
  "principals": ["api-credential", "oauth", "session"],
120
- "roles": ["admin", "member"],
302
+ "roles": ["admin", "billing", "member"],
121
303
  "scopes": ["forecast:read"]
122
304
  },
123
305
  {
124
306
  "mutates": false,
125
307
  "operation": "grants.list",
126
308
  "principals": ["session"],
127
- "roles": ["admin", "member"],
309
+ "roles": ["admin", "billing", "member"],
128
310
  "scopes": ["grants:read"]
129
311
  },
130
312
  {
131
313
  "mutates": true,
132
314
  "operation": "grants.revoke",
133
315
  "principals": ["session"],
134
- "roles": ["admin", "member"],
316
+ "roles": ["admin", "billing", "member"],
135
317
  "scopes": ["grants:write"]
136
318
  },
137
319
  {
138
320
  "mutates": false,
139
321
  "operation": "meta.scaffold",
140
322
  "principals": [],
141
- "roles": ["admin", "member"],
323
+ "roles": ["admin", "billing", "member"],
142
324
  "scopes": []
143
325
  },
144
326
  {
145
327
  "mutates": false,
146
328
  "operation": "meta.version",
147
329
  "principals": [],
148
- "roles": ["admin", "member"],
330
+ "roles": ["admin", "billing", "member"],
149
331
  "scopes": []
150
332
  },
151
333
  {
152
334
  "mutates": false,
153
335
  "operation": "mock.getFixture",
154
336
  "principals": [],
155
- "roles": ["admin", "member"],
337
+ "roles": ["admin", "billing", "member"],
156
338
  "scopes": []
157
339
  },
158
340
  {
159
341
  "mutates": false,
160
342
  "operation": "mock.listFixtures",
161
343
  "principals": [],
162
- "roles": ["admin", "member"],
344
+ "roles": ["admin", "billing", "member"],
163
345
  "scopes": []
164
346
  },
165
347
  {
166
348
  "mutates": true,
167
349
  "operation": "mock.setScenario",
168
350
  "principals": [],
169
- "roles": ["admin", "member"],
351
+ "roles": ["admin", "billing", "member"],
170
352
  "scopes": []
171
353
  },
172
354
  {
173
355
  "mutates": false,
174
356
  "operation": "occurrences.list",
175
357
  "principals": ["api-credential", "oauth", "session"],
176
- "roles": ["admin", "member"],
358
+ "roles": ["admin", "billing", "member"],
177
359
  "scopes": ["occurrences:read"]
178
360
  },
179
361
  {
180
362
  "mutates": false,
181
363
  "operation": "occurrences.read",
182
364
  "principals": ["api-credential", "oauth", "session"],
183
- "roles": ["admin", "member"],
365
+ "roles": ["admin", "billing", "member"],
184
366
  "scopes": ["occurrences:read"]
185
367
  },
186
368
  {
187
369
  "mutates": true,
188
370
  "operation": "occurrences.redeliver",
189
371
  "principals": ["api-credential", "oauth", "session"],
190
- "roles": ["admin", "member"],
372
+ "roles": ["admin", "billing", "member"],
191
373
  "scopes": ["occurrences:redeliver"]
192
374
  },
375
+ {
376
+ "mutates": true,
377
+ "operation": "organizations.close",
378
+ "principals": ["session"],
379
+ "roles": ["admin"],
380
+ "scopes": ["projects:administer"]
381
+ },
382
+ {
383
+ "mutates": false,
384
+ "operation": "organizations.lifecycle",
385
+ "principals": ["session"],
386
+ "roles": ["admin"],
387
+ "scopes": ["projects:administer"]
388
+ },
389
+ {
390
+ "mutates": true,
391
+ "operation": "organizations.restore",
392
+ "principals": ["session"],
393
+ "roles": ["admin"],
394
+ "scopes": ["projects:administer"]
395
+ },
396
+ {
397
+ "mutates": true,
398
+ "operation": "projects.archive",
399
+ "principals": ["api-credential", "oauth", "session"],
400
+ "roles": ["admin"],
401
+ "scopes": ["projects:administer"]
402
+ },
193
403
  {
194
404
  "mutates": true,
195
405
  "operation": "projects.create",
196
406
  "principals": ["session"],
197
- "roles": ["admin", "member"],
407
+ "roles": ["admin", "billing", "member"],
198
408
  "scopes": ["projects:write"]
199
409
  },
410
+ {
411
+ "mutates": true,
412
+ "operation": "projects.delete",
413
+ "principals": ["api-credential", "oauth", "session"],
414
+ "roles": ["admin"],
415
+ "scopes": ["projects:administer"]
416
+ },
200
417
  {
201
418
  "mutates": false,
202
419
  "operation": "projects.list",
203
420
  "principals": ["session"],
204
- "roles": ["admin", "member"],
421
+ "roles": ["admin", "billing", "member"],
205
422
  "scopes": ["projects:read"]
206
423
  },
424
+ {
425
+ "mutates": true,
426
+ "operation": "projects.rename",
427
+ "principals": ["api-credential", "oauth", "session"],
428
+ "roles": ["admin", "billing", "member"],
429
+ "scopes": ["projects:write"]
430
+ },
207
431
  {
208
432
  "mutates": true,
209
433
  "operation": "schedules.archive",
210
434
  "principals": ["api-credential", "oauth", "session"],
211
- "roles": ["admin", "member"],
435
+ "roles": ["admin", "billing", "member"],
212
436
  "scopes": ["schedules:write"]
213
437
  },
214
438
  {
215
439
  "mutates": true,
216
440
  "operation": "schedules.cancel",
217
441
  "principals": ["api-credential", "oauth", "session"],
218
- "roles": ["admin", "member"],
442
+ "roles": ["admin", "billing", "member"],
219
443
  "scopes": ["schedules:write"]
220
444
  },
221
445
  {
222
446
  "mutates": true,
223
447
  "operation": "schedules.create",
224
448
  "principals": ["api-credential", "oauth", "session"],
225
- "roles": ["admin", "member"],
449
+ "roles": ["admin", "billing", "member"],
226
450
  "scopes": ["schedules:write"]
227
451
  },
228
452
  {
229
453
  "mutates": false,
230
454
  "operation": "schedules.list",
231
455
  "principals": ["api-credential", "oauth", "session"],
232
- "roles": ["admin", "member"],
456
+ "roles": ["admin", "billing", "member"],
233
457
  "scopes": ["schedules:read"]
234
458
  },
235
459
  {
236
460
  "mutates": true,
237
461
  "operation": "schedules.pause",
238
462
  "principals": ["api-credential", "oauth", "session"],
239
- "roles": ["admin", "member"],
463
+ "roles": ["admin", "billing", "member"],
240
464
  "scopes": ["schedules:write"]
241
465
  },
242
466
  {
243
467
  "mutates": false,
244
468
  "operation": "schedules.read",
245
469
  "principals": ["api-credential", "oauth", "session"],
246
- "roles": ["admin", "member"],
470
+ "roles": ["admin", "billing", "member"],
247
471
  "scopes": ["schedules:read"]
248
472
  },
249
473
  {
250
474
  "mutates": true,
251
475
  "operation": "schedules.replace",
252
476
  "principals": ["api-credential", "oauth", "session"],
253
- "roles": ["admin", "member"],
477
+ "roles": ["admin", "billing", "member"],
254
478
  "scopes": ["schedules:write"]
255
479
  },
256
480
  {
257
481
  "mutates": true,
258
482
  "operation": "schedules.resume",
259
483
  "principals": ["api-credential", "oauth", "session"],
260
- "roles": ["admin", "member"],
484
+ "roles": ["admin", "billing", "member"],
261
485
  "scopes": ["schedules:write"]
262
486
  },
263
487
  {
264
488
  "mutates": false,
265
489
  "operation": "sinkdeliveries.list",
266
490
  "principals": ["api-credential", "oauth", "session"],
267
- "roles": ["admin", "member"],
491
+ "roles": ["admin", "billing", "member"],
268
492
  "scopes": ["endpoints:read"]
269
493
  },
270
494
  {
271
495
  "mutates": false,
272
496
  "operation": "sinkdeliveries.read",
273
497
  "principals": ["api-credential", "oauth", "session"],
274
- "roles": ["admin", "member"],
498
+ "roles": ["admin", "billing", "member"],
275
499
  "scopes": ["endpoints:read"]
276
500
  },
277
501
  {
278
502
  "mutates": true,
279
503
  "operation": "testsinks.configure",
280
504
  "principals": ["api-credential", "oauth", "session"],
281
- "roles": ["admin", "member"],
505
+ "roles": ["admin", "billing", "member"],
282
506
  "scopes": ["endpoints:write"]
283
507
  },
284
508
  {
285
509
  "mutates": true,
286
510
  "operation": "testsinks.create",
287
511
  "principals": ["api-credential", "oauth", "session"],
288
- "roles": ["admin", "member"],
512
+ "roles": ["admin", "billing", "member"],
289
513
  "scopes": ["endpoints:write"]
290
514
  },
291
515
  {
292
516
  "mutates": true,
293
517
  "operation": "testsinks.delete",
294
518
  "principals": ["api-credential", "oauth", "session"],
295
- "roles": ["admin", "member"],
519
+ "roles": ["admin", "billing", "member"],
296
520
  "scopes": ["endpoints:write"]
297
521
  },
298
522
  {
299
523
  "mutates": false,
300
524
  "operation": "testsinks.list",
301
525
  "principals": ["api-credential", "oauth", "session"],
302
- "roles": ["admin", "member"],
526
+ "roles": ["admin", "billing", "member"],
303
527
  "scopes": ["endpoints:read"]
304
528
  },
305
529
  {
306
530
  "mutates": false,
307
531
  "operation": "testsinks.read",
308
532
  "principals": ["api-credential", "oauth", "session"],
309
- "roles": ["admin", "member"],
533
+ "roles": ["admin", "billing", "member"],
310
534
  "scopes": ["endpoints:read"]
311
535
  },
536
+ {
537
+ "mutates": false,
538
+ "operation": "timing.summary",
539
+ "principals": ["api-credential", "oauth", "session"],
540
+ "roles": ["admin", "billing", "member"],
541
+ "scopes": ["usage:read"]
542
+ },
312
543
  {
313
544
  "mutates": false,
314
545
  "operation": "usage.read",
315
546
  "principals": ["api-credential", "oauth", "session"],
316
- "roles": ["admin", "member"],
547
+ "roles": ["admin", "billing", "member"],
317
548
  "scopes": ["usage:read"]
318
549
  }
319
550
  ]
@@ -42,6 +42,29 @@
42
42
  "minimum": 0,
43
43
  "maximum": 9007199254740991
44
44
  },
45
+ "firstAttemptLatenessMs": {
46
+ "type": "integer",
47
+ "minimum": -9007199254740991,
48
+ "maximum": 9007199254740991
49
+ },
50
+ "firstAttemptStartedAt": {
51
+ "type": "string",
52
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
53
+ },
54
+ "timingEligibility": {
55
+ "type": "string",
56
+ "enum": ["eligible", "customer_blocked", "platform_blocked"]
57
+ },
58
+ "timingEligibilityReason": {
59
+ "type": "string",
60
+ "minLength": 1,
61
+ "maxLength": 128
62
+ },
63
+ "timingPolicyVersion": {
64
+ "type": "string",
65
+ "minLength": 1,
66
+ "maxLength": 64
67
+ },
45
68
  "id": {
46
69
  "type": "string",
47
70
  "pattern": "^att_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
@@ -56,7 +79,7 @@
56
79
  "none",
57
80
  "review_retry_policy",
58
81
  "inspect_receiver",
59
- "verify_endpoint",
82
+ "review_endpoint",
60
83
  "replace_payload",
61
84
  "contact_support",
62
85
  "review_before_redelivery"
@@ -40,6 +40,29 @@
40
40
  "minimum": 0,
41
41
  "maximum": 9007199254740991
42
42
  },
43
+ "firstAttemptLatenessMs": {
44
+ "type": "integer",
45
+ "minimum": -9007199254740991,
46
+ "maximum": 9007199254740991
47
+ },
48
+ "firstAttemptStartedAt": {
49
+ "type": "string",
50
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
51
+ },
52
+ "timingEligibility": {
53
+ "type": "string",
54
+ "enum": ["eligible", "customer_blocked", "platform_blocked"]
55
+ },
56
+ "timingEligibilityReason": {
57
+ "type": "string",
58
+ "minLength": 1,
59
+ "maxLength": 128
60
+ },
61
+ "timingPolicyVersion": {
62
+ "type": "string",
63
+ "minLength": 1,
64
+ "maxLength": 64
65
+ },
43
66
  "id": {
44
67
  "type": "string",
45
68
  "pattern": "^att_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
@@ -54,7 +77,7 @@
54
77
  "none",
55
78
  "review_retry_policy",
56
79
  "inspect_receiver",
57
- "verify_endpoint",
80
+ "review_endpoint",
58
81
  "replace_payload",
59
82
  "contact_support",
60
83
  "review_before_redelivery"