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

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 (345) hide show
  1. package/README.md +12 -10
  2. package/dist/authority.d.ts +33 -27
  3. package/dist/authority.js +12 -2
  4. package/dist/billing.d.ts +1231 -0
  5. package/dist/billing.js +833 -0
  6. package/dist/callback-safety.d.ts +2 -2
  7. package/dist/callback-safety.js +15 -5
  8. package/dist/compatibility.d.ts +3 -3
  9. package/dist/compatibility.js +1 -1
  10. package/dist/configuration-bounds.d.ts +13 -0
  11. package/dist/configuration-bounds.js +13 -0
  12. package/dist/data-export.d.ts +67 -0
  13. package/dist/data-export.js +182 -0
  14. package/dist/effective-limits.d.ts +40 -0
  15. package/dist/effective-limits.js +42 -0
  16. package/dist/endpoints.d.ts +186 -245
  17. package/dist/endpoints.js +82 -86
  18. package/dist/events.d.ts +17 -17
  19. package/dist/events.js +1 -1
  20. package/dist/first-value-journey.d.ts +50 -56
  21. package/dist/first-value-journey.js +17 -20
  22. package/dist/forecast.d.ts +182 -92
  23. package/dist/forecast.js +88 -25
  24. package/dist/identifiers.d.ts +20 -20
  25. package/dist/identifiers.js +1 -1
  26. package/dist/identity.d.ts +41 -37
  27. package/dist/identity.js +5 -4
  28. package/dist/index.d.ts +12 -6
  29. package/dist/index.js +12 -6
  30. package/dist/mcp.d.ts +21 -19
  31. package/dist/mcp.js +2 -2
  32. package/dist/naming.d.ts +45 -0
  33. package/dist/naming.js +159 -0
  34. package/dist/oauth.d.ts +186 -172
  35. package/dist/oauth.js +1 -1
  36. package/dist/operation-definitions.d.ts +9 -0
  37. package/dist/operation-definitions.js +7 -0
  38. package/dist/operational-config.d.ts +101 -0
  39. package/dist/operational-config.js +341 -0
  40. package/dist/operations.d.ts +4742 -2170
  41. package/dist/operations.js +3064 -932
  42. package/dist/organization-lifecycle.d.ts +34 -0
  43. package/dist/organization-lifecycle.js +122 -0
  44. package/dist/partition.d.ts +43 -9
  45. package/dist/partition.js +3 -3
  46. package/dist/policy.d.ts +4 -4
  47. package/dist/policy.js +9 -5
  48. package/dist/problems.d.ts +57 -28
  49. package/dist/problems.js +55 -3
  50. package/dist/protocol.d.ts +209 -80
  51. package/dist/protocol.js +110 -37
  52. package/dist/scheduling-records.d.ts +349 -285
  53. package/dist/scheduling-records.js +1 -1
  54. package/dist/scheduling.d.ts +707 -361
  55. package/dist/scheduling.js +443 -61
  56. package/dist/secrets.d.ts +119 -105
  57. package/dist/secrets.js +1 -1
  58. package/dist/signatures.d.ts +74 -74
  59. package/dist/signatures.js +1 -1
  60. package/dist/tenancy.d.ts +142 -68
  61. package/dist/tenancy.js +70 -17
  62. package/dist/test-sink.d.ts +127 -127
  63. package/dist/test-sink.js +1 -1
  64. package/dist/time.d.ts +4 -4
  65. package/dist/time.js +1 -1
  66. package/dist/timing.d.ts +65 -0
  67. package/dist/timing.js +82 -0
  68. package/dist/usage.d.ts +103 -47
  69. package/dist/usage.js +183 -32
  70. package/dist/workspace.d.ts +34 -34
  71. package/dist/workspace.js +1 -1
  72. package/dist/zod-values.d.ts +3 -0
  73. package/dist/zod-values.js +2 -0
  74. package/dist/zod.d.ts +2 -0
  75. package/dist/zod.js +2 -0
  76. package/generated/v1/examples/attempts.list.response.json +6 -0
  77. package/generated/v1/examples/attempts.read.response.json +6 -0
  78. package/generated/v1/examples/billing.autotopup.request.json +5 -0
  79. package/generated/v1/examples/billing.autotopup.response.json +120 -0
  80. package/generated/v1/examples/billing.autotopuppreview.request.json +19 -0
  81. package/generated/v1/examples/billing.autotopuppreview.response.json +45 -0
  82. package/generated/v1/examples/billing.budgets.request.json +13 -0
  83. package/generated/v1/examples/billing.budgets.response.json +22 -0
  84. package/generated/v1/examples/billing.ceiling.request.json +8 -0
  85. package/generated/v1/examples/billing.ceiling.response.json +120 -0
  86. package/generated/v1/examples/billing.change.request.json +5 -0
  87. package/generated/v1/examples/billing.change.response.json +12 -0
  88. package/generated/v1/examples/billing.funding.response.json +120 -0
  89. package/generated/v1/examples/billing.fundingconfirm.response.json +120 -0
  90. package/generated/v1/examples/billing.fundingquote.request.json +7 -0
  91. package/generated/v1/examples/billing.fundingquote.response.json +13 -0
  92. package/generated/v1/examples/billing.invoicehistory.response.json +6 -0
  93. package/generated/v1/examples/billing.invoices.response.json +15 -0
  94. package/generated/v1/examples/billing.ledger.response.json +23 -0
  95. package/generated/v1/examples/billing.notices.response.json +41 -0
  96. package/generated/v1/examples/billing.notificationsettings.response.json +17 -0
  97. package/generated/v1/examples/billing.notificationsettingsupdate.request.json +9 -0
  98. package/generated/v1/examples/billing.notificationsettingsupdate.response.json +17 -0
  99. package/generated/v1/examples/billing.paymenthistory.response.json +6 -0
  100. package/generated/v1/examples/billing.paymentmethod.response.json +16 -0
  101. package/generated/v1/examples/billing.paymentmethodconfirm.request.json +3 -0
  102. package/generated/v1/examples/billing.paymentmethodconfirm.response.json +16 -0
  103. package/generated/v1/examples/billing.paymentmethodremove.request.json +3 -0
  104. package/generated/v1/examples/billing.paymentmethodremove.response.json +4 -0
  105. package/generated/v1/examples/billing.paymentmethodsetup.request.json +1 -0
  106. package/generated/v1/examples/billing.paymentmethodsetup.response.json +3 -0
  107. package/generated/v1/examples/billing.portal.response.json +3 -0
  108. package/generated/v1/examples/billing.projects.response.json +12 -0
  109. package/generated/v1/examples/billing.purchase.request.json +5 -0
  110. package/generated/v1/examples/billing.purchase.response.json +120 -0
  111. package/generated/v1/examples/billing.quote.request.json +4 -0
  112. package/generated/v1/examples/billing.quote.response.json +19 -0
  113. package/generated/v1/examples/billing.reconcile.response.json +73 -0
  114. package/generated/v1/examples/billing.refundrequest.request.json +10 -0
  115. package/generated/v1/examples/billing.refundrequest.response.json +11 -0
  116. package/generated/v1/examples/billing.refundresolution.request.json +4 -0
  117. package/generated/v1/examples/billing.refundresolution.response.json +120 -0
  118. package/generated/v1/examples/billing.summary.response.json +73 -0
  119. package/generated/v1/examples/endpoints.acknowledgeSigningKeyRotation.response.json +18 -0
  120. package/generated/v1/examples/endpoints.create.response.json +1 -1
  121. package/generated/v1/examples/endpoints.disable.response.json +0 -1
  122. package/generated/v1/examples/{endpoints.verify.response.json → endpoints.enable.response.json} +4 -5
  123. package/generated/v1/examples/endpoints.list.response.json +1 -2
  124. package/generated/v1/examples/endpoints.read.response.json +2 -2
  125. package/generated/v1/examples/endpoints.revealSigningSecret.response.json +7 -0
  126. package/generated/v1/examples/endpoints.rotateSigningKey.response.json +1 -2
  127. package/generated/v1/examples/endpoints.update.response.json +1 -1
  128. package/generated/v1/examples/executions.list.response.json +20 -0
  129. package/generated/v1/examples/exports.cancel.response.json +11 -0
  130. package/generated/v1/examples/exports.create.request.json +1 -0
  131. package/generated/v1/examples/exports.create.response.json +8 -0
  132. package/generated/v1/examples/exports.part.response.json +5 -0
  133. package/generated/v1/examples/exports.read.response.json +8 -0
  134. package/generated/v1/examples/limits.read.response.json +16 -0
  135. package/generated/v1/examples/occurrences.read.response.json +4 -0
  136. package/generated/v1/examples/occurrences.redeliver.response.json +2 -0
  137. package/generated/v1/examples/organizations.close.request.json +5 -0
  138. package/generated/v1/examples/organizations.close.response.json +10 -0
  139. package/generated/v1/examples/organizations.lifecycle.response.json +10 -0
  140. package/generated/v1/examples/organizations.restore.request.json +3 -0
  141. package/generated/v1/examples/organizations.restore.response.json +10 -0
  142. package/generated/v1/examples/projects.archive.request.json +3 -0
  143. package/generated/v1/examples/projects.archive.response.json +14 -0
  144. package/generated/v1/examples/projects.create.response.json +10 -1
  145. package/generated/v1/examples/projects.delete.response.json +9 -0
  146. package/generated/v1/examples/projects.list.response.json +12 -2
  147. package/generated/v1/examples/projects.rename.request.json +3 -0
  148. package/generated/v1/examples/projects.rename.response.json +14 -0
  149. package/generated/v1/examples/schedules.archive.response.json +3 -0
  150. package/generated/v1/examples/schedules.cancel.response.json +3 -0
  151. package/generated/v1/examples/schedules.create.request.json +4 -0
  152. package/generated/v1/examples/schedules.create.response.json +3 -0
  153. package/generated/v1/examples/schedules.list.response.json +3 -0
  154. package/generated/v1/examples/schedules.pause.response.json +3 -0
  155. package/generated/v1/examples/schedules.read.response.json +6 -0
  156. package/generated/v1/examples/schedules.replace.request.json +4 -0
  157. package/generated/v1/examples/schedules.replace.response.json +3 -0
  158. package/generated/v1/examples/schedules.resume.response.json +3 -0
  159. package/generated/v1/examples/timing.summary.response.json +35 -0
  160. package/generated/v1/examples/usage.read.response.json +1 -0
  161. package/generated/v1/first-value-journey.json +43 -18
  162. package/generated/v1/manifest.json +1287 -42
  163. package/generated/v1/openapi.json +36033 -5982
  164. package/generated/v1/policy-matrix.json +341 -47
  165. package/generated/v1/schemas/attempts.list.response.json +39 -1
  166. package/generated/v1/schemas/attempts.read.response.json +39 -1
  167. package/generated/v1/schemas/billing.autotopup.request-headers.json +13 -0
  168. package/generated/v1/schemas/billing.autotopup.request.json +22 -0
  169. package/generated/v1/schemas/billing.autotopup.response-headers.json +10 -0
  170. package/generated/v1/schemas/billing.autotopup.response.json +552 -0
  171. package/generated/v1/schemas/billing.autotopuppreview.request.json +77 -0
  172. package/generated/v1/schemas/billing.autotopuppreview.response.json +277 -0
  173. package/generated/v1/schemas/billing.budgets.request-headers.json +13 -0
  174. package/generated/v1/schemas/billing.budgets.request.json +66 -0
  175. package/generated/v1/schemas/billing.budgets.response-headers.json +10 -0
  176. package/generated/v1/schemas/billing.budgets.response.json +92 -0
  177. package/generated/v1/schemas/billing.ceiling.request-headers.json +13 -0
  178. package/generated/v1/schemas/billing.ceiling.request.json +40 -0
  179. package/generated/v1/schemas/billing.ceiling.response-headers.json +10 -0
  180. package/generated/v1/schemas/billing.ceiling.response.json +552 -0
  181. package/generated/v1/schemas/billing.change.request-headers.json +13 -0
  182. package/generated/v1/schemas/billing.change.request.json +22 -0
  183. package/generated/v1/schemas/billing.change.response.json +119 -0
  184. package/generated/v1/schemas/billing.funding.response.json +552 -0
  185. package/generated/v1/schemas/billing.fundingconfirm.response.json +552 -0
  186. package/generated/v1/schemas/billing.fundingquote.request.json +28 -0
  187. package/generated/v1/schemas/billing.fundingquote.response.json +61 -0
  188. package/generated/v1/schemas/billing.invoicehistory.query.json +16 -0
  189. package/generated/v1/schemas/billing.invoicehistory.response.json +88 -0
  190. package/generated/v1/schemas/billing.invoices.response.json +51 -0
  191. package/generated/v1/schemas/billing.ledger.query.json +16 -0
  192. package/generated/v1/schemas/billing.ledger.response.json +130 -0
  193. package/generated/v1/schemas/billing.notices.query.json +16 -0
  194. package/generated/v1/schemas/billing.notices.response.json +278 -0
  195. package/generated/v1/schemas/billing.notificationsettings.response.json +70 -0
  196. package/generated/v1/schemas/billing.notificationsettingsupdate.request-headers.json +13 -0
  197. package/generated/v1/schemas/billing.notificationsettingsupdate.request.json +43 -0
  198. package/generated/v1/schemas/billing.notificationsettingsupdate.response-headers.json +10 -0
  199. package/generated/v1/schemas/billing.notificationsettingsupdate.response.json +70 -0
  200. package/generated/v1/schemas/billing.paymenthistory.query.json +16 -0
  201. package/generated/v1/schemas/billing.paymenthistory.response.json +182 -0
  202. package/generated/v1/schemas/billing.paymentmethod.response.json +137 -0
  203. package/generated/v1/schemas/billing.paymentmethodconfirm.request.json +14 -0
  204. package/generated/v1/schemas/billing.paymentmethodconfirm.response.json +137 -0
  205. package/generated/v1/schemas/billing.paymentmethodremove.request.json +12 -0
  206. package/generated/v1/schemas/billing.paymentmethodremove.response.json +137 -0
  207. package/generated/v1/schemas/billing.paymentmethodsetup.request.json +12 -0
  208. package/generated/v1/schemas/billing.paymentmethodsetup.response.json +11 -0
  209. package/generated/v1/schemas/billing.portal.response.json +11 -0
  210. package/generated/v1/schemas/billing.projects.response.json +119 -0
  211. package/generated/v1/schemas/billing.purchase.request-headers.json +13 -0
  212. package/generated/v1/schemas/billing.purchase.request.json +26 -0
  213. package/generated/v1/schemas/billing.purchase.response-headers.json +10 -0
  214. package/generated/v1/schemas/billing.purchase.response.json +552 -0
  215. package/generated/v1/schemas/billing.quote.request.json +20 -0
  216. package/generated/v1/schemas/billing.quote.response.json +86 -0
  217. package/generated/v1/schemas/billing.reconcile.response.json +468 -0
  218. package/generated/v1/schemas/billing.refundrequest.request-headers.json +13 -0
  219. package/generated/v1/schemas/billing.refundrequest.request.json +42 -0
  220. package/generated/v1/schemas/billing.refundrequest.response-headers.json +10 -0
  221. package/generated/v1/schemas/billing.refundrequest.response.json +45 -0
  222. package/generated/v1/schemas/billing.refundresolution.request-headers.json +13 -0
  223. package/generated/v1/schemas/billing.refundresolution.request.json +61 -0
  224. package/generated/v1/schemas/billing.refundresolution.response-headers.json +10 -0
  225. package/generated/v1/schemas/billing.refundresolution.response.json +552 -0
  226. package/generated/v1/schemas/billing.summary.response.json +468 -0
  227. package/generated/v1/schemas/context.read.response.json +2 -0
  228. package/generated/v1/schemas/credentials.connection.response.json +2 -0
  229. package/generated/v1/schemas/credentials.create.request.json +2 -0
  230. package/generated/v1/schemas/credentials.create.response.json +2 -0
  231. package/generated/v1/schemas/credentials.list.response.json +2 -0
  232. package/generated/v1/schemas/credentials.revoke.response.json +2 -0
  233. package/generated/v1/schemas/credentials.rotate.response.json +4 -0
  234. package/generated/v1/schemas/{endpoints.verify.request-headers.json → endpoints.acknowledgeSigningKeyRotation.request-headers.json} +2 -1
  235. package/generated/v1/schemas/{endpoints.verify.response.json → endpoints.acknowledgeSigningKeyRotation.response.json} +8 -21
  236. package/generated/v1/schemas/endpoints.create.request.json +5 -0
  237. package/generated/v1/schemas/endpoints.create.response.json +8 -21
  238. package/generated/v1/schemas/endpoints.disable.response.json +8 -21
  239. package/generated/v1/schemas/endpoints.enable.response-headers.json +11 -0
  240. package/generated/v1/schemas/endpoints.enable.response.json +87 -0
  241. package/generated/v1/schemas/endpoints.list.response.json +8 -21
  242. package/generated/v1/schemas/endpoints.read.response.json +8 -21
  243. package/generated/v1/schemas/endpoints.revealSigningSecret.response.json +43 -0
  244. package/generated/v1/schemas/endpoints.rotateSigningKey.response.json +8 -21
  245. package/generated/v1/schemas/endpoints.update.request.json +5 -0
  246. package/generated/v1/schemas/endpoints.update.response.json +8 -21
  247. package/generated/v1/schemas/executions.list.query.json +46 -0
  248. package/generated/v1/schemas/executions.list.response.json +116 -0
  249. package/generated/v1/schemas/exports.cancel.response.json +48 -0
  250. package/generated/v1/schemas/exports.create.request.json +6 -0
  251. package/generated/v1/schemas/exports.create.response.json +38 -0
  252. package/generated/v1/schemas/exports.part.query.json +11 -0
  253. package/generated/v1/schemas/exports.part.response.json +22 -0
  254. package/generated/v1/schemas/exports.read.response.json +38 -0
  255. package/generated/v1/schemas/forecast.read.request-headers.json +10 -0
  256. package/generated/v1/schemas/forecast.read.response.json +148 -0
  257. package/generated/v1/schemas/grants.list.response.json +2 -0
  258. package/generated/v1/schemas/grants.revoke.response.json +2 -0
  259. package/generated/v1/schemas/limits.read.response.json +79 -0
  260. package/generated/v1/schemas/occurrences.list.query.json +5 -0
  261. package/generated/v1/schemas/occurrences.list.response.json +23 -0
  262. package/generated/v1/schemas/occurrences.read.response.json +23 -0
  263. package/generated/v1/schemas/occurrences.redeliver.response.json +39 -1
  264. package/generated/v1/schemas/organizations.close.request.json +20 -0
  265. package/generated/v1/schemas/organizations.close.response.json +68 -0
  266. package/generated/v1/schemas/organizations.lifecycle.response.json +68 -0
  267. package/generated/v1/schemas/organizations.restore.request.json +13 -0
  268. package/generated/v1/schemas/organizations.restore.response.json +68 -0
  269. package/generated/v1/schemas/projects.archive.request-headers.json +11 -0
  270. package/generated/v1/schemas/projects.archive.request.json +10 -0
  271. package/generated/v1/schemas/projects.archive.response-headers.json +11 -0
  272. package/generated/v1/schemas/projects.archive.response.json +79 -0
  273. package/generated/v1/schemas/projects.create.response.json +55 -1
  274. package/generated/v1/schemas/projects.delete.request-headers.json +11 -0
  275. package/generated/v1/schemas/projects.delete.response.json +37 -0
  276. package/generated/v1/schemas/projects.list.response.json +61 -2
  277. package/generated/v1/schemas/projects.rename.request-headers.json +11 -0
  278. package/generated/v1/schemas/projects.rename.request.json +12 -0
  279. package/generated/v1/schemas/projects.rename.response-headers.json +11 -0
  280. package/generated/v1/schemas/projects.rename.response.json +79 -0
  281. package/generated/v1/schemas/schedules.archive.response.json +90 -2
  282. package/generated/v1/schemas/schedules.cancel.response.json +90 -2
  283. package/generated/v1/schemas/schedules.create.request.json +24 -3
  284. package/generated/v1/schemas/schedules.create.response.json +90 -2
  285. package/generated/v1/schemas/schedules.list.query.json +13 -0
  286. package/generated/v1/schemas/schedules.list.response.json +67 -2
  287. package/generated/v1/schemas/schedules.pause.response.json +90 -2
  288. package/generated/v1/schemas/schedules.read.response.json +90 -2
  289. package/generated/v1/schemas/schedules.replace.request.json +24 -3
  290. package/generated/v1/schemas/schedules.replace.response.json +90 -2
  291. package/generated/v1/schemas/schedules.resume.response.json +90 -2
  292. package/generated/v1/schemas/timing.summary.response.json +191 -0
  293. package/generated/v1/schemas/usage.read.query.json +7 -0
  294. package/generated/v1/schemas/usage.read.response.json +36 -1
  295. package/generated/v1/snippets/billing.autotopup.json +6 -0
  296. package/generated/v1/snippets/billing.autotopuppreview.json +6 -0
  297. package/generated/v1/snippets/billing.budgets.json +6 -0
  298. package/generated/v1/snippets/billing.ceiling.json +6 -0
  299. package/generated/v1/snippets/billing.change.json +6 -0
  300. package/generated/v1/snippets/billing.funding.json +6 -0
  301. package/generated/v1/snippets/billing.fundingconfirm.json +6 -0
  302. package/generated/v1/snippets/billing.fundingquote.json +6 -0
  303. package/generated/v1/snippets/billing.invoicehistory.json +6 -0
  304. package/generated/v1/snippets/billing.invoices.json +6 -0
  305. package/generated/v1/snippets/billing.ledger.json +6 -0
  306. package/generated/v1/snippets/billing.notices.json +6 -0
  307. package/generated/v1/snippets/billing.notificationsettings.json +6 -0
  308. package/generated/v1/snippets/billing.notificationsettingsupdate.json +6 -0
  309. package/generated/v1/snippets/billing.paymenthistory.json +6 -0
  310. package/generated/v1/snippets/billing.paymentmethod.json +6 -0
  311. package/generated/v1/snippets/billing.paymentmethodconfirm.json +6 -0
  312. package/generated/v1/snippets/billing.paymentmethodremove.json +6 -0
  313. package/generated/v1/snippets/billing.paymentmethodsetup.json +6 -0
  314. package/generated/v1/snippets/billing.portal.json +6 -0
  315. package/generated/v1/snippets/billing.projects.json +6 -0
  316. package/generated/v1/snippets/billing.purchase.json +6 -0
  317. package/generated/v1/snippets/billing.quote.json +6 -0
  318. package/generated/v1/snippets/billing.reconcile.json +6 -0
  319. package/generated/v1/snippets/billing.refundrequest.json +6 -0
  320. package/generated/v1/snippets/billing.refundresolution.json +6 -0
  321. package/generated/v1/snippets/billing.summary.json +6 -0
  322. package/generated/v1/snippets/endpoints.acknowledgeSigningKeyRotation.json +6 -0
  323. package/generated/v1/snippets/{endpoints.verify.json → endpoints.enable.json} +3 -3
  324. package/generated/v1/snippets/endpoints.revealSigningSecret.json +6 -0
  325. package/generated/v1/snippets/executions.list.json +6 -0
  326. package/generated/v1/snippets/exports.cancel.json +6 -0
  327. package/generated/v1/snippets/exports.create.json +6 -0
  328. package/generated/v1/snippets/exports.part.json +6 -0
  329. package/generated/v1/snippets/exports.read.json +6 -0
  330. package/generated/v1/snippets/forecast.windows.json +1 -1
  331. package/generated/v1/snippets/limits.read.json +6 -0
  332. package/generated/v1/snippets/organizations.close.json +6 -0
  333. package/generated/v1/snippets/organizations.lifecycle.json +6 -0
  334. package/generated/v1/snippets/organizations.restore.json +6 -0
  335. package/generated/v1/snippets/projects.archive.json +6 -0
  336. package/generated/v1/snippets/projects.delete.json +6 -0
  337. package/generated/v1/snippets/projects.rename.json +6 -0
  338. package/generated/v1/snippets/schedules.create.json +3 -3
  339. package/generated/v1/snippets/schedules.replace.json +3 -3
  340. package/generated/v1/snippets/timing.summary.json +6 -0
  341. package/package.json +7 -7
  342. package/dist/callback-ownership.d.ts +0 -58
  343. package/dist/callback-ownership.js +0 -71
  344. package/generated/v1/callback-endpoint-verification.json +0 -59
  345. /package/generated/v1/schemas/{endpoints.verify.response-headers.json → endpoints.acknowledgeSigningKeyRotation.response-headers.json} +0 -0
@@ -2,6 +2,7 @@
2
2
  "contractVersion": "2026-08-22",
3
3
  "externalFiles": [
4
4
  "docs/quickstarts/README.md",
5
+ "docs/quickstarts/cli-reference.md",
5
6
  "docs/quickstarts/cli.md",
6
7
  "docs/quickstarts/curl.md",
7
8
  "docs/quickstarts/first-value.mjs",
@@ -10,14 +11,55 @@
10
11
  "docs/quickstarts/mcp-reference.md",
11
12
  "docs/quickstarts/mcp.md",
12
13
  "packages/api-client/src/operations.generated.ts",
13
- "packages/mcp-tools/src/schemas.generated.ts"
14
+ "packages/mcp-tools/src/schemas.generated.ts",
15
+ "packages/postgres-scheduling/migrations/0047_layered_configuration.sql"
14
16
  ],
15
17
  "files": [
16
18
  "callback-delivery-signature.json",
17
- "callback-endpoint-verification.json",
18
19
  "callback-receiver.json",
19
20
  "examples/attempts.list.response.json",
20
21
  "examples/attempts.read.response.json",
22
+ "examples/billing.autotopup.request.json",
23
+ "examples/billing.autotopup.response.json",
24
+ "examples/billing.autotopuppreview.request.json",
25
+ "examples/billing.autotopuppreview.response.json",
26
+ "examples/billing.budgets.request.json",
27
+ "examples/billing.budgets.response.json",
28
+ "examples/billing.ceiling.request.json",
29
+ "examples/billing.ceiling.response.json",
30
+ "examples/billing.change.request.json",
31
+ "examples/billing.change.response.json",
32
+ "examples/billing.funding.response.json",
33
+ "examples/billing.fundingconfirm.response.json",
34
+ "examples/billing.fundingquote.request.json",
35
+ "examples/billing.fundingquote.response.json",
36
+ "examples/billing.invoicehistory.response.json",
37
+ "examples/billing.invoices.response.json",
38
+ "examples/billing.ledger.response.json",
39
+ "examples/billing.notices.response.json",
40
+ "examples/billing.notificationsettings.response.json",
41
+ "examples/billing.notificationsettingsupdate.request.json",
42
+ "examples/billing.notificationsettingsupdate.response.json",
43
+ "examples/billing.paymenthistory.response.json",
44
+ "examples/billing.paymentmethod.response.json",
45
+ "examples/billing.paymentmethodconfirm.request.json",
46
+ "examples/billing.paymentmethodconfirm.response.json",
47
+ "examples/billing.paymentmethodremove.request.json",
48
+ "examples/billing.paymentmethodremove.response.json",
49
+ "examples/billing.paymentmethodsetup.request.json",
50
+ "examples/billing.paymentmethodsetup.response.json",
51
+ "examples/billing.portal.response.json",
52
+ "examples/billing.projects.response.json",
53
+ "examples/billing.purchase.request.json",
54
+ "examples/billing.purchase.response.json",
55
+ "examples/billing.quote.request.json",
56
+ "examples/billing.quote.response.json",
57
+ "examples/billing.reconcile.response.json",
58
+ "examples/billing.refundrequest.request.json",
59
+ "examples/billing.refundrequest.response.json",
60
+ "examples/billing.refundresolution.request.json",
61
+ "examples/billing.refundresolution.response.json",
62
+ "examples/billing.summary.response.json",
21
63
  "examples/context.read.response.json",
22
64
  "examples/credentials.connection.response.json",
23
65
  "examples/credentials.create.request.json",
@@ -26,20 +68,29 @@
26
68
  "examples/credentials.revoke.response.json",
27
69
  "examples/credentials.rotate.request.json",
28
70
  "examples/credentials.rotate.response.json",
71
+ "examples/endpoints.acknowledgeSigningKeyRotation.response.json",
29
72
  "examples/endpoints.create.request.json",
30
73
  "examples/endpoints.create.response.json",
31
74
  "examples/endpoints.disable.response.json",
75
+ "examples/endpoints.enable.response.json",
32
76
  "examples/endpoints.list.response.json",
33
77
  "examples/endpoints.read.response.json",
78
+ "examples/endpoints.revealSigningSecret.response.json",
34
79
  "examples/endpoints.rotateSigningKey.request.json",
35
80
  "examples/endpoints.rotateSigningKey.response.json",
36
81
  "examples/endpoints.update.request.json",
37
82
  "examples/endpoints.update.response.json",
38
- "examples/endpoints.verify.response.json",
83
+ "examples/executions.list.response.json",
84
+ "examples/exports.cancel.response.json",
85
+ "examples/exports.create.request.json",
86
+ "examples/exports.create.response.json",
87
+ "examples/exports.part.response.json",
88
+ "examples/exports.read.response.json",
39
89
  "examples/forecast.read.response.json",
40
90
  "examples/forecast.windows.response.json",
41
91
  "examples/grants.list.response.json",
42
92
  "examples/grants.revoke.response.json",
93
+ "examples/limits.read.response.json",
43
94
  "examples/meta.scaffold.response.json",
44
95
  "examples/meta.version.response.json",
45
96
  "examples/mock/mock.getFixture.response.json",
@@ -49,9 +100,19 @@
49
100
  "examples/occurrences.list.response.json",
50
101
  "examples/occurrences.read.response.json",
51
102
  "examples/occurrences.redeliver.response.json",
103
+ "examples/organizations.close.request.json",
104
+ "examples/organizations.close.response.json",
105
+ "examples/organizations.lifecycle.response.json",
106
+ "examples/organizations.restore.request.json",
107
+ "examples/organizations.restore.response.json",
108
+ "examples/projects.archive.request.json",
109
+ "examples/projects.archive.response.json",
52
110
  "examples/projects.create.request.json",
53
111
  "examples/projects.create.response.json",
112
+ "examples/projects.delete.response.json",
54
113
  "examples/projects.list.response.json",
114
+ "examples/projects.rename.request.json",
115
+ "examples/projects.rename.response.json",
55
116
  "examples/schedules.archive.response.json",
56
117
  "examples/schedules.cancel.response.json",
57
118
  "examples/schedules.create.request.json",
@@ -71,6 +132,7 @@
71
132
  "examples/testsinks.delete.response.json",
72
133
  "examples/testsinks.list.response.json",
73
134
  "examples/testsinks.read.response.json",
135
+ "examples/timing.summary.response.json",
74
136
  "examples/usage.read.response.json",
75
137
  "first-value-journey.json",
76
138
  "manifest.json",
@@ -80,6 +142,66 @@
80
142
  "schemas/attempts.list.query.json",
81
143
  "schemas/attempts.list.response.json",
82
144
  "schemas/attempts.read.response.json",
145
+ "schemas/billing.autotopup.request-headers.json",
146
+ "schemas/billing.autotopup.request.json",
147
+ "schemas/billing.autotopup.response-headers.json",
148
+ "schemas/billing.autotopup.response.json",
149
+ "schemas/billing.autotopuppreview.request.json",
150
+ "schemas/billing.autotopuppreview.response.json",
151
+ "schemas/billing.budgets.request-headers.json",
152
+ "schemas/billing.budgets.request.json",
153
+ "schemas/billing.budgets.response-headers.json",
154
+ "schemas/billing.budgets.response.json",
155
+ "schemas/billing.ceiling.request-headers.json",
156
+ "schemas/billing.ceiling.request.json",
157
+ "schemas/billing.ceiling.response-headers.json",
158
+ "schemas/billing.ceiling.response.json",
159
+ "schemas/billing.change.request-headers.json",
160
+ "schemas/billing.change.request.json",
161
+ "schemas/billing.change.response.json",
162
+ "schemas/billing.funding.response.json",
163
+ "schemas/billing.fundingconfirm.response.json",
164
+ "schemas/billing.fundingquote.request.json",
165
+ "schemas/billing.fundingquote.response.json",
166
+ "schemas/billing.invoicehistory.query.json",
167
+ "schemas/billing.invoicehistory.response.json",
168
+ "schemas/billing.invoices.response.json",
169
+ "schemas/billing.ledger.query.json",
170
+ "schemas/billing.ledger.response.json",
171
+ "schemas/billing.notices.query.json",
172
+ "schemas/billing.notices.response.json",
173
+ "schemas/billing.notificationsettings.response.json",
174
+ "schemas/billing.notificationsettingsupdate.request-headers.json",
175
+ "schemas/billing.notificationsettingsupdate.request.json",
176
+ "schemas/billing.notificationsettingsupdate.response-headers.json",
177
+ "schemas/billing.notificationsettingsupdate.response.json",
178
+ "schemas/billing.paymenthistory.query.json",
179
+ "schemas/billing.paymenthistory.response.json",
180
+ "schemas/billing.paymentmethod.response.json",
181
+ "schemas/billing.paymentmethodconfirm.request.json",
182
+ "schemas/billing.paymentmethodconfirm.response.json",
183
+ "schemas/billing.paymentmethodremove.request.json",
184
+ "schemas/billing.paymentmethodremove.response.json",
185
+ "schemas/billing.paymentmethodsetup.request.json",
186
+ "schemas/billing.paymentmethodsetup.response.json",
187
+ "schemas/billing.portal.response.json",
188
+ "schemas/billing.projects.response.json",
189
+ "schemas/billing.purchase.request-headers.json",
190
+ "schemas/billing.purchase.request.json",
191
+ "schemas/billing.purchase.response-headers.json",
192
+ "schemas/billing.purchase.response.json",
193
+ "schemas/billing.quote.request.json",
194
+ "schemas/billing.quote.response.json",
195
+ "schemas/billing.reconcile.response.json",
196
+ "schemas/billing.refundrequest.request-headers.json",
197
+ "schemas/billing.refundrequest.request.json",
198
+ "schemas/billing.refundrequest.response-headers.json",
199
+ "schemas/billing.refundrequest.response.json",
200
+ "schemas/billing.refundresolution.request-headers.json",
201
+ "schemas/billing.refundresolution.request.json",
202
+ "schemas/billing.refundresolution.response-headers.json",
203
+ "schemas/billing.refundresolution.response.json",
204
+ "schemas/billing.summary.response.json",
83
205
  "schemas/context.read.response.json",
84
206
  "schemas/credentials.connection.response.json",
85
207
  "schemas/credentials.create.request.json",
@@ -89,14 +211,20 @@
89
211
  "schemas/credentials.revoke.response.json",
90
212
  "schemas/credentials.rotate.request.json",
91
213
  "schemas/credentials.rotate.response.json",
214
+ "schemas/endpoints.acknowledgeSigningKeyRotation.request-headers.json",
215
+ "schemas/endpoints.acknowledgeSigningKeyRotation.response-headers.json",
216
+ "schemas/endpoints.acknowledgeSigningKeyRotation.response.json",
92
217
  "schemas/endpoints.create.request.json",
93
218
  "schemas/endpoints.create.response.json",
94
219
  "schemas/endpoints.disable.response-headers.json",
95
220
  "schemas/endpoints.disable.response.json",
221
+ "schemas/endpoints.enable.response-headers.json",
222
+ "schemas/endpoints.enable.response.json",
96
223
  "schemas/endpoints.list.query.json",
97
224
  "schemas/endpoints.list.response.json",
98
225
  "schemas/endpoints.read.response-headers.json",
99
226
  "schemas/endpoints.read.response.json",
227
+ "schemas/endpoints.revealSigningSecret.response.json",
100
228
  "schemas/endpoints.rotateSigningKey.request-headers.json",
101
229
  "schemas/endpoints.rotateSigningKey.request.json",
102
230
  "schemas/endpoints.rotateSigningKey.response-headers.json",
@@ -105,15 +233,22 @@
105
233
  "schemas/endpoints.update.request.json",
106
234
  "schemas/endpoints.update.response-headers.json",
107
235
  "schemas/endpoints.update.response.json",
108
- "schemas/endpoints.verify.request-headers.json",
109
- "schemas/endpoints.verify.response-headers.json",
110
- "schemas/endpoints.verify.response.json",
236
+ "schemas/executions.list.query.json",
237
+ "schemas/executions.list.response.json",
238
+ "schemas/exports.cancel.response.json",
239
+ "schemas/exports.create.request.json",
240
+ "schemas/exports.create.response.json",
241
+ "schemas/exports.part.query.json",
242
+ "schemas/exports.part.response.json",
243
+ "schemas/exports.read.response.json",
111
244
  "schemas/forecast.read.query.json",
245
+ "schemas/forecast.read.request-headers.json",
112
246
  "schemas/forecast.read.response.json",
113
247
  "schemas/forecast.windows.query.json",
114
248
  "schemas/forecast.windows.response.json",
115
249
  "schemas/grants.list.response.json",
116
250
  "schemas/grants.revoke.response.json",
251
+ "schemas/limits.read.response.json",
117
252
  "schemas/meta.scaffold.response.json",
118
253
  "schemas/meta.version.response.json",
119
254
  "schemas/mock/mock.getFixture.response.json",
@@ -126,9 +261,24 @@
126
261
  "schemas/occurrences.redeliver.request-headers.json",
127
262
  "schemas/occurrences.redeliver.response-headers.json",
128
263
  "schemas/occurrences.redeliver.response.json",
264
+ "schemas/organizations.close.request.json",
265
+ "schemas/organizations.close.response.json",
266
+ "schemas/organizations.lifecycle.response.json",
267
+ "schemas/organizations.restore.request.json",
268
+ "schemas/organizations.restore.response.json",
269
+ "schemas/projects.archive.request-headers.json",
270
+ "schemas/projects.archive.request.json",
271
+ "schemas/projects.archive.response-headers.json",
272
+ "schemas/projects.archive.response.json",
129
273
  "schemas/projects.create.request.json",
130
274
  "schemas/projects.create.response.json",
275
+ "schemas/projects.delete.request-headers.json",
276
+ "schemas/projects.delete.response.json",
131
277
  "schemas/projects.list.response.json",
278
+ "schemas/projects.rename.request-headers.json",
279
+ "schemas/projects.rename.request.json",
280
+ "schemas/projects.rename.response-headers.json",
281
+ "schemas/projects.rename.response.json",
132
282
  "schemas/schedules.archive.request-headers.json",
133
283
  "schemas/schedules.archive.response-headers.json",
134
284
  "schemas/schedules.archive.response.json",
@@ -164,23 +314,58 @@
164
314
  "schemas/testsinks.list.query.json",
165
315
  "schemas/testsinks.list.response.json",
166
316
  "schemas/testsinks.read.response.json",
317
+ "schemas/timing.summary.response.json",
167
318
  "schemas/usage.read.query.json",
168
319
  "schemas/usage.read.response.json",
169
320
  "snippets/attempts.list.json",
170
321
  "snippets/attempts.read.json",
322
+ "snippets/billing.autotopup.json",
323
+ "snippets/billing.autotopuppreview.json",
324
+ "snippets/billing.budgets.json",
325
+ "snippets/billing.ceiling.json",
326
+ "snippets/billing.change.json",
327
+ "snippets/billing.funding.json",
328
+ "snippets/billing.fundingconfirm.json",
329
+ "snippets/billing.fundingquote.json",
330
+ "snippets/billing.invoicehistory.json",
331
+ "snippets/billing.invoices.json",
332
+ "snippets/billing.ledger.json",
333
+ "snippets/billing.notices.json",
334
+ "snippets/billing.notificationsettings.json",
335
+ "snippets/billing.notificationsettingsupdate.json",
336
+ "snippets/billing.paymenthistory.json",
337
+ "snippets/billing.paymentmethod.json",
338
+ "snippets/billing.paymentmethodconfirm.json",
339
+ "snippets/billing.paymentmethodremove.json",
340
+ "snippets/billing.paymentmethodsetup.json",
341
+ "snippets/billing.portal.json",
342
+ "snippets/billing.projects.json",
343
+ "snippets/billing.purchase.json",
344
+ "snippets/billing.quote.json",
345
+ "snippets/billing.reconcile.json",
346
+ "snippets/billing.refundrequest.json",
347
+ "snippets/billing.refundresolution.json",
348
+ "snippets/billing.summary.json",
171
349
  "snippets/context.read.json",
172
350
  "snippets/credentials.connection.json",
173
351
  "snippets/credentials.create.json",
174
352
  "snippets/credentials.list.json",
175
353
  "snippets/credentials.revoke.json",
176
354
  "snippets/credentials.rotate.json",
355
+ "snippets/endpoints.acknowledgeSigningKeyRotation.json",
177
356
  "snippets/endpoints.create.json",
178
357
  "snippets/endpoints.disable.json",
358
+ "snippets/endpoints.enable.json",
179
359
  "snippets/endpoints.list.json",
180
360
  "snippets/endpoints.read.json",
361
+ "snippets/endpoints.revealSigningSecret.json",
181
362
  "snippets/endpoints.rotateSigningKey.json",
182
363
  "snippets/endpoints.update.json",
183
- "snippets/endpoints.verify.json",
364
+ "snippets/executions.list.json",
365
+ "snippets/exports.cancel.json",
366
+ "snippets/exports.create.json",
367
+ "snippets/exports.part.json",
368
+ "snippets/exports.read.json",
184
369
  "snippets/forecast.read.json",
185
370
  "snippets/forecast.windows.json",
186
371
  "snippets/grants.list.json",
@@ -194,6 +379,7 @@
194
379
  "snippets/journey/read-attempt.json",
195
380
  "snippets/journey/read-schedule.json",
196
381
  "snippets/journey/replay-one-shot.json",
382
+ "snippets/limits.read.json",
197
383
  "snippets/meta.scaffold.json",
198
384
  "snippets/meta.version.json",
199
385
  "snippets/mock/mock.getFixture.json",
@@ -202,8 +388,14 @@
202
388
  "snippets/occurrences.list.json",
203
389
  "snippets/occurrences.read.json",
204
390
  "snippets/occurrences.redeliver.json",
391
+ "snippets/organizations.close.json",
392
+ "snippets/organizations.lifecycle.json",
393
+ "snippets/organizations.restore.json",
394
+ "snippets/projects.archive.json",
205
395
  "snippets/projects.create.json",
396
+ "snippets/projects.delete.json",
206
397
  "snippets/projects.list.json",
398
+ "snippets/projects.rename.json",
207
399
  "snippets/schedules.archive.json",
208
400
  "snippets/schedules.cancel.json",
209
401
  "snippets/schedules.create.json",
@@ -219,16 +411,219 @@
219
411
  "snippets/testsinks.delete.json",
220
412
  "snippets/testsinks.list.json",
221
413
  "snippets/testsinks.read.json",
414
+ "snippets/timing.summary.json",
222
415
  "snippets/usage.read.json"
223
416
  ],
224
417
  "operations": [
418
+ {
419
+ "id": "billing.paymenthistory",
420
+ "method": "GET",
421
+ "mutates": false,
422
+ "path": "/v1/billing/payment-history",
423
+ "principals": ["api-credential", "oauth", "session"],
424
+ "problems": [
425
+ "authentication_required",
426
+ "capability_not_configured",
427
+ "credential_expired",
428
+ "credential_revoked",
429
+ "invalid_request",
430
+ "project_archived",
431
+ "rate_limited",
432
+ "scope_missing",
433
+ "service_unavailable"
434
+ ],
435
+ "scopes": ["usage:read"],
436
+ "sessionAuthority": "headers",
437
+ "surfaces": ["api", "mock"]
438
+ },
439
+ {
440
+ "id": "billing.invoicehistory",
441
+ "method": "GET",
442
+ "mutates": false,
443
+ "path": "/v1/billing/invoice-history",
444
+ "principals": ["api-credential", "oauth", "session"],
445
+ "problems": [
446
+ "authentication_required",
447
+ "capability_not_configured",
448
+ "credential_expired",
449
+ "credential_revoked",
450
+ "invalid_request",
451
+ "project_archived",
452
+ "rate_limited",
453
+ "scope_missing",
454
+ "service_unavailable"
455
+ ],
456
+ "scopes": ["usage:read"],
457
+ "sessionAuthority": "headers",
458
+ "surfaces": ["api", "mock"]
459
+ },
460
+ {
461
+ "id": "exports.create",
462
+ "method": "POST",
463
+ "mutates": true,
464
+ "path": "/v1/exports",
465
+ "principals": ["api-credential", "oauth", "session"],
466
+ "problems": [
467
+ "authentication_required",
468
+ "capability_not_configured",
469
+ "credential_expired",
470
+ "credential_revoked",
471
+ "invalid_request",
472
+ "plan_limit_reached",
473
+ "project_archived",
474
+ "rate_limited",
475
+ "scope_missing",
476
+ "service_unavailable",
477
+ "state_conflict"
478
+ ],
479
+ "scopes": ["schedules:read", "endpoints:read"],
480
+ "sessionAuthority": "headers",
481
+ "surfaces": ["api", "mock"]
482
+ },
483
+ {
484
+ "id": "exports.read",
485
+ "method": "GET",
486
+ "mutates": false,
487
+ "path": "/v1/exports/{exportId}",
488
+ "principals": ["api-credential", "oauth", "session"],
489
+ "problems": [
490
+ "authentication_required",
491
+ "capability_not_configured",
492
+ "credential_expired",
493
+ "credential_revoked",
494
+ "not_found",
495
+ "project_archived",
496
+ "rate_limited",
497
+ "scope_missing",
498
+ "service_unavailable",
499
+ "state_conflict"
500
+ ],
501
+ "scopes": ["schedules:read", "endpoints:read"],
502
+ "sessionAuthority": "headers",
503
+ "surfaces": ["api", "mock"]
504
+ },
505
+ {
506
+ "id": "exports.part",
507
+ "method": "GET",
508
+ "mutates": false,
509
+ "path": "/v1/exports/{exportId}/parts",
510
+ "principals": ["api-credential", "oauth", "session"],
511
+ "problems": [
512
+ "authentication_required",
513
+ "capability_not_configured",
514
+ "credential_expired",
515
+ "credential_revoked",
516
+ "invalid_request",
517
+ "not_found",
518
+ "project_archived",
519
+ "rate_limited",
520
+ "scope_missing",
521
+ "service_unavailable",
522
+ "state_conflict"
523
+ ],
524
+ "scopes": ["schedules:read", "endpoints:read"],
525
+ "sessionAuthority": "headers",
526
+ "surfaces": ["api", "mock"]
527
+ },
528
+ {
529
+ "id": "exports.cancel",
530
+ "method": "POST",
531
+ "mutates": true,
532
+ "path": "/v1/exports/{exportId}/cancel",
533
+ "principals": ["api-credential", "oauth", "session"],
534
+ "problems": [
535
+ "authentication_required",
536
+ "capability_not_configured",
537
+ "credential_expired",
538
+ "credential_revoked",
539
+ "not_found",
540
+ "project_archived",
541
+ "rate_limited",
542
+ "scope_missing",
543
+ "service_unavailable",
544
+ "state_conflict"
545
+ ],
546
+ "scopes": ["schedules:read", "endpoints:read"],
547
+ "sessionAuthority": "headers",
548
+ "surfaces": ["api", "mock"]
549
+ },
550
+ {
551
+ "id": "organizations.lifecycle",
552
+ "method": "GET",
553
+ "mutates": false,
554
+ "path": "/v1/organization/lifecycle",
555
+ "principals": ["session"],
556
+ "problems": [
557
+ "authentication_required",
558
+ "capability_not_configured",
559
+ "credential_expired",
560
+ "credential_revoked",
561
+ "not_found",
562
+ "rate_limited",
563
+ "scope_missing",
564
+ "service_unavailable"
565
+ ],
566
+ "scopes": ["projects:administer"],
567
+ "sessionAuthority": "organization",
568
+ "surfaces": ["api", "mock"]
569
+ },
570
+ {
571
+ "id": "organizations.close",
572
+ "method": "POST",
573
+ "mutates": true,
574
+ "path": "/v1/organization/close",
575
+ "principals": ["session"],
576
+ "problems": [
577
+ "authentication_required",
578
+ "capability_not_configured",
579
+ "credential_expired",
580
+ "credential_revoked",
581
+ "invalid_request",
582
+ "not_found",
583
+ "rate_limited",
584
+ "scope_missing",
585
+ "service_unavailable",
586
+ "state_conflict",
587
+ "version_conflict"
588
+ ],
589
+ "scopes": ["projects:administer"],
590
+ "sessionAuthority": "organization",
591
+ "surfaces": ["api", "mock"]
592
+ },
593
+ {
594
+ "id": "organizations.restore",
595
+ "method": "POST",
596
+ "mutates": true,
597
+ "path": "/v1/organization/restore",
598
+ "principals": ["session"],
599
+ "problems": [
600
+ "authentication_required",
601
+ "capability_not_configured",
602
+ "credential_expired",
603
+ "credential_revoked",
604
+ "invalid_request",
605
+ "not_found",
606
+ "rate_limited",
607
+ "scope_missing",
608
+ "service_unavailable",
609
+ "state_conflict",
610
+ "version_conflict"
611
+ ],
612
+ "scopes": ["projects:administer"],
613
+ "sessionAuthority": "organization",
614
+ "surfaces": ["api", "mock"]
615
+ },
225
616
  {
226
617
  "id": "meta.version",
227
618
  "method": "GET",
228
619
  "mutates": false,
229
620
  "path": "/__greatwait/version",
230
621
  "principals": [],
231
- "problems": ["rate_limited", "service_unavailable"],
622
+ "problems": [
623
+ "capability_not_configured",
624
+ "rate_limited",
625
+ "service_unavailable"
626
+ ],
232
627
  "scopes": [],
233
628
  "surfaces": ["api", "mock"]
234
629
  },
@@ -238,7 +633,11 @@
238
633
  "mutates": false,
239
634
  "path": "/_scaffold",
240
635
  "principals": [],
241
- "problems": ["rate_limited", "service_unavailable"],
636
+ "problems": [
637
+ "capability_not_configured",
638
+ "rate_limited",
639
+ "service_unavailable"
640
+ ],
242
641
  "scopes": [],
243
642
  "surfaces": ["api", "mock"]
244
643
  },
@@ -248,7 +647,11 @@
248
647
  "mutates": false,
249
648
  "path": "/_contract/fixtures",
250
649
  "principals": [],
251
- "problems": ["rate_limited", "service_unavailable"],
650
+ "problems": [
651
+ "capability_not_configured",
652
+ "rate_limited",
653
+ "service_unavailable"
654
+ ],
252
655
  "scopes": [],
253
656
  "surfaces": ["mock"]
254
657
  },
@@ -258,7 +661,12 @@
258
661
  "mutates": false,
259
662
  "path": "/_contract/fixtures/{fixtureId}",
260
663
  "principals": [],
261
- "problems": ["not_found", "rate_limited", "service_unavailable"],
664
+ "problems": [
665
+ "capability_not_configured",
666
+ "not_found",
667
+ "rate_limited",
668
+ "service_unavailable"
669
+ ],
262
670
  "scopes": [],
263
671
  "surfaces": ["mock"]
264
672
  },
@@ -270,13 +678,16 @@
270
678
  "principals": ["api-credential", "oauth", "session"],
271
679
  "problems": [
272
680
  "authentication_required",
681
+ "capability_not_configured",
273
682
  "credential_expired",
274
683
  "credential_revoked",
275
684
  "invalid_request",
276
685
  "plan_limit_reached",
686
+ "project_archived",
277
687
  "rate_limited",
278
688
  "scope_missing",
279
- "service_unavailable"
689
+ "service_unavailable",
690
+ "state_conflict"
280
691
  ],
281
692
  "scopes": ["endpoints:write"],
282
693
  "sessionAuthority": "headers",
@@ -290,9 +701,11 @@
290
701
  "principals": ["api-credential", "oauth", "session"],
291
702
  "problems": [
292
703
  "authentication_required",
704
+ "capability_not_configured",
293
705
  "credential_expired",
294
706
  "credential_revoked",
295
707
  "invalid_request",
708
+ "project_archived",
296
709
  "rate_limited",
297
710
  "scope_missing",
298
711
  "service_unavailable"
@@ -309,10 +722,12 @@
309
722
  "principals": ["api-credential", "oauth", "session"],
310
723
  "problems": [
311
724
  "authentication_required",
725
+ "capability_not_configured",
312
726
  "credential_expired",
313
727
  "credential_revoked",
314
728
  "invalid_request",
315
729
  "not_found",
730
+ "project_archived",
316
731
  "rate_limited",
317
732
  "scope_missing",
318
733
  "service_unavailable"
@@ -329,10 +744,12 @@
329
744
  "principals": ["api-credential", "oauth", "session"],
330
745
  "problems": [
331
746
  "authentication_required",
747
+ "capability_not_configured",
332
748
  "credential_expired",
333
749
  "credential_revoked",
334
750
  "invalid_request",
335
751
  "not_found",
752
+ "project_archived",
336
753
  "rate_limited",
337
754
  "scope_missing",
338
755
  "service_unavailable",
@@ -344,17 +761,19 @@
344
761
  "surfaces": ["api", "mock"]
345
762
  },
346
763
  {
347
- "id": "endpoints.verify",
764
+ "id": "endpoints.rotateSigningKey",
348
765
  "method": "POST",
349
766
  "mutates": true,
350
- "path": "/v1/endpoints/{endpointId}/verify",
767
+ "path": "/v1/endpoints/{endpointId}/signing-keys/rotate",
351
768
  "principals": ["api-credential", "oauth", "session"],
352
769
  "problems": [
353
770
  "authentication_required",
771
+ "capability_not_configured",
354
772
  "credential_expired",
355
773
  "credential_revoked",
356
774
  "invalid_request",
357
775
  "not_found",
776
+ "project_archived",
358
777
  "rate_limited",
359
778
  "scope_missing",
360
779
  "service_unavailable",
@@ -366,17 +785,19 @@
366
785
  "surfaces": ["api", "mock"]
367
786
  },
368
787
  {
369
- "id": "endpoints.rotateSigningKey",
788
+ "id": "endpoints.acknowledgeSigningKeyRotation",
370
789
  "method": "POST",
371
790
  "mutates": true,
372
- "path": "/v1/endpoints/{endpointId}/signing-keys/rotate",
791
+ "path": "/v1/endpoints/{endpointId}/signing-keys/acknowledge",
373
792
  "principals": ["api-credential", "oauth", "session"],
374
793
  "problems": [
375
794
  "authentication_required",
795
+ "capability_not_configured",
376
796
  "credential_expired",
377
797
  "credential_revoked",
378
798
  "invalid_request",
379
799
  "not_found",
800
+ "project_archived",
380
801
  "rate_limited",
381
802
  "scope_missing",
382
803
  "service_unavailable",
@@ -387,6 +808,29 @@
387
808
  "sessionAuthority": "headers",
388
809
  "surfaces": ["api", "mock"]
389
810
  },
811
+ {
812
+ "id": "endpoints.revealSigningSecret",
813
+ "method": "GET",
814
+ "mutates": false,
815
+ "path": "/v1/endpoints/{endpointId}/signing-secret",
816
+ "principals": ["session"],
817
+ "problems": [
818
+ "authentication_required",
819
+ "capability_not_configured",
820
+ "credential_expired",
821
+ "credential_revoked",
822
+ "invalid_request",
823
+ "not_found",
824
+ "project_archived",
825
+ "rate_limited",
826
+ "scope_missing",
827
+ "service_unavailable",
828
+ "state_conflict"
829
+ ],
830
+ "scopes": ["endpoints:write"],
831
+ "sessionAuthority": "headers",
832
+ "surfaces": ["api", "mock"]
833
+ },
390
834
  {
391
835
  "id": "endpoints.disable",
392
836
  "method": "DELETE",
@@ -395,10 +839,12 @@
395
839
  "principals": ["api-credential", "oauth", "session"],
396
840
  "problems": [
397
841
  "authentication_required",
842
+ "capability_not_configured",
398
843
  "credential_expired",
399
844
  "credential_revoked",
400
845
  "invalid_request",
401
846
  "not_found",
847
+ "project_archived",
402
848
  "rate_limited",
403
849
  "scope_missing",
404
850
  "service_unavailable"
@@ -407,6 +853,29 @@
407
853
  "sessionAuthority": "headers",
408
854
  "surfaces": ["api", "mock"]
409
855
  },
856
+ {
857
+ "id": "endpoints.enable",
858
+ "method": "POST",
859
+ "mutates": true,
860
+ "path": "/v1/endpoints/{endpointId}/enable",
861
+ "principals": ["api-credential", "oauth", "session"],
862
+ "problems": [
863
+ "authentication_required",
864
+ "capability_not_configured",
865
+ "credential_expired",
866
+ "credential_revoked",
867
+ "invalid_request",
868
+ "not_found",
869
+ "project_archived",
870
+ "rate_limited",
871
+ "scope_missing",
872
+ "service_unavailable",
873
+ "state_conflict"
874
+ ],
875
+ "scopes": ["endpoints:write"],
876
+ "sessionAuthority": "headers",
877
+ "surfaces": ["api", "mock"]
878
+ },
410
879
  {
411
880
  "id": "testsinks.create",
412
881
  "method": "POST",
@@ -415,11 +884,13 @@
415
884
  "principals": ["api-credential", "oauth", "session"],
416
885
  "problems": [
417
886
  "authentication_required",
887
+ "capability_not_configured",
418
888
  "credential_expired",
419
889
  "credential_revoked",
420
890
  "invalid_request",
421
891
  "not_found",
422
892
  "plan_limit_reached",
893
+ "project_archived",
423
894
  "rate_limited",
424
895
  "scope_missing",
425
896
  "service_unavailable",
@@ -437,9 +908,11 @@
437
908
  "principals": ["api-credential", "oauth", "session"],
438
909
  "problems": [
439
910
  "authentication_required",
911
+ "capability_not_configured",
440
912
  "credential_expired",
441
913
  "credential_revoked",
442
914
  "invalid_request",
915
+ "project_archived",
443
916
  "rate_limited",
444
917
  "scope_missing",
445
918
  "service_unavailable",
@@ -457,10 +930,12 @@
457
930
  "principals": ["api-credential", "oauth", "session"],
458
931
  "problems": [
459
932
  "authentication_required",
933
+ "capability_not_configured",
460
934
  "credential_expired",
461
935
  "credential_revoked",
462
936
  "invalid_request",
463
937
  "not_found",
938
+ "project_archived",
464
939
  "rate_limited",
465
940
  "scope_missing",
466
941
  "service_unavailable",
@@ -478,10 +953,12 @@
478
953
  "principals": ["api-credential", "oauth", "session"],
479
954
  "problems": [
480
955
  "authentication_required",
956
+ "capability_not_configured",
481
957
  "credential_expired",
482
958
  "credential_revoked",
483
959
  "invalid_request",
484
960
  "not_found",
961
+ "project_archived",
485
962
  "rate_limited",
486
963
  "scope_missing",
487
964
  "service_unavailable",
@@ -499,10 +976,12 @@
499
976
  "principals": ["api-credential", "oauth", "session"],
500
977
  "problems": [
501
978
  "authentication_required",
979
+ "capability_not_configured",
502
980
  "credential_expired",
503
981
  "credential_revoked",
504
982
  "invalid_request",
505
983
  "not_found",
984
+ "project_archived",
506
985
  "rate_limited",
507
986
  "scope_missing",
508
987
  "service_unavailable",
@@ -520,10 +999,12 @@
520
999
  "principals": ["api-credential", "oauth", "session"],
521
1000
  "problems": [
522
1001
  "authentication_required",
1002
+ "capability_not_configured",
523
1003
  "credential_expired",
524
1004
  "credential_revoked",
525
1005
  "invalid_request",
526
1006
  "not_found",
1007
+ "project_archived",
527
1008
  "rate_limited",
528
1009
  "scope_missing",
529
1010
  "service_unavailable",
@@ -541,10 +1022,12 @@
541
1022
  "principals": ["api-credential", "oauth", "session"],
542
1023
  "problems": [
543
1024
  "authentication_required",
1025
+ "capability_not_configured",
544
1026
  "credential_expired",
545
1027
  "credential_revoked",
546
1028
  "invalid_request",
547
1029
  "not_found",
1030
+ "project_archived",
548
1031
  "rate_limited",
549
1032
  "scope_missing",
550
1033
  "service_unavailable",
@@ -560,7 +1043,12 @@
560
1043
  "mutates": true,
561
1044
  "path": "/_contract/scenarios",
562
1045
  "principals": [],
563
- "problems": ["invalid_request", "rate_limited", "service_unavailable"],
1046
+ "problems": [
1047
+ "capability_not_configured",
1048
+ "invalid_request",
1049
+ "rate_limited",
1050
+ "service_unavailable"
1051
+ ],
564
1052
  "scopes": [],
565
1053
  "surfaces": ["mock"]
566
1054
  },
@@ -572,8 +1060,10 @@
572
1060
  "principals": ["api-credential", "oauth"],
573
1061
  "problems": [
574
1062
  "authentication_required",
1063
+ "capability_not_configured",
575
1064
  "credential_expired",
576
1065
  "credential_revoked",
1066
+ "project_archived",
577
1067
  "rate_limited",
578
1068
  "service_unavailable"
579
1069
  ],
@@ -588,10 +1078,12 @@
588
1078
  "principals": ["session"],
589
1079
  "problems": [
590
1080
  "authentication_required",
1081
+ "capability_not_configured",
591
1082
  "credential_expired",
592
1083
  "credential_revoked",
593
1084
  "invalid_request",
594
1085
  "not_found",
1086
+ "project_archived",
595
1087
  "rate_limited",
596
1088
  "scope_missing",
597
1089
  "service_unavailable"
@@ -608,9 +1100,11 @@
608
1100
  "principals": ["api-credential", "oauth", "session"],
609
1101
  "problems": [
610
1102
  "authentication_required",
1103
+ "capability_not_configured",
611
1104
  "credential_expired",
612
1105
  "credential_revoked",
613
1106
  "invalid_request",
1107
+ "project_archived",
614
1108
  "rate_limited",
615
1109
  "scope_missing",
616
1110
  "service_unavailable"
@@ -627,9 +1121,11 @@
627
1121
  "principals": ["session"],
628
1122
  "problems": [
629
1123
  "authentication_required",
1124
+ "capability_not_configured",
630
1125
  "credential_expired",
631
1126
  "credential_revoked",
632
1127
  "not_found",
1128
+ "project_archived",
633
1129
  "rate_limited",
634
1130
  "scope_missing",
635
1131
  "service_unavailable"
@@ -646,6 +1142,7 @@
646
1142
  "principals": ["session"],
647
1143
  "problems": [
648
1144
  "authentication_required",
1145
+ "capability_not_configured",
649
1146
  "credential_expired",
650
1147
  "credential_revoked",
651
1148
  "rate_limited",
@@ -664,50 +1161,122 @@
664
1161
  "principals": ["session"],
665
1162
  "problems": [
666
1163
  "authentication_required",
1164
+ "capability_not_configured",
667
1165
  "credential_expired",
668
1166
  "credential_revoked",
669
1167
  "invalid_request",
670
1168
  "plan_limit_reached",
671
1169
  "rate_limited",
672
1170
  "scope_missing",
673
- "service_unavailable"
1171
+ "service_unavailable",
1172
+ "state_conflict"
674
1173
  ],
675
1174
  "scopes": ["projects:write"],
676
1175
  "sessionAuthority": "organization",
677
1176
  "surfaces": ["api", "mock"]
678
1177
  },
679
1178
  {
680
- "id": "grants.list",
681
- "method": "GET",
682
- "mutates": false,
683
- "path": "/v1/grants",
684
- "principals": ["session"],
1179
+ "id": "projects.rename",
1180
+ "method": "PATCH",
1181
+ "mutates": true,
1182
+ "path": "/v1/projects/{projectId}",
1183
+ "principals": ["api-credential", "oauth", "session"],
685
1184
  "problems": [
686
1185
  "authentication_required",
1186
+ "capability_not_configured",
687
1187
  "credential_expired",
688
1188
  "credential_revoked",
1189
+ "invalid_request",
1190
+ "not_found",
689
1191
  "rate_limited",
690
1192
  "scope_missing",
691
- "service_unavailable"
1193
+ "service_unavailable",
1194
+ "state_conflict",
1195
+ "version_conflict"
692
1196
  ],
693
- "scopes": ["grants:read"],
694
- "sessionAuthority": "member",
1197
+ "scopes": ["projects:write"],
1198
+ "sessionAuthority": "headers",
695
1199
  "surfaces": ["api", "mock"]
696
1200
  },
697
1201
  {
698
- "id": "grants.revoke",
699
- "method": "DELETE",
1202
+ "id": "projects.archive",
1203
+ "method": "POST",
700
1204
  "mutates": true,
701
- "path": "/v1/grants/{grantId}",
702
- "principals": ["session"],
1205
+ "path": "/v1/projects/{projectId}/archive",
1206
+ "principals": ["api-credential", "oauth", "session"],
703
1207
  "problems": [
704
1208
  "authentication_required",
1209
+ "capability_not_configured",
705
1210
  "credential_expired",
706
1211
  "credential_revoked",
1212
+ "invalid_request",
707
1213
  "not_found",
708
1214
  "rate_limited",
709
1215
  "scope_missing",
710
- "service_unavailable"
1216
+ "service_unavailable",
1217
+ "state_conflict",
1218
+ "version_conflict"
1219
+ ],
1220
+ "scopes": ["projects:administer"],
1221
+ "sessionAuthority": "headers",
1222
+ "surfaces": ["api", "mock"]
1223
+ },
1224
+ {
1225
+ "id": "projects.delete",
1226
+ "method": "DELETE",
1227
+ "mutates": true,
1228
+ "path": "/v1/projects/{projectId}",
1229
+ "principals": ["api-credential", "oauth", "session"],
1230
+ "problems": [
1231
+ "authentication_required",
1232
+ "capability_not_configured",
1233
+ "credential_expired",
1234
+ "credential_revoked",
1235
+ "not_found",
1236
+ "rate_limited",
1237
+ "scope_missing",
1238
+ "service_unavailable",
1239
+ "state_conflict",
1240
+ "version_conflict"
1241
+ ],
1242
+ "scopes": ["projects:administer"],
1243
+ "sessionAuthority": "headers",
1244
+ "surfaces": ["api", "mock"]
1245
+ },
1246
+ {
1247
+ "id": "grants.list",
1248
+ "method": "GET",
1249
+ "mutates": false,
1250
+ "path": "/v1/grants",
1251
+ "principals": ["session"],
1252
+ "problems": [
1253
+ "authentication_required",
1254
+ "capability_not_configured",
1255
+ "credential_expired",
1256
+ "credential_revoked",
1257
+ "rate_limited",
1258
+ "scope_missing",
1259
+ "service_unavailable"
1260
+ ],
1261
+ "scopes": ["grants:read"],
1262
+ "sessionAuthority": "member",
1263
+ "surfaces": ["api", "mock"]
1264
+ },
1265
+ {
1266
+ "id": "grants.revoke",
1267
+ "method": "DELETE",
1268
+ "mutates": true,
1269
+ "path": "/v1/grants/{grantId}",
1270
+ "principals": ["session"],
1271
+ "problems": [
1272
+ "authentication_required",
1273
+ "capability_not_configured",
1274
+ "credential_expired",
1275
+ "credential_revoked",
1276
+ "not_found",
1277
+ "rate_limited",
1278
+ "scope_missing",
1279
+ "service_unavailable"
711
1280
  ],
712
1281
  "scopes": ["grants:write"],
713
1282
  "sessionAuthority": "member",
@@ -721,10 +1290,12 @@
721
1290
  "principals": ["api-credential", "oauth", "session"],
722
1291
  "problems": [
723
1292
  "authentication_required",
1293
+ "capability_not_configured",
724
1294
  "credential_expired",
725
1295
  "credential_revoked",
726
1296
  "invalid_request",
727
1297
  "not_found",
1298
+ "project_archived",
728
1299
  "rate_limited",
729
1300
  "scope_missing",
730
1301
  "service_unavailable"
@@ -741,10 +1312,12 @@
741
1312
  "principals": ["api-credential", "oauth", "session"],
742
1313
  "problems": [
743
1314
  "authentication_required",
1315
+ "capability_not_configured",
744
1316
  "credential_expired",
745
1317
  "credential_revoked",
746
1318
  "invalid_request",
747
1319
  "not_found",
1320
+ "project_archived",
748
1321
  "rate_limited",
749
1322
  "scope_missing",
750
1323
  "service_unavailable"
@@ -761,16 +1334,18 @@
761
1334
  "principals": ["api-credential", "oauth", "session"],
762
1335
  "problems": [
763
1336
  "authentication_required",
1337
+ "capability_not_configured",
764
1338
  "credential_expired",
765
1339
  "credential_revoked",
766
- "endpoint_unverified",
767
1340
  "idempotency_key_reused",
768
1341
  "invalid_request",
769
1342
  "not_found",
770
1343
  "plan_limit_reached",
1344
+ "project_archived",
771
1345
  "rate_limited",
772
1346
  "scope_missing",
773
- "service_unavailable"
1347
+ "service_unavailable",
1348
+ "state_conflict"
774
1349
  ],
775
1350
  "scopes": ["schedules:write"],
776
1351
  "sessionAuthority": "headers",
@@ -784,10 +1359,12 @@
784
1359
  "principals": ["api-credential", "oauth", "session"],
785
1360
  "problems": [
786
1361
  "authentication_required",
1362
+ "capability_not_configured",
787
1363
  "credential_expired",
788
1364
  "credential_revoked",
789
1365
  "invalid_request",
790
1366
  "not_found",
1367
+ "project_archived",
791
1368
  "rate_limited",
792
1369
  "scope_missing",
793
1370
  "service_unavailable"
@@ -804,9 +1381,11 @@
804
1381
  "principals": ["api-credential", "oauth", "session"],
805
1382
  "problems": [
806
1383
  "authentication_required",
1384
+ "capability_not_configured",
807
1385
  "credential_expired",
808
1386
  "credential_revoked",
809
1387
  "invalid_request",
1388
+ "project_archived",
810
1389
  "rate_limited",
811
1390
  "scope_missing",
812
1391
  "service_unavailable"
@@ -823,9 +1402,11 @@
823
1402
  "principals": ["api-credential", "oauth", "session"],
824
1403
  "problems": [
825
1404
  "authentication_required",
1405
+ "capability_not_configured",
826
1406
  "credential_expired",
827
1407
  "credential_revoked",
828
1408
  "invalid_request",
1409
+ "project_archived",
829
1410
  "rate_limited",
830
1411
  "scope_missing",
831
1412
  "service_unavailable"
@@ -835,16 +1416,18 @@
835
1416
  "surfaces": ["api", "mock"]
836
1417
  },
837
1418
  {
838
- "id": "usage.read",
1419
+ "id": "billing.summary",
839
1420
  "method": "GET",
840
1421
  "mutates": false,
841
- "path": "/v1/usage",
1422
+ "path": "/v1/billing/summary",
842
1423
  "principals": ["api-credential", "oauth", "session"],
843
1424
  "problems": [
844
1425
  "authentication_required",
1426
+ "billing_not_ready",
1427
+ "capability_not_configured",
845
1428
  "credential_expired",
846
1429
  "credential_revoked",
847
- "invalid_request",
1430
+ "project_archived",
848
1431
  "rate_limited",
849
1432
  "scope_missing",
850
1433
  "service_unavailable"
@@ -854,36 +1437,681 @@
854
1437
  "surfaces": ["api", "mock"]
855
1438
  },
856
1439
  {
857
- "id": "forecast.windows",
1440
+ "id": "billing.notices",
858
1441
  "method": "GET",
859
1442
  "mutates": false,
860
- "path": "/v1/forecast/windows",
1443
+ "path": "/v1/billing/notices",
861
1444
  "principals": ["api-credential", "oauth", "session"],
862
1445
  "problems": [
863
1446
  "authentication_required",
1447
+ "capability_not_configured",
864
1448
  "credential_expired",
865
1449
  "credential_revoked",
866
1450
  "invalid_request",
1451
+ "project_archived",
867
1452
  "rate_limited",
868
1453
  "scope_missing",
869
1454
  "service_unavailable"
870
1455
  ],
871
- "scopes": ["forecast:read"],
1456
+ "scopes": ["usage:read"],
872
1457
  "sessionAuthority": "headers",
873
1458
  "surfaces": ["api", "mock"]
874
1459
  },
875
1460
  {
876
- "id": "occurrences.list",
1461
+ "id": "billing.notificationsettings",
877
1462
  "method": "GET",
878
1463
  "mutates": false,
879
- "path": "/v1/schedules/{scheduleId}/occurrences",
1464
+ "path": "/v1/billing/notification-settings",
1465
+ "principals": ["api-credential", "oauth", "session"],
1466
+ "problems": [
1467
+ "authentication_required",
1468
+ "capability_not_configured",
1469
+ "credential_expired",
1470
+ "credential_revoked",
1471
+ "project_archived",
1472
+ "rate_limited",
1473
+ "scope_missing",
1474
+ "service_unavailable"
1475
+ ],
1476
+ "scopes": ["usage:read"],
1477
+ "sessionAuthority": "headers",
1478
+ "surfaces": ["api", "mock"]
1479
+ },
1480
+ {
1481
+ "id": "billing.notificationsettingsupdate",
1482
+ "method": "PATCH",
1483
+ "mutates": true,
1484
+ "path": "/v1/billing/notification-settings",
1485
+ "principals": ["api-credential", "oauth", "session"],
1486
+ "problems": [
1487
+ "authentication_required",
1488
+ "capability_not_configured",
1489
+ "credential_expired",
1490
+ "credential_revoked",
1491
+ "idempotency_key_reused",
1492
+ "invalid_request",
1493
+ "project_archived",
1494
+ "rate_limited",
1495
+ "revision_conflict",
1496
+ "scope_missing",
1497
+ "service_unavailable",
1498
+ "test_to_live_escalation"
1499
+ ],
1500
+ "scopes": ["billing:write"],
1501
+ "sessionAuthority": "headers",
1502
+ "surfaces": ["api", "mock"]
1503
+ },
1504
+ {
1505
+ "id": "billing.funding",
1506
+ "method": "GET",
1507
+ "mutates": false,
1508
+ "path": "/v1/billing/funding",
1509
+ "principals": ["api-credential", "oauth", "session"],
1510
+ "problems": [
1511
+ "authentication_required",
1512
+ "capability_not_configured",
1513
+ "credential_expired",
1514
+ "credential_revoked",
1515
+ "project_archived",
1516
+ "rate_limited",
1517
+ "scope_missing",
1518
+ "service_unavailable"
1519
+ ],
1520
+ "scopes": ["usage:read"],
1521
+ "sessionAuthority": "headers",
1522
+ "surfaces": ["api", "mock"]
1523
+ },
1524
+ {
1525
+ "id": "billing.fundingquote",
1526
+ "method": "POST",
1527
+ "mutates": false,
1528
+ "path": "/v1/billing/funding/quote",
1529
+ "principals": ["api-credential", "oauth", "session"],
1530
+ "problems": [
1531
+ "authentication_required",
1532
+ "capability_not_configured",
1533
+ "credential_expired",
1534
+ "credential_revoked",
1535
+ "invalid_request",
1536
+ "project_archived",
1537
+ "rate_limited",
1538
+ "revision_conflict",
1539
+ "scope_missing",
1540
+ "service_unavailable",
1541
+ "state_conflict",
1542
+ "test_to_live_escalation"
1543
+ ],
1544
+ "scopes": ["billing:write"],
1545
+ "sessionAuthority": "headers",
1546
+ "surfaces": ["api", "mock"]
1547
+ },
1548
+ {
1549
+ "id": "billing.purchase",
1550
+ "method": "POST",
1551
+ "mutates": true,
1552
+ "path": "/v1/billing/funding/purchase",
1553
+ "principals": ["api-credential", "oauth", "session"],
1554
+ "problems": [
1555
+ "authentication_required",
1556
+ "capability_not_configured",
1557
+ "credential_expired",
1558
+ "credential_revoked",
1559
+ "idempotency_key_reused",
1560
+ "invalid_request",
1561
+ "not_found",
1562
+ "project_archived",
1563
+ "rate_limited",
1564
+ "revision_conflict",
1565
+ "scope_missing",
1566
+ "service_unavailable",
1567
+ "state_conflict",
1568
+ "test_to_live_escalation"
1569
+ ],
1570
+ "scopes": ["billing:write"],
1571
+ "sessionAuthority": "headers",
1572
+ "surfaces": ["api", "mock"]
1573
+ },
1574
+ {
1575
+ "id": "billing.fundingconfirm",
1576
+ "method": "POST",
1577
+ "mutates": true,
1578
+ "path": "/v1/billing/funding/{paymentOperation}/confirm",
1579
+ "principals": ["api-credential", "oauth", "session"],
1580
+ "problems": [
1581
+ "authentication_required",
1582
+ "capability_not_configured",
1583
+ "credential_expired",
1584
+ "credential_revoked",
1585
+ "not_found",
1586
+ "project_archived",
1587
+ "rate_limited",
1588
+ "scope_missing",
1589
+ "service_unavailable",
1590
+ "state_conflict",
1591
+ "test_to_live_escalation"
1592
+ ],
1593
+ "scopes": ["billing:write"],
1594
+ "sessionAuthority": "headers",
1595
+ "surfaces": ["api", "mock"]
1596
+ },
1597
+ {
1598
+ "id": "billing.ceiling",
1599
+ "method": "PATCH",
1600
+ "mutates": true,
1601
+ "path": "/v1/billing/funding/ceiling",
1602
+ "principals": ["api-credential", "oauth", "session"],
1603
+ "problems": [
1604
+ "authentication_required",
1605
+ "capability_not_configured",
1606
+ "credential_expired",
1607
+ "credential_revoked",
1608
+ "idempotency_key_reused",
1609
+ "invalid_request",
1610
+ "project_archived",
1611
+ "rate_limited",
1612
+ "revision_conflict",
1613
+ "scope_missing",
1614
+ "service_unavailable",
1615
+ "state_conflict",
1616
+ "test_to_live_escalation"
1617
+ ],
1618
+ "scopes": ["billing:write"],
1619
+ "sessionAuthority": "headers",
1620
+ "surfaces": ["api", "mock"]
1621
+ },
1622
+ {
1623
+ "id": "billing.autotopuppreview",
1624
+ "method": "POST",
1625
+ "mutates": false,
1626
+ "path": "/v1/billing/funding/auto-top-up/preview",
1627
+ "principals": ["api-credential", "oauth", "session"],
1628
+ "problems": [
1629
+ "authentication_required",
1630
+ "capability_not_configured",
1631
+ "credential_expired",
1632
+ "credential_revoked",
1633
+ "invalid_request",
1634
+ "project_archived",
1635
+ "rate_limited",
1636
+ "revision_conflict",
1637
+ "scope_missing",
1638
+ "service_unavailable",
1639
+ "state_conflict",
1640
+ "test_to_live_escalation"
1641
+ ],
1642
+ "scopes": ["billing:write"],
1643
+ "sessionAuthority": "headers",
1644
+ "surfaces": ["api", "mock"]
1645
+ },
1646
+ {
1647
+ "id": "billing.autotopup",
1648
+ "method": "PATCH",
1649
+ "mutates": true,
1650
+ "path": "/v1/billing/funding/auto-top-up",
880
1651
  "principals": ["api-credential", "oauth", "session"],
881
1652
  "problems": [
882
1653
  "authentication_required",
1654
+ "capability_not_configured",
1655
+ "credential_expired",
1656
+ "credential_revoked",
1657
+ "idempotency_key_reused",
1658
+ "invalid_request",
1659
+ "project_archived",
1660
+ "rate_limited",
1661
+ "revision_conflict",
1662
+ "scope_missing",
1663
+ "service_unavailable",
1664
+ "state_conflict",
1665
+ "test_to_live_escalation"
1666
+ ],
1667
+ "scopes": ["billing:write"],
1668
+ "sessionAuthority": "headers",
1669
+ "surfaces": ["api", "mock"]
1670
+ },
1671
+ {
1672
+ "id": "billing.refundrequest",
1673
+ "method": "POST",
1674
+ "mutates": true,
1675
+ "path": "/v1/billing/funding/refunds",
1676
+ "principals": ["api-credential", "oauth"],
1677
+ "problems": [
1678
+ "authentication_required",
1679
+ "capability_not_configured",
1680
+ "credential_expired",
1681
+ "credential_revoked",
1682
+ "idempotency_key_reused",
1683
+ "invalid_request",
1684
+ "not_found",
1685
+ "project_archived",
1686
+ "rate_limited",
1687
+ "scope_missing",
1688
+ "service_unavailable",
1689
+ "state_conflict",
1690
+ "test_to_live_escalation"
1691
+ ],
1692
+ "scopes": ["billing:write"],
1693
+ "surfaces": ["api", "mock"]
1694
+ },
1695
+ {
1696
+ "id": "billing.refundresolution",
1697
+ "method": "PATCH",
1698
+ "mutates": true,
1699
+ "path": "/v1/billing/funding/refunds/{refundRequest}",
1700
+ "principals": ["api-credential", "oauth"],
1701
+ "problems": [
1702
+ "authentication_required",
1703
+ "capability_not_configured",
883
1704
  "credential_expired",
884
1705
  "credential_revoked",
1706
+ "idempotency_key_reused",
885
1707
  "invalid_request",
886
1708
  "not_found",
1709
+ "project_archived",
1710
+ "rate_limited",
1711
+ "scope_missing",
1712
+ "service_unavailable",
1713
+ "state_conflict",
1714
+ "test_to_live_escalation"
1715
+ ],
1716
+ "scopes": ["billing:write"],
1717
+ "surfaces": ["api", "mock"]
1718
+ },
1719
+ {
1720
+ "id": "billing.projects",
1721
+ "method": "GET",
1722
+ "mutates": false,
1723
+ "path": "/v1/billing/projects",
1724
+ "principals": ["api-credential", "oauth", "session"],
1725
+ "problems": [
1726
+ "authentication_required",
1727
+ "capability_not_configured",
1728
+ "credential_expired",
1729
+ "credential_revoked",
1730
+ "not_found",
1731
+ "project_archived",
1732
+ "rate_limited",
1733
+ "revision_conflict",
1734
+ "scope_missing",
1735
+ "service_unavailable",
1736
+ "state_conflict",
1737
+ "test_to_live_escalation"
1738
+ ],
1739
+ "scopes": ["usage:read"],
1740
+ "sessionAuthority": "headers",
1741
+ "surfaces": ["api", "mock"]
1742
+ },
1743
+ {
1744
+ "id": "billing.quote",
1745
+ "method": "POST",
1746
+ "mutates": false,
1747
+ "path": "/v1/billing/projects/quote",
1748
+ "principals": ["api-credential", "oauth", "session"],
1749
+ "problems": [
1750
+ "authentication_required",
1751
+ "capability_not_configured",
1752
+ "credential_expired",
1753
+ "credential_revoked",
1754
+ "not_found",
1755
+ "project_archived",
1756
+ "rate_limited",
1757
+ "revision_conflict",
1758
+ "scope_missing",
1759
+ "service_unavailable",
1760
+ "state_conflict",
1761
+ "test_to_live_escalation"
1762
+ ],
1763
+ "scopes": ["billing:write"],
1764
+ "sessionAuthority": "headers",
1765
+ "surfaces": ["api", "mock"]
1766
+ },
1767
+ {
1768
+ "id": "billing.change",
1769
+ "method": "POST",
1770
+ "mutates": true,
1771
+ "path": "/v1/billing/projects/change",
1772
+ "principals": ["api-credential", "oauth", "session"],
1773
+ "problems": [
1774
+ "authentication_required",
1775
+ "capability_not_configured",
1776
+ "credential_expired",
1777
+ "credential_revoked",
1778
+ "idempotency_key_reused",
1779
+ "not_found",
1780
+ "project_archived",
1781
+ "rate_limited",
1782
+ "revision_conflict",
1783
+ "scope_missing",
1784
+ "service_unavailable",
1785
+ "state_conflict",
1786
+ "test_to_live_escalation"
1787
+ ],
1788
+ "scopes": ["billing:write"],
1789
+ "sessionAuthority": "headers",
1790
+ "surfaces": ["api", "mock"]
1791
+ },
1792
+ {
1793
+ "id": "billing.portal",
1794
+ "method": "POST",
1795
+ "mutates": true,
1796
+ "path": "/v1/billing/portal",
1797
+ "principals": ["api-credential", "oauth", "session"],
1798
+ "problems": [
1799
+ "authentication_required",
1800
+ "capability_not_configured",
1801
+ "credential_expired",
1802
+ "credential_revoked",
1803
+ "not_found",
1804
+ "project_archived",
1805
+ "rate_limited",
1806
+ "revision_conflict",
1807
+ "scope_missing",
1808
+ "service_unavailable",
1809
+ "state_conflict",
1810
+ "test_to_live_escalation"
1811
+ ],
1812
+ "scopes": ["billing:write"],
1813
+ "sessionAuthority": "headers",
1814
+ "surfaces": ["api", "mock"]
1815
+ },
1816
+ {
1817
+ "id": "billing.paymentmethod",
1818
+ "method": "GET",
1819
+ "mutates": false,
1820
+ "path": "/v1/billing/payment-method",
1821
+ "principals": ["api-credential", "oauth", "session"],
1822
+ "problems": [
1823
+ "authentication_required",
1824
+ "capability_not_configured",
1825
+ "credential_expired",
1826
+ "credential_revoked",
1827
+ "project_archived",
1828
+ "rate_limited",
1829
+ "scope_missing",
1830
+ "service_unavailable"
1831
+ ],
1832
+ "scopes": ["usage:read"],
1833
+ "sessionAuthority": "headers",
1834
+ "surfaces": ["api", "mock"]
1835
+ },
1836
+ {
1837
+ "id": "billing.invoices",
1838
+ "method": "GET",
1839
+ "mutates": false,
1840
+ "path": "/v1/billing/invoices",
1841
+ "principals": ["api-credential", "oauth", "session"],
1842
+ "problems": [
1843
+ "authentication_required",
1844
+ "capability_not_configured",
1845
+ "credential_expired",
1846
+ "credential_revoked",
1847
+ "project_archived",
1848
+ "rate_limited",
1849
+ "scope_missing",
1850
+ "service_unavailable"
1851
+ ],
1852
+ "scopes": ["usage:read"],
1853
+ "sessionAuthority": "headers",
1854
+ "surfaces": ["api", "mock"]
1855
+ },
1856
+ {
1857
+ "id": "billing.paymentmethodsetup",
1858
+ "method": "POST",
1859
+ "mutates": true,
1860
+ "path": "/v1/billing/payment-method/setup",
1861
+ "principals": ["api-credential", "oauth", "session"],
1862
+ "problems": [
1863
+ "authentication_required",
1864
+ "capability_not_configured",
1865
+ "credential_expired",
1866
+ "credential_revoked",
1867
+ "invalid_request",
1868
+ "not_found",
1869
+ "project_archived",
1870
+ "rate_limited",
1871
+ "revision_conflict",
1872
+ "scope_missing",
1873
+ "service_unavailable",
1874
+ "state_conflict",
1875
+ "test_to_live_escalation"
1876
+ ],
1877
+ "scopes": ["billing:write"],
1878
+ "sessionAuthority": "headers",
1879
+ "surfaces": ["api", "mock"]
1880
+ },
1881
+ {
1882
+ "id": "billing.paymentmethodconfirm",
1883
+ "method": "POST",
1884
+ "mutates": true,
1885
+ "path": "/v1/billing/payment-method/confirm",
1886
+ "principals": ["api-credential", "oauth", "session"],
1887
+ "problems": [
1888
+ "authentication_required",
1889
+ "capability_not_configured",
1890
+ "credential_expired",
1891
+ "credential_revoked",
1892
+ "invalid_request",
1893
+ "not_found",
1894
+ "project_archived",
1895
+ "rate_limited",
1896
+ "revision_conflict",
1897
+ "scope_missing",
1898
+ "service_unavailable",
1899
+ "state_conflict",
1900
+ "test_to_live_escalation"
1901
+ ],
1902
+ "scopes": ["billing:write"],
1903
+ "sessionAuthority": "headers",
1904
+ "surfaces": ["api", "mock"]
1905
+ },
1906
+ {
1907
+ "id": "billing.paymentmethodremove",
1908
+ "method": "POST",
1909
+ "mutates": true,
1910
+ "path": "/v1/billing/payment-method/remove",
1911
+ "principals": ["api-credential", "oauth", "session"],
1912
+ "problems": [
1913
+ "authentication_required",
1914
+ "capability_not_configured",
1915
+ "credential_expired",
1916
+ "credential_revoked",
1917
+ "invalid_request",
1918
+ "not_found",
1919
+ "project_archived",
1920
+ "rate_limited",
1921
+ "revision_conflict",
1922
+ "scope_missing",
1923
+ "service_unavailable",
1924
+ "state_conflict",
1925
+ "test_to_live_escalation"
1926
+ ],
1927
+ "scopes": ["billing:write"],
1928
+ "sessionAuthority": "headers",
1929
+ "surfaces": ["api", "mock"]
1930
+ },
1931
+ {
1932
+ "id": "billing.reconcile",
1933
+ "method": "POST",
1934
+ "mutates": true,
1935
+ "path": "/v1/billing/reconcile",
1936
+ "principals": ["api-credential", "oauth", "session"],
1937
+ "problems": [
1938
+ "authentication_required",
1939
+ "billing_not_ready",
1940
+ "capability_not_configured",
1941
+ "credential_expired",
1942
+ "credential_revoked",
1943
+ "project_archived",
1944
+ "rate_limited",
1945
+ "scope_missing",
1946
+ "service_unavailable",
1947
+ "test_to_live_escalation"
1948
+ ],
1949
+ "scopes": ["billing:write"],
1950
+ "sessionAuthority": "headers",
1951
+ "surfaces": ["api", "mock"]
1952
+ },
1953
+ {
1954
+ "id": "billing.budgets",
1955
+ "method": "PATCH",
1956
+ "mutates": true,
1957
+ "path": "/v1/billing/budgets",
1958
+ "principals": ["api-credential", "oauth", "session"],
1959
+ "problems": [
1960
+ "authentication_required",
1961
+ "capability_not_configured",
1962
+ "credential_expired",
1963
+ "credential_revoked",
1964
+ "idempotency_key_reused",
1965
+ "invalid_request",
1966
+ "project_archived",
1967
+ "rate_limited",
1968
+ "revision_conflict",
1969
+ "scope_missing",
1970
+ "service_unavailable",
1971
+ "test_to_live_escalation"
1972
+ ],
1973
+ "scopes": ["billing:write"],
1974
+ "sessionAuthority": "headers",
1975
+ "surfaces": ["api", "mock"]
1976
+ },
1977
+ {
1978
+ "id": "billing.ledger",
1979
+ "method": "GET",
1980
+ "mutates": false,
1981
+ "path": "/v1/billing/ledger",
1982
+ "principals": ["api-credential", "oauth", "session"],
1983
+ "problems": [
1984
+ "authentication_required",
1985
+ "capability_not_configured",
1986
+ "credential_expired",
1987
+ "credential_revoked",
1988
+ "invalid_request",
1989
+ "project_archived",
1990
+ "rate_limited",
1991
+ "scope_missing",
1992
+ "service_unavailable"
1993
+ ],
1994
+ "scopes": ["usage:read"],
1995
+ "sessionAuthority": "headers",
1996
+ "surfaces": ["api", "mock"]
1997
+ },
1998
+ {
1999
+ "id": "limits.read",
2000
+ "method": "GET",
2001
+ "mutates": false,
2002
+ "path": "/v1/limits",
2003
+ "principals": ["api-credential", "oauth", "session"],
2004
+ "problems": [
2005
+ "authentication_required",
2006
+ "capability_not_configured",
2007
+ "credential_expired",
2008
+ "credential_revoked",
2009
+ "project_archived",
2010
+ "rate_limited",
2011
+ "scope_missing",
2012
+ "service_unavailable"
2013
+ ],
2014
+ "scopes": ["schedules:read"],
2015
+ "sessionAuthority": "headers",
2016
+ "surfaces": ["api", "mock"]
2017
+ },
2018
+ {
2019
+ "id": "usage.read",
2020
+ "method": "GET",
2021
+ "mutates": false,
2022
+ "path": "/v1/usage",
2023
+ "principals": ["api-credential", "oauth", "session"],
2024
+ "problems": [
2025
+ "authentication_required",
2026
+ "capability_not_configured",
2027
+ "credential_expired",
2028
+ "credential_revoked",
2029
+ "invalid_request",
2030
+ "project_archived",
2031
+ "rate_limited",
2032
+ "scope_missing",
2033
+ "service_unavailable"
2034
+ ],
2035
+ "scopes": ["usage:read"],
2036
+ "sessionAuthority": "headers",
2037
+ "surfaces": ["api", "mock"]
2038
+ },
2039
+ {
2040
+ "id": "timing.summary",
2041
+ "method": "GET",
2042
+ "mutates": false,
2043
+ "path": "/v1/timing/summary",
2044
+ "principals": ["api-credential", "oauth", "session"],
2045
+ "problems": [
2046
+ "authentication_required",
2047
+ "capability_not_configured",
2048
+ "credential_expired",
2049
+ "credential_revoked",
2050
+ "project_archived",
2051
+ "rate_limited",
2052
+ "scope_missing",
2053
+ "service_unavailable"
2054
+ ],
2055
+ "scopes": ["usage:read"],
2056
+ "sessionAuthority": "headers",
2057
+ "surfaces": ["api", "mock"]
2058
+ },
2059
+ {
2060
+ "id": "forecast.windows",
2061
+ "method": "GET",
2062
+ "mutates": false,
2063
+ "path": "/v1/forecast/windows",
2064
+ "principals": ["api-credential", "oauth", "session"],
2065
+ "problems": [
2066
+ "authentication_required",
2067
+ "capability_not_configured",
2068
+ "credential_expired",
2069
+ "credential_revoked",
2070
+ "invalid_request",
2071
+ "project_archived",
2072
+ "rate_limited",
2073
+ "scope_missing",
2074
+ "service_unavailable"
2075
+ ],
2076
+ "scopes": ["forecast:read"],
2077
+ "sessionAuthority": "headers",
2078
+ "surfaces": ["api", "mock"]
2079
+ },
2080
+ {
2081
+ "id": "occurrences.list",
2082
+ "method": "GET",
2083
+ "mutates": false,
2084
+ "path": "/v1/schedules/{scheduleId}/occurrences",
2085
+ "principals": ["api-credential", "oauth", "session"],
2086
+ "problems": [
2087
+ "authentication_required",
2088
+ "capability_not_configured",
2089
+ "credential_expired",
2090
+ "credential_revoked",
2091
+ "invalid_request",
2092
+ "not_found",
2093
+ "project_archived",
2094
+ "rate_limited",
2095
+ "scope_missing",
2096
+ "service_unavailable"
2097
+ ],
2098
+ "scopes": ["occurrences:read"],
2099
+ "sessionAuthority": "headers",
2100
+ "surfaces": ["api", "mock"]
2101
+ },
2102
+ {
2103
+ "id": "executions.list",
2104
+ "method": "GET",
2105
+ "mutates": false,
2106
+ "path": "/v1/occurrences",
2107
+ "principals": ["api-credential", "oauth", "session"],
2108
+ "problems": [
2109
+ "authentication_required",
2110
+ "capability_not_configured",
2111
+ "credential_expired",
2112
+ "credential_revoked",
2113
+ "invalid_request",
2114
+ "project_archived",
887
2115
  "rate_limited",
888
2116
  "scope_missing",
889
2117
  "service_unavailable"
@@ -900,10 +2128,12 @@
900
2128
  "principals": ["api-credential", "oauth", "session"],
901
2129
  "problems": [
902
2130
  "authentication_required",
2131
+ "capability_not_configured",
903
2132
  "credential_expired",
904
2133
  "credential_revoked",
905
2134
  "invalid_request",
906
2135
  "not_found",
2136
+ "project_archived",
907
2137
  "rate_limited",
908
2138
  "scope_missing",
909
2139
  "service_unavailable"
@@ -920,10 +2150,12 @@
920
2150
  "principals": ["api-credential", "oauth", "session"],
921
2151
  "problems": [
922
2152
  "authentication_required",
2153
+ "capability_not_configured",
923
2154
  "credential_expired",
924
2155
  "credential_revoked",
925
2156
  "invalid_request",
926
2157
  "not_found",
2158
+ "project_archived",
927
2159
  "rate_limited",
928
2160
  "scope_missing",
929
2161
  "service_unavailable"
@@ -940,10 +2172,12 @@
940
2172
  "principals": ["api-credential", "oauth", "session"],
941
2173
  "problems": [
942
2174
  "authentication_required",
2175
+ "capability_not_configured",
943
2176
  "credential_expired",
944
2177
  "credential_revoked",
945
2178
  "invalid_request",
946
2179
  "not_found",
2180
+ "project_archived",
947
2181
  "rate_limited",
948
2182
  "scope_missing",
949
2183
  "service_unavailable"
@@ -960,11 +2194,13 @@
960
2194
  "principals": ["api-credential", "oauth", "session"],
961
2195
  "problems": [
962
2196
  "authentication_required",
2197
+ "capability_not_configured",
963
2198
  "credential_expired",
964
2199
  "credential_revoked",
965
2200
  "idempotency_key_reused",
966
2201
  "invalid_request",
967
2202
  "not_found",
2203
+ "project_archived",
968
2204
  "rate_limited",
969
2205
  "scope_missing",
970
2206
  "service_unavailable",
@@ -982,12 +2218,13 @@
982
2218
  "principals": ["api-credential", "oauth", "session"],
983
2219
  "problems": [
984
2220
  "authentication_required",
2221
+ "capability_not_configured",
985
2222
  "credential_expired",
986
2223
  "credential_revoked",
987
- "endpoint_unverified",
988
2224
  "invalid_request",
989
2225
  "not_found",
990
2226
  "plan_limit_reached",
2227
+ "project_archived",
991
2228
  "rate_limited",
992
2229
  "scope_missing",
993
2230
  "service_unavailable",
@@ -1006,10 +2243,12 @@
1006
2243
  "principals": ["api-credential", "oauth", "session"],
1007
2244
  "problems": [
1008
2245
  "authentication_required",
2246
+ "capability_not_configured",
1009
2247
  "credential_expired",
1010
2248
  "credential_revoked",
1011
2249
  "invalid_request",
1012
2250
  "not_found",
2251
+ "project_archived",
1013
2252
  "rate_limited",
1014
2253
  "scope_missing",
1015
2254
  "service_unavailable",
@@ -1028,10 +2267,12 @@
1028
2267
  "principals": ["api-credential", "oauth", "session"],
1029
2268
  "problems": [
1030
2269
  "authentication_required",
2270
+ "capability_not_configured",
1031
2271
  "credential_expired",
1032
2272
  "credential_revoked",
1033
2273
  "invalid_request",
1034
2274
  "not_found",
2275
+ "project_archived",
1035
2276
  "rate_limited",
1036
2277
  "scope_missing",
1037
2278
  "service_unavailable",
@@ -1050,10 +2291,12 @@
1050
2291
  "principals": ["api-credential", "oauth", "session"],
1051
2292
  "problems": [
1052
2293
  "authentication_required",
2294
+ "capability_not_configured",
1053
2295
  "credential_expired",
1054
2296
  "credential_revoked",
1055
2297
  "invalid_request",
1056
2298
  "not_found",
2299
+ "project_archived",
1057
2300
  "rate_limited",
1058
2301
  "scope_missing",
1059
2302
  "service_unavailable",
@@ -1072,10 +2315,12 @@
1072
2315
  "principals": ["api-credential", "oauth", "session"],
1073
2316
  "problems": [
1074
2317
  "authentication_required",
2318
+ "capability_not_configured",
1075
2319
  "credential_expired",
1076
2320
  "credential_revoked",
1077
2321
  "invalid_request",
1078
2322
  "not_found",
2323
+ "project_archived",
1079
2324
  "rate_limited",
1080
2325
  "scope_missing",
1081
2326
  "service_unavailable",