@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
@@ -2,13 +2,13 @@
2
2
  "createdAt": "2026-08-05T15:00:00.000Z",
3
3
  "environmentKind": "test",
4
4
  "id": "ep_01h8xyz9k2m4n6p8r0t2v4w6y8",
5
+ "name": "https://hooks.example.com/greatwait",
5
6
  "project": "proj_01h8xyz9k2m4n6p8r0t2v4w6y8",
6
7
  "signingKeys": {
7
8
  "current": "csk_01h8xyz9k2m4n6p8r0t2v4w6y8"
8
9
  },
9
- "status": "verified",
10
+ "status": "active",
10
11
  "updatedAt": "2026-08-05T15:01:00.000Z",
11
12
  "url": "https://hooks.example.com/greatwait",
12
- "verifiedAt": "2026-08-05T15:01:00.000Z",
13
13
  "version": 2
14
14
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "current": {
3
+ "keyId": "csk_01h8xyz9k2m4n6p8r0t2v4w6y8",
4
+ "secret": "ptsk_test_<the-current-endpoint-secret-here>"
5
+ },
6
+ "id": "ep_01h8xyz9k2m4n6p8r0t2v4w6y8"
7
+ }
@@ -11,10 +11,9 @@
11
11
  "overlapEndsAt": "2026-08-06T15:05:00.000Z"
12
12
  }
13
13
  },
14
- "status": "verified",
14
+ "status": "active",
15
15
  "updatedAt": "2026-08-05T15:05:00.000Z",
16
16
  "url": "https://hooks.example.com/greatwait",
17
- "verifiedAt": "2026-08-05T15:01:00.000Z",
18
17
  "version": 3
19
18
  },
20
19
  "keyId": "csk_11h8xyz9k2m4n6p8r0t2v4w6y8",
@@ -6,7 +6,7 @@
6
6
  "signingKeys": {
7
7
  "current": "csk_01h8xyz9k2m4n6p8r0t2v4w6y8"
8
8
  },
9
- "status": "pending",
9
+ "status": "active",
10
10
  "updatedAt": "2026-08-05T16:00:00.000Z",
11
11
  "url": "https://hooks.example.com/replacement",
12
12
  "version": 3
@@ -0,0 +1,20 @@
1
+ {
2
+ "data": [
3
+ {
4
+ "attemptCount": 1,
5
+ "generation": 1,
6
+ "id": "occ_01h8xyz9k2m4n6p8r0t2v4w6y8",
7
+ "plannedFor": "2026-07-28T15:00:00.000Z",
8
+ "schedule": "sch_01h8xyz9k2m4n6p8r0t2v4w6y8",
9
+ "sequence": 1,
10
+ "settledAt": "2026-07-28T15:00:01.000Z",
11
+ "state": "succeeded"
12
+ }
13
+ ],
14
+ "freshness": {
15
+ "kind": "authoritative"
16
+ },
17
+ "retention": {
18
+ "from": "2026-07-21T15:00:00.000Z"
19
+ }
20
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "cancelled": true,
3
+ "export": {
4
+ "createdAt": "2035-03-04T12:00:00.000Z",
5
+ "consistency": "creation-cutoff-current-values",
6
+ "cutoffAt": "2035-03-04T12:00:00.000Z",
7
+ "id": "exp_0123456789abcdefghjkmnpqrs",
8
+ "state": "cancelled",
9
+ "updatedAt": "2035-03-04T12:00:00.000Z"
10
+ }
11
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "createdAt": "2035-03-04T12:00:00.000Z",
3
+ "consistency": "creation-cutoff-current-values",
4
+ "cutoffAt": "2035-03-04T12:00:00.000Z",
5
+ "id": "exp_0123456789abcdefghjkmnpqrs",
6
+ "state": "active",
7
+ "updatedAt": "2035-03-04T12:00:00.000Z"
8
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "content": "{\"kind\":\"schedule\",\"value\":{\"id\":\"sch_0123456789abcdefghjkmnpq\"}}\n",
3
+ "fileName": "greatwait-export-exp_0123456789abcdefghjkmnpqrs.ndjson",
4
+ "mediaType": "application/x-ndjson"
5
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "createdAt": "2035-03-04T12:00:00.000Z",
3
+ "consistency": "creation-cutoff-current-values",
4
+ "cutoffAt": "2035-03-04T12:00:00.000Z",
5
+ "id": "exp_0123456789abcdefghjkmnpqrs",
6
+ "state": "active",
7
+ "updatedAt": "2035-03-04T12:00:00.000Z"
8
+ }
@@ -4,6 +4,10 @@
4
4
  },
5
5
  "occurrence": {
6
6
  "attemptCount": 2,
7
+ "firstAttemptLatenessMs": 0,
8
+ "firstAttemptStartedAt": "2026-07-28T15:00:00.000Z",
9
+ "timingEligibility": "eligible",
10
+ "timingPolicyVersion": "payg-v1",
7
11
  "generation": 1,
8
12
  "id": "occ_01h8xyz9k2m4n6p8r0t2v4w6y8",
9
13
  "plannedFor": "2026-07-28T15:00:00.000Z",
@@ -0,0 +1,5 @@
1
+ {
2
+ "expectedGeneration": 0,
3
+ "immediate": false,
4
+ "confirmation": "delete organization"
5
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "organizationId": "org_01h8xyz9k2m4n6p8r0t2v4w6y8",
3
+ "generation": 1,
4
+ "phase": "closed",
5
+ "requestedAt": "2026-09-12T12:00:00.000Z",
6
+ "reversibleUntil": "2026-09-19T12:00:00.000Z",
7
+ "purgeDeadline": "2026-10-12T12:00:00.000Z",
8
+ "immediate": false,
9
+ "converged": true
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "organizationId": "org_01h8xyz9k2m4n6p8r0t2v4w6y8",
3
+ "generation": 1,
4
+ "phase": "closed",
5
+ "requestedAt": "2026-09-12T12:00:00.000Z",
6
+ "reversibleUntil": "2026-09-19T12:00:00.000Z",
7
+ "purgeDeadline": "2026-10-12T12:00:00.000Z",
8
+ "immediate": false,
9
+ "converged": true
10
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "expectedGeneration": 1
3
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "organizationId": "org_01h8xyz9k2m4n6p8r0t2v4w6y8",
3
+ "generation": 2,
4
+ "phase": "active",
5
+ "requestedAt": "2026-09-12T12:00:00.000Z",
6
+ "reversibleUntil": "2026-09-19T12:00:00.000Z",
7
+ "purgeDeadline": "2026-10-12T12:00:00.000Z",
8
+ "immediate": false,
9
+ "converged": true
10
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "archived": true
3
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "createdAt": "2026-08-14T11:00:00.000Z",
3
+ "deletionCounts": {
4
+ "endpoints": 2,
5
+ "keys": 4,
6
+ "runs": 37,
7
+ "schedules": 5
8
+ },
9
+ "environmentKinds": ["test", "live"],
10
+ "id": "proj_01h8xyz9k2m4n6p8r0t2v4w6y8",
11
+ "name": "Customer reminders",
12
+ "status": "archived",
13
+ "version": 2
14
+ }
@@ -1,5 +1,14 @@
1
1
  {
2
+ "createdAt": null,
3
+ "deletionCounts": {
4
+ "endpoints": 0,
5
+ "keys": 0,
6
+ "runs": 0,
7
+ "schedules": 0
8
+ },
2
9
  "environmentKinds": ["test", "live"],
3
10
  "id": "proj_01h8xyz9k2m4n6p8r0t2v4w6y8",
4
- "name": "Billing reminders"
11
+ "name": "Billing reminders",
12
+ "status": "active",
13
+ "version": 1
5
14
  }
@@ -0,0 +1,9 @@
1
+ {
2
+ "deleted": true,
3
+ "destroyed": {
4
+ "endpoints": 2,
5
+ "keys": 4,
6
+ "runs": 37,
7
+ "schedules": 5
8
+ }
9
+ }
@@ -1,9 +1,19 @@
1
1
  {
2
2
  "data": [
3
3
  {
4
+ "createdAt": "2026-08-14T11:00:00.000Z",
5
+ "deletionCounts": {
6
+ "endpoints": 2,
7
+ "keys": 4,
8
+ "runs": 37,
9
+ "schedules": 5
10
+ },
4
11
  "environmentKinds": ["test", "live"],
5
12
  "id": "proj_01h8xyz9k2m4n6p8r0t2v4w6y8",
6
- "name": "Billing reminders"
13
+ "name": "Billing reminders",
14
+ "status": "active",
15
+ "version": 1
7
16
  }
8
- ]
17
+ ],
18
+ "total": 1
9
19
  }
@@ -0,0 +1,3 @@
1
+ {
2
+ "name": "Customer reminders"
3
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "createdAt": "2026-08-14T11:00:00.000Z",
3
+ "deletionCounts": {
4
+ "endpoints": 2,
5
+ "keys": 4,
6
+ "runs": 37,
7
+ "schedules": 5
8
+ },
9
+ "environmentKinds": ["test", "live"],
10
+ "id": "proj_01h8xyz9k2m4n6p8r0t2v4w6y8",
11
+ "name": "Customer reminders",
12
+ "status": "active",
13
+ "version": 2
14
+ }
@@ -15,6 +15,9 @@
15
15
  "generation": 1,
16
16
  "id": "sch_01h8xyz9k2m4n6p8r0t2v4w6y8",
17
17
  "latencyClass": "realtime",
18
+ "lateness": {
19
+ "policy": "catchUp"
20
+ },
18
21
  "recurrence": {
19
22
  "kind": "at"
20
23
  },
@@ -14,6 +14,9 @@
14
14
  "generation": 1,
15
15
  "id": "sch_01h8xyz9k2m4n6p8r0t2v4w6y8",
16
16
  "latencyClass": "realtime",
17
+ "lateness": {
18
+ "policy": "catchUp"
19
+ },
17
20
  "recurrence": {
18
21
  "kind": "at"
19
22
  },
@@ -4,6 +4,10 @@
4
4
  "report": "daily"
5
5
  },
6
6
  "endpoint": "ep_01h8xyz9k2m4n6p8r0t2v4w6y8",
7
+ "lateness": {
8
+ "maxStalenessSeconds": 3600,
9
+ "policy": "catchUp"
10
+ },
7
11
  "partitionKey": "campaign.spring",
8
12
  "timeZone": "Europe/London"
9
13
  }
@@ -14,6 +14,9 @@
14
14
  "generation": 1,
15
15
  "id": "sch_01h8xyz9k2m4n6p8r0t2v4w6y8",
16
16
  "latencyClass": "realtime",
17
+ "lateness": {
18
+ "policy": "catchUp"
19
+ },
17
20
  "partitionKey": "campaign.spring",
18
21
  "recurrence": {
19
22
  "kind": "at"
@@ -6,6 +6,9 @@
6
6
  "generation": 1,
7
7
  "id": "sch_01h8xyz9k2m4n6p8r0t2v4w6y8",
8
8
  "latencyClass": "realtime",
9
+ "lateness": {
10
+ "policy": "catchUp"
11
+ },
9
12
  "recurrence": {
10
13
  "kind": "at"
11
14
  },
@@ -13,6 +13,9 @@
13
13
  "generation": 1,
14
14
  "id": "sch_01h8xyz9k2m4n6p8r0t2v4w6y8",
15
15
  "latencyClass": "realtime",
16
+ "lateness": {
17
+ "policy": "catchUp"
18
+ },
16
19
  "recurrence": {
17
20
  "kind": "at"
18
21
  },
@@ -9,11 +9,17 @@
9
9
  "state": "planned"
10
10
  },
11
11
  "schedule": {
12
+ "data": {
13
+ "report": "daily"
14
+ },
12
15
  "createdAt": "2026-07-28T14:59:00.000Z",
13
16
  "endpoint": "ep_01h8xyz9k2m4n6p8r0t2v4w6y8",
14
17
  "generation": 1,
15
18
  "id": "sch_01h8xyz9k2m4n6p8r0t2v4w6y8",
16
19
  "latencyClass": "realtime",
20
+ "lateness": {
21
+ "policy": "catchUp"
22
+ },
17
23
  "partitionKey": "campaign.spring",
18
24
  "recurrence": {
19
25
  "kind": "at"
@@ -4,5 +4,9 @@
4
4
  },
5
5
  "everySeconds": 86400,
6
6
  "endpoint": "ep_01h8xyz9k2m4n6p8r0t2v4w6y8",
7
+ "lateness": {
8
+ "maxStalenessSeconds": 7200,
9
+ "policy": "catchUp"
10
+ },
7
11
  "partitionKey": "campaign.spring"
8
12
  }
@@ -14,6 +14,9 @@
14
14
  "generation": 2,
15
15
  "id": "sch_01h8xyz9k2m4n6p8r0t2v4w6y8",
16
16
  "latencyClass": "realtime",
17
+ "lateness": {
18
+ "policy": "catchUp"
19
+ },
17
20
  "partitionKey": "campaign.spring",
18
21
  "recurrence": {
19
22
  "kind": "at"
@@ -13,6 +13,9 @@
13
13
  "generation": 1,
14
14
  "id": "sch_01h8xyz9k2m4n6p8r0t2v4w6y8",
15
15
  "latencyClass": "realtime",
16
+ "lateness": {
17
+ "policy": "catchUp"
18
+ },
16
19
  "recurrence": {
17
20
  "kind": "at"
18
21
  },
@@ -0,0 +1,35 @@
1
+ {
2
+ "customerBlockedCount": 2,
3
+ "deliveredSampleCount": 98,
4
+ "freshness": {
5
+ "kind": "authoritative"
6
+ },
7
+ "missingEvidenceCount": 1,
8
+ "p95LatenessMs": 4200,
9
+ "p99LatenessMs": 12000,
10
+ "platformBlockedCount": 1,
11
+ "policyVersion": "timing-v1",
12
+ "skippedCount": 3,
13
+ "targets": [
14
+ {
15
+ "breachCount": 5,
16
+ "customerBlockedCount": 2,
17
+ "eligibleOutstandingBreachCount": 1,
18
+ "maturedCount": 100,
19
+ "targetMs": 5000,
20
+ "verdict": "met",
21
+ "withinTargetCount": 95
22
+ },
23
+ {
24
+ "breachCount": 1,
25
+ "customerBlockedCount": 2,
26
+ "eligibleOutstandingBreachCount": 1,
27
+ "maturedCount": 100,
28
+ "targetMs": 15000,
29
+ "verdict": "met",
30
+ "withinTargetCount": 99
31
+ }
32
+ ],
33
+ "windowEnd": "2026-09-09T12:00:00.000Z",
34
+ "windowStart": "2026-09-08T12:00:00.000Z"
35
+ }
@@ -1,4 +1,5 @@
1
1
  {
2
+ "bucketSeconds": 86400,
2
3
  "days": [
3
4
  {
4
5
  "billableOccurrences": 42,
@@ -79,6 +79,7 @@
79
79
  "credential_expired",
80
80
  "credential_revoked",
81
81
  "invalid_request",
82
+ "project_archived",
82
83
  "rate_limited",
83
84
  "scope_missing",
84
85
  "service_unavailable"
@@ -128,9 +129,11 @@
128
129
  "credential_revoked",
129
130
  "invalid_request",
130
131
  "plan_limit_reached",
132
+ "project_archived",
131
133
  "rate_limited",
132
134
  "scope_missing",
133
- "service_unavailable"
135
+ "service_unavailable",
136
+ "state_conflict"
134
137
  ],
135
138
  "scopes": ["endpoints:write"],
136
139
  "successStatus": 201,
@@ -160,12 +163,12 @@
160
163
  "purpose": "Creates the one-shot. The delay is converted to an absolute instant when the request is accepted, so the schedule reads back the same afterwards however it was expressed.",
161
164
  "recovery": [
162
165
  {
163
- "nextMove": "This deployment requires a destination to answer its ownership challenge before anything is delivered there, and yours has not. Answer the challenge with the secret the create call returned, then create the schedule.",
164
- "when": "endpoint_unverified"
166
+ "nextMove": "The endpoint identifier is not one this credential's project can deliver to — it belongs to another project, or there is no such endpoint. Create a destination in this project, or check the identifier.",
167
+ "when": "not_found"
165
168
  },
166
169
  {
167
- "nextMove": "The endpoint identifier is not one this credential's project can deliver to — it belongs to another project, or it has been disabled. Disabling is terminal, so create a new destination rather than trying to re-enable that one.",
168
- "when": "not_found"
170
+ "nextMove": "The endpoint is disabled. Enable it with `endpoints.enable` and the schedule is accepted as sent, or point the schedule at another destination.",
171
+ "when": "state_conflict"
169
172
  },
170
173
  {
171
174
  "nextMove": "The same idempotency key was used for a different request. Use a new key, or send the byte-identical body the key was first used with.",
@@ -198,14 +201,15 @@
198
201
  "authentication_required",
199
202
  "credential_expired",
200
203
  "credential_revoked",
201
- "endpoint_unverified",
202
204
  "idempotency_key_reused",
203
205
  "invalid_request",
204
206
  "not_found",
205
207
  "plan_limit_reached",
208
+ "project_archived",
206
209
  "rate_limited",
207
210
  "scope_missing",
208
- "service_unavailable"
211
+ "service_unavailable",
212
+ "state_conflict"
209
213
  ],
210
214
  "scopes": ["schedules:write"],
211
215
  "successStatus": 201,
@@ -253,14 +257,15 @@
253
257
  "authentication_required",
254
258
  "credential_expired",
255
259
  "credential_revoked",
256
- "endpoint_unverified",
257
260
  "idempotency_key_reused",
258
261
  "invalid_request",
259
262
  "not_found",
260
263
  "plan_limit_reached",
264
+ "project_archived",
261
265
  "rate_limited",
262
266
  "scope_missing",
263
- "service_unavailable"
267
+ "service_unavailable",
268
+ "state_conflict"
264
269
  ],
265
270
  "scopes": ["schedules:write"],
266
271
  "successStatus": 201,
@@ -287,6 +292,7 @@
287
292
  "credential_revoked",
288
293
  "invalid_request",
289
294
  "not_found",
295
+ "project_archived",
290
296
  "rate_limited",
291
297
  "scope_missing",
292
298
  "service_unavailable"
@@ -321,6 +327,7 @@
321
327
  "credential_revoked",
322
328
  "invalid_request",
323
329
  "not_found",
330
+ "project_archived",
324
331
  "rate_limited",
325
332
  "scope_missing",
326
333
  "service_unavailable"
@@ -354,6 +361,7 @@
354
361
  "credential_revoked",
355
362
  "invalid_request",
356
363
  "not_found",
364
+ "project_archived",
357
365
  "rate_limited",
358
366
  "scope_missing",
359
367
  "service_unavailable"
@@ -370,7 +378,7 @@
370
378
  "observe": "The endpoint in status `disabled`. Nothing further is delivered to it, and it stays readable so the attempts above keep their context.",
371
379
  "operationId": "endpoints.disable",
372
380
  "path": "/v1/endpoints/{endpointId}",
373
- "purpose": "Stops delivery to the destination you registered for this walkthrough. Disabling is terminal and deliberate: it leaves the history intact rather than deleting evidence of what happened.",
381
+ "purpose": "Stops delivery to the destination you registered for this walkthrough. Disabling is deliberate rather than final: it leaves the history intact rather than deleting evidence of what happened, and `endpoints.enable` turns the destination back on if you want it again.",
374
382
  "recovery": [
375
383
  {
376
384
  "nextMove": "Already gone, or never in this project. Nothing to clean up.",
@@ -383,6 +391,7 @@
383
391
  "credential_revoked",
384
392
  "invalid_request",
385
393
  "not_found",
394
+ "project_archived",
386
395
  "rate_limited",
387
396
  "scope_missing",
388
397
  "service_unavailable"