@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
@@ -0,0 +1,552 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "automaticExecutionTopUp": {
6
+ "type": "object",
7
+ "properties": {
8
+ "ceiling": {
9
+ "anyOf": [
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "currency": {
14
+ "type": "string",
15
+ "const": "USD"
16
+ },
17
+ "microdollars": {
18
+ "type": "string",
19
+ "pattern": "^(?:0|(?:[1-9]\\d{0,13}|[1-8]\\d{14}|9[01]\\d{13}|92[01]\\d{12}|922[0-2]\\d{11}|9223[0-2]\\d{10}|92233[0-6]\\d{9}|922337[01]\\d{8}|92233720[0-2]\\d{6}|922337203[0-5]\\d{5}|9223372036[0-7]\\d{4}|92233720368[0-4]\\d{3}|922337203685[0-3]\\d{2}|9223372036854[0-6]\\d|92233720368547[0-7])0000)$",
20
+ "description": "A canonical nonnegative integer multiple of 10,000 microdollars, no greater than 9,223,372,036,854,770,000.",
21
+ "maxLength": 19
22
+ },
23
+ "scale": {
24
+ "type": "number",
25
+ "const": 6
26
+ }
27
+ },
28
+ "required": ["currency", "microdollars", "scale"]
29
+ },
30
+ {
31
+ "type": "null"
32
+ }
33
+ ]
34
+ },
35
+ "currentPeriod": {
36
+ "type": "object",
37
+ "properties": {
38
+ "end": {
39
+ "type": "string",
40
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
41
+ },
42
+ "pending": {
43
+ "type": "object",
44
+ "properties": {
45
+ "currency": {
46
+ "type": "string",
47
+ "const": "USD"
48
+ },
49
+ "microdollars": {
50
+ "type": "string",
51
+ "pattern": "^(?:0|[1-9]\\d*)$"
52
+ },
53
+ "scale": {
54
+ "type": "number",
55
+ "const": 6
56
+ }
57
+ },
58
+ "required": ["currency", "microdollars", "scale"]
59
+ },
60
+ "remaining": {
61
+ "anyOf": [
62
+ {
63
+ "type": "object",
64
+ "properties": {
65
+ "currency": {
66
+ "type": "string",
67
+ "const": "USD"
68
+ },
69
+ "microdollars": {
70
+ "type": "string",
71
+ "pattern": "^(?:0|[1-9]\\d*)$"
72
+ },
73
+ "scale": {
74
+ "type": "number",
75
+ "const": 6
76
+ }
77
+ },
78
+ "required": ["currency", "microdollars", "scale"]
79
+ },
80
+ {
81
+ "type": "null"
82
+ }
83
+ ]
84
+ },
85
+ "settled": {
86
+ "type": "object",
87
+ "properties": {
88
+ "currency": {
89
+ "type": "string",
90
+ "const": "USD"
91
+ },
92
+ "microdollars": {
93
+ "type": "string",
94
+ "pattern": "^(?:0|[1-9]\\d*)$"
95
+ },
96
+ "scale": {
97
+ "type": "number",
98
+ "const": 6
99
+ }
100
+ },
101
+ "required": ["currency", "microdollars", "scale"]
102
+ },
103
+ "start": {
104
+ "type": "string",
105
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
106
+ }
107
+ },
108
+ "required": ["end", "pending", "remaining", "settled", "start"]
109
+ },
110
+ "rule": {
111
+ "type": "object",
112
+ "properties": {
113
+ "cooldownUntil": {
114
+ "anyOf": [
115
+ {
116
+ "type": "string",
117
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
118
+ },
119
+ {
120
+ "type": "null"
121
+ }
122
+ ]
123
+ },
124
+ "desired": {
125
+ "anyOf": [
126
+ {
127
+ "type": "object",
128
+ "properties": {
129
+ "ceiling": {
130
+ "type": "object",
131
+ "properties": {
132
+ "currency": {
133
+ "type": "string",
134
+ "const": "USD"
135
+ },
136
+ "microdollars": {
137
+ "type": "string",
138
+ "pattern": "^(?:0|(?:[1-9]\\d{0,13}|[1-8]\\d{14}|9[01]\\d{13}|92[01]\\d{12}|922[0-2]\\d{11}|9223[0-2]\\d{10}|92233[0-6]\\d{9}|922337[01]\\d{8}|92233720[0-2]\\d{6}|922337203[0-5]\\d{5}|9223372036[0-7]\\d{4}|92233720368[0-4]\\d{3}|922337203685[0-3]\\d{2}|9223372036854[0-6]\\d|92233720368547[0-7])0000)$",
139
+ "description": "A canonical nonnegative integer multiple of 10,000 microdollars, no greater than 9,223,372,036,854,770,000.",
140
+ "maxLength": 19
141
+ },
142
+ "scale": {
143
+ "type": "number",
144
+ "const": 6
145
+ }
146
+ },
147
+ "required": ["currency", "microdollars", "scale"]
148
+ },
149
+ "credit": {
150
+ "type": "object",
151
+ "properties": {
152
+ "currency": {
153
+ "type": "string",
154
+ "const": "USD"
155
+ },
156
+ "microdollars": {
157
+ "type": "string",
158
+ "pattern": "^(?:0|(?:[1-9]\\d{0,13}|[1-8]\\d{14}|9[01]\\d{13}|92[01]\\d{12}|922[0-2]\\d{11}|9223[0-2]\\d{10}|92233[0-6]\\d{9}|922337[01]\\d{8}|92233720[0-2]\\d{6}|922337203[0-5]\\d{5}|9223372036[0-7]\\d{4}|92233720368[0-4]\\d{3}|922337203685[0-3]\\d{2}|9223372036854[0-6]\\d|92233720368547[0-7])0000)$",
159
+ "description": "A canonical nonnegative integer multiple of 10,000 microdollars, no greater than 9,223,372,036,854,770,000.",
160
+ "maxLength": 19
161
+ },
162
+ "scale": {
163
+ "type": "number",
164
+ "const": 6
165
+ }
166
+ },
167
+ "required": ["currency", "microdollars", "scale"]
168
+ },
169
+ "triggerBelow": {
170
+ "type": "object",
171
+ "properties": {
172
+ "currency": {
173
+ "type": "string",
174
+ "const": "USD"
175
+ },
176
+ "microdollars": {
177
+ "type": "string",
178
+ "pattern": "^(?:0|(?:[1-9]\\d{0,13}|[1-8]\\d{14}|9[01]\\d{13}|92[01]\\d{12}|922[0-2]\\d{11}|9223[0-2]\\d{10}|92233[0-6]\\d{9}|922337[01]\\d{8}|92233720[0-2]\\d{6}|922337203[0-5]\\d{5}|9223372036[0-7]\\d{4}|92233720368[0-4]\\d{3}|922337203685[0-3]\\d{2}|9223372036854[0-6]\\d|92233720368547[0-7])0000)$",
179
+ "description": "A canonical nonnegative integer multiple of 10,000 microdollars, no greater than 9,223,372,036,854,770,000.",
180
+ "maxLength": 19
181
+ },
182
+ "scale": {
183
+ "type": "number",
184
+ "const": 6
185
+ }
186
+ },
187
+ "required": ["currency", "microdollars", "scale"]
188
+ }
189
+ },
190
+ "required": ["ceiling", "credit", "triggerBelow"]
191
+ },
192
+ {
193
+ "type": "null"
194
+ }
195
+ ]
196
+ },
197
+ "effective": {
198
+ "anyOf": [
199
+ {
200
+ "type": "object",
201
+ "properties": {
202
+ "ceiling": {
203
+ "type": "object",
204
+ "properties": {
205
+ "currency": {
206
+ "type": "string",
207
+ "const": "USD"
208
+ },
209
+ "microdollars": {
210
+ "type": "string",
211
+ "pattern": "^(?:0|(?:[1-9]\\d{0,13}|[1-8]\\d{14}|9[01]\\d{13}|92[01]\\d{12}|922[0-2]\\d{11}|9223[0-2]\\d{10}|92233[0-6]\\d{9}|922337[01]\\d{8}|92233720[0-2]\\d{6}|922337203[0-5]\\d{5}|9223372036[0-7]\\d{4}|92233720368[0-4]\\d{3}|922337203685[0-3]\\d{2}|9223372036854[0-6]\\d|92233720368547[0-7])0000)$",
212
+ "description": "A canonical nonnegative integer multiple of 10,000 microdollars, no greater than 9,223,372,036,854,770,000.",
213
+ "maxLength": 19
214
+ },
215
+ "scale": {
216
+ "type": "number",
217
+ "const": 6
218
+ }
219
+ },
220
+ "required": ["currency", "microdollars", "scale"]
221
+ },
222
+ "credit": {
223
+ "type": "object",
224
+ "properties": {
225
+ "currency": {
226
+ "type": "string",
227
+ "const": "USD"
228
+ },
229
+ "microdollars": {
230
+ "type": "string",
231
+ "pattern": "^(?:0|(?:[1-9]\\d{0,13}|[1-8]\\d{14}|9[01]\\d{13}|92[01]\\d{12}|922[0-2]\\d{11}|9223[0-2]\\d{10}|92233[0-6]\\d{9}|922337[01]\\d{8}|92233720[0-2]\\d{6}|922337203[0-5]\\d{5}|9223372036[0-7]\\d{4}|92233720368[0-4]\\d{3}|922337203685[0-3]\\d{2}|9223372036854[0-6]\\d|92233720368547[0-7])0000)$",
232
+ "description": "A canonical nonnegative integer multiple of 10,000 microdollars, no greater than 9,223,372,036,854,770,000.",
233
+ "maxLength": 19
234
+ },
235
+ "scale": {
236
+ "type": "number",
237
+ "const": 6
238
+ }
239
+ },
240
+ "required": ["currency", "microdollars", "scale"]
241
+ },
242
+ "triggerBelow": {
243
+ "type": "object",
244
+ "properties": {
245
+ "currency": {
246
+ "type": "string",
247
+ "const": "USD"
248
+ },
249
+ "microdollars": {
250
+ "type": "string",
251
+ "pattern": "^(?:0|(?:[1-9]\\d{0,13}|[1-8]\\d{14}|9[01]\\d{13}|92[01]\\d{12}|922[0-2]\\d{11}|9223[0-2]\\d{10}|92233[0-6]\\d{9}|922337[01]\\d{8}|92233720[0-2]\\d{6}|922337203[0-5]\\d{5}|9223372036[0-7]\\d{4}|92233720368[0-4]\\d{3}|922337203685[0-3]\\d{2}|9223372036854[0-6]\\d|92233720368547[0-7])0000)$",
252
+ "description": "A canonical nonnegative integer multiple of 10,000 microdollars, no greater than 9,223,372,036,854,770,000.",
253
+ "maxLength": 19
254
+ },
255
+ "scale": {
256
+ "type": "number",
257
+ "const": 6
258
+ }
259
+ },
260
+ "required": ["currency", "microdollars", "scale"]
261
+ }
262
+ },
263
+ "required": ["ceiling", "credit", "triggerBelow"]
264
+ },
265
+ {
266
+ "type": "null"
267
+ }
268
+ ]
269
+ },
270
+ "setupUrl": {
271
+ "type": "string",
272
+ "maxLength": 4096,
273
+ "format": "uri"
274
+ },
275
+ "state": {
276
+ "type": "string",
277
+ "enum": ["disabled", "payment-method-required", "ready"]
278
+ },
279
+ "suspension": {
280
+ "anyOf": [
281
+ {
282
+ "type": "object",
283
+ "properties": {
284
+ "at": {
285
+ "type": "string",
286
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
287
+ },
288
+ "reason": {
289
+ "type": "string",
290
+ "enum": ["authentication-required", "payment-failed"]
291
+ }
292
+ },
293
+ "required": ["at", "reason"]
294
+ },
295
+ {
296
+ "type": "null"
297
+ }
298
+ ]
299
+ }
300
+ },
301
+ "required": [
302
+ "cooldownUntil",
303
+ "desired",
304
+ "effective",
305
+ "state",
306
+ "suspension"
307
+ ]
308
+ },
309
+ "revision": {
310
+ "type": "integer",
311
+ "minimum": 0,
312
+ "maximum": 9007199254740991
313
+ }
314
+ },
315
+ "required": ["ceiling", "currentPeriod", "rule", "revision"]
316
+ },
317
+ "credit": {
318
+ "type": "object",
319
+ "properties": {
320
+ "amountOwed": {
321
+ "type": "object",
322
+ "properties": {
323
+ "currency": {
324
+ "type": "string",
325
+ "const": "USD"
326
+ },
327
+ "microdollars": {
328
+ "type": "string",
329
+ "pattern": "^(?:0|[1-9]\\d*)$"
330
+ },
331
+ "scale": {
332
+ "type": "number",
333
+ "const": 6
334
+ }
335
+ },
336
+ "required": ["currency", "microdollars", "scale"]
337
+ },
338
+ "available": {
339
+ "type": "object",
340
+ "properties": {
341
+ "currency": {
342
+ "type": "string",
343
+ "const": "USD"
344
+ },
345
+ "microdollars": {
346
+ "type": "string",
347
+ "pattern": "^(?:0|[1-9]\\d*)$"
348
+ },
349
+ "scale": {
350
+ "type": "number",
351
+ "const": 6
352
+ }
353
+ },
354
+ "required": ["currency", "microdollars", "scale"]
355
+ },
356
+ "reserved": {
357
+ "type": "object",
358
+ "properties": {
359
+ "currency": {
360
+ "type": "string",
361
+ "const": "USD"
362
+ },
363
+ "microdollars": {
364
+ "type": "string",
365
+ "pattern": "^(?:0|[1-9]\\d*)$"
366
+ },
367
+ "scale": {
368
+ "type": "number",
369
+ "const": 6
370
+ }
371
+ },
372
+ "required": ["currency", "microdollars", "scale"]
373
+ }
374
+ },
375
+ "required": ["amountOwed", "available", "reserved"]
376
+ },
377
+ "freshness": {
378
+ "type": "object",
379
+ "properties": {
380
+ "kind": {
381
+ "type": "string",
382
+ "const": "authoritative"
383
+ }
384
+ },
385
+ "required": ["kind"]
386
+ },
387
+ "paymentOperations": {
388
+ "maxItems": 25,
389
+ "type": "array",
390
+ "items": {
391
+ "type": "object",
392
+ "properties": {
393
+ "createdAt": {
394
+ "type": "string",
395
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
396
+ },
397
+ "credit": {
398
+ "type": "object",
399
+ "properties": {
400
+ "currency": {
401
+ "type": "string",
402
+ "const": "USD"
403
+ },
404
+ "microdollars": {
405
+ "type": "string",
406
+ "pattern": "^(?:0|(?:[1-9]\\d{0,13}|[1-8]\\d{14}|9[01]\\d{13}|92[01]\\d{12}|922[0-2]\\d{11}|9223[0-2]\\d{10}|92233[0-6]\\d{9}|922337[01]\\d{8}|92233720[0-2]\\d{6}|922337203[0-5]\\d{5}|9223372036[0-7]\\d{4}|92233720368[0-4]\\d{3}|922337203685[0-3]\\d{2}|9223372036854[0-6]\\d|92233720368547[0-7])0000)$",
407
+ "description": "A canonical nonnegative integer multiple of 10,000 microdollars, no greater than 9,223,372,036,854,770,000.",
408
+ "maxLength": 19
409
+ },
410
+ "scale": {
411
+ "type": "number",
412
+ "const": 6
413
+ }
414
+ },
415
+ "required": ["currency", "microdollars", "scale"]
416
+ },
417
+ "gross": {
418
+ "anyOf": [
419
+ {
420
+ "type": "object",
421
+ "properties": {
422
+ "currency": {
423
+ "type": "string",
424
+ "const": "USD"
425
+ },
426
+ "microdollars": {
427
+ "type": "string",
428
+ "pattern": "^(?:0|[1-9]\\d*)$"
429
+ },
430
+ "scale": {
431
+ "type": "number",
432
+ "const": 6
433
+ }
434
+ },
435
+ "required": ["currency", "microdollars", "scale"]
436
+ },
437
+ {
438
+ "type": "null"
439
+ }
440
+ ]
441
+ },
442
+ "id": {
443
+ "type": "string",
444
+ "minLength": 1,
445
+ "maxLength": 255
446
+ },
447
+ "kind": {
448
+ "type": "string",
449
+ "enum": ["manual", "automatic"]
450
+ },
451
+ "paymentUrl": {
452
+ "type": "string",
453
+ "maxLength": 4096,
454
+ "format": "uri"
455
+ },
456
+ "reason": {
457
+ "type": "string",
458
+ "pattern": "^[a-z][a-z0-9-]{0,127}$"
459
+ },
460
+ "receiptUrl": {
461
+ "type": "string",
462
+ "maxLength": 4096,
463
+ "format": "uri"
464
+ },
465
+ "state": {
466
+ "type": "string",
467
+ "enum": [
468
+ "pending",
469
+ "paid",
470
+ "failed",
471
+ "authentication-required",
472
+ "action-required",
473
+ "canceled",
474
+ "refunded",
475
+ "reversed",
476
+ "disputed"
477
+ ]
478
+ },
479
+ "tax": {
480
+ "anyOf": [
481
+ {
482
+ "type": "object",
483
+ "properties": {
484
+ "currency": {
485
+ "type": "string",
486
+ "const": "USD"
487
+ },
488
+ "microdollars": {
489
+ "type": "string",
490
+ "pattern": "^(?:0|[1-9]\\d*)$"
491
+ },
492
+ "scale": {
493
+ "type": "number",
494
+ "const": 6
495
+ }
496
+ },
497
+ "required": ["currency", "microdollars", "scale"]
498
+ },
499
+ {
500
+ "type": "null"
501
+ }
502
+ ]
503
+ },
504
+ "taxStatus": {
505
+ "type": "string",
506
+ "enum": ["calculated-at-checkout", "confirmed"]
507
+ },
508
+ "updatedAt": {
509
+ "type": "string",
510
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
511
+ }
512
+ },
513
+ "required": [
514
+ "createdAt",
515
+ "credit",
516
+ "gross",
517
+ "id",
518
+ "kind",
519
+ "state",
520
+ "tax",
521
+ "taxStatus",
522
+ "updatedAt"
523
+ ]
524
+ }
525
+ },
526
+ "subscribedProjectFees": {
527
+ "type": "object",
528
+ "properties": {
529
+ "currency": {
530
+ "type": "string",
531
+ "const": "USD"
532
+ },
533
+ "microdollars": {
534
+ "type": "string",
535
+ "pattern": "^(?:0|[1-9]\\d*)$"
536
+ },
537
+ "scale": {
538
+ "type": "number",
539
+ "const": 6
540
+ }
541
+ },
542
+ "required": ["currency", "microdollars", "scale"]
543
+ }
544
+ },
545
+ "required": [
546
+ "automaticExecutionTopUp",
547
+ "credit",
548
+ "freshness",
549
+ "paymentOperations",
550
+ "subscribedProjectFees"
551
+ ]
552
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "Idempotency-Key": {
6
+ "type": "string",
7
+ "minLength": 16,
8
+ "maxLength": 255,
9
+ "pattern": "^[\\x20-\\x7e]+$"
10
+ }
11
+ },
12
+ "required": ["Idempotency-Key"]
13
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "quote": {
6
+ "type": "string",
7
+ "minLength": 1,
8
+ "maxLength": 128
9
+ },
10
+ "expectedRevision": {
11
+ "type": "integer",
12
+ "minimum": 0,
13
+ "maximum": 9007199254740991
14
+ },
15
+ "confirmed": {
16
+ "type": "boolean",
17
+ "const": true
18
+ }
19
+ },
20
+ "required": ["quote", "expectedRevision", "confirmed"],
21
+ "additionalProperties": false
22
+ }