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

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 (190) hide show
  1. package/README.md +1 -1
  2. package/dist/authority.d.ts +4 -1
  3. package/dist/authority.js +1 -0
  4. package/dist/billing.d.ts +231 -1
  5. package/dist/billing.js +150 -1
  6. package/dist/callback-safety.js +13 -3
  7. package/dist/configuration-bounds.d.ts +13 -0
  8. package/dist/configuration-bounds.js +13 -0
  9. package/dist/data-export.d.ts +2 -0
  10. package/dist/delivery.d.ts +26 -0
  11. package/dist/delivery.js +2 -0
  12. package/dist/effective-limits.d.ts +40 -0
  13. package/dist/effective-limits.js +42 -0
  14. package/dist/endpoints.d.ts +173 -5
  15. package/dist/endpoints.js +77 -6
  16. package/dist/first-value-journey.d.ts +1 -1
  17. package/dist/first-value-journey.js +11 -7
  18. package/dist/forecast.d.ts +111 -21
  19. package/dist/forecast.js +87 -24
  20. package/dist/http-request.d.ts +193 -0
  21. package/dist/http-request.js +305 -0
  22. package/dist/identity.d.ts +4 -4
  23. package/dist/index.d.ts +9 -6
  24. package/dist/index.js +8 -5
  25. package/dist/mcp.d.ts +2 -1
  26. package/dist/mcp.js +1 -1
  27. package/dist/members.d.ts +141 -0
  28. package/dist/members.js +223 -0
  29. package/dist/oauth.d.ts +7 -0
  30. package/dist/operation-definitions.d.ts +20 -4
  31. package/dist/operation-definitions.js +9 -1
  32. package/dist/operational-config.d.ts +101 -0
  33. package/dist/operational-config.js +341 -0
  34. package/dist/operations.d.ts +1299 -52
  35. package/dist/operations.js +466 -32
  36. package/dist/organization-lifecycle.d.ts +10 -0
  37. package/dist/partition.d.ts +17 -9
  38. package/dist/partition.js +3 -3
  39. package/dist/policy.js +5 -2
  40. package/dist/problems.d.ts +25 -2
  41. package/dist/problems.js +49 -1
  42. package/dist/protocol.d.ts +5 -5
  43. package/dist/protocol.js +2 -1
  44. package/dist/scheduling-records.d.ts +226 -0
  45. package/dist/scheduling-records.js +5 -0
  46. package/dist/scheduling.d.ts +273 -1
  47. package/dist/scheduling.js +91 -4
  48. package/dist/secrets.d.ts +7 -0
  49. package/dist/tenancy.d.ts +1 -1
  50. package/dist/tenancy.js +1 -1
  51. package/dist/usage.js +6 -21
  52. package/dist/zod-values.d.ts +2 -2
  53. package/dist/zod-values.js +1 -1
  54. package/generated/v1/examples/attempts.list.response.json +2 -0
  55. package/generated/v1/examples/attempts.read.response.json +2 -0
  56. package/generated/v1/examples/billing.fundingconfirm.response.json +120 -0
  57. package/generated/v1/examples/billing.invoicehistory.response.json +6 -0
  58. package/generated/v1/examples/billing.invoices.response.json +15 -0
  59. package/generated/v1/examples/billing.paymenthistory.response.json +6 -0
  60. package/generated/v1/examples/billing.paymentmethod.response.json +16 -0
  61. package/generated/v1/examples/billing.paymentmethodconfirm.request.json +3 -0
  62. package/generated/v1/examples/billing.paymentmethodconfirm.response.json +16 -0
  63. package/generated/v1/examples/billing.paymentmethodremove.request.json +3 -0
  64. package/generated/v1/examples/billing.paymentmethodremove.response.json +4 -0
  65. package/generated/v1/examples/billing.paymentmethodsetup.request.json +1 -0
  66. package/generated/v1/examples/billing.paymentmethodsetup.response.json +3 -0
  67. package/generated/v1/examples/endpoints.ensure.request.json +3 -0
  68. package/generated/v1/examples/endpoints.ensure.response.json +20 -0
  69. package/generated/v1/examples/invitations.create.request.json +5 -0
  70. package/generated/v1/examples/invitations.create.response.json +7 -0
  71. package/generated/v1/examples/invitations.list.response.json +11 -0
  72. package/generated/v1/examples/invitations.resend.request.json +1 -0
  73. package/generated/v1/examples/invitations.resend.response.json +4 -0
  74. package/generated/v1/examples/invitations.revoke.request.json +3 -0
  75. package/generated/v1/examples/invitations.revoke.response.json +4 -0
  76. package/generated/v1/examples/limits.read.response.json +16 -0
  77. package/generated/v1/examples/members.list.response.json +13 -0
  78. package/generated/v1/examples/members.remove.request.json +3 -0
  79. package/generated/v1/examples/members.remove.response.json +4 -0
  80. package/generated/v1/examples/members.role.request.json +3 -0
  81. package/generated/v1/examples/members.role.response.json +4 -0
  82. package/generated/v1/examples/occurrences.redeliver.response.json +2 -0
  83. package/generated/v1/examples/projectmembers.add.request.json +1 -0
  84. package/generated/v1/examples/projectmembers.add.response.json +4 -0
  85. package/generated/v1/examples/projectmembers.remove.request.json +3 -0
  86. package/generated/v1/examples/projectmembers.remove.response.json +4 -0
  87. package/generated/v1/first-value-journey.json +24 -8
  88. package/generated/v1/manifest.json +627 -10
  89. package/generated/v1/openapi.json +29081 -15663
  90. package/generated/v1/policy-matrix.json +137 -2
  91. package/generated/v1/schemas/attempts.list.response.json +15 -0
  92. package/generated/v1/schemas/attempts.read.response.json +15 -0
  93. package/generated/v1/schemas/billing.fundingconfirm.response.json +552 -0
  94. package/generated/v1/schemas/billing.invoicehistory.query.json +16 -0
  95. package/generated/v1/schemas/billing.invoicehistory.response.json +88 -0
  96. package/generated/v1/schemas/billing.invoices.response.json +51 -0
  97. package/generated/v1/schemas/billing.ledger.response.json +5 -0
  98. package/generated/v1/schemas/billing.notificationsettingsupdate.request.json +24 -17
  99. package/generated/v1/schemas/billing.paymenthistory.query.json +16 -0
  100. package/generated/v1/schemas/billing.paymenthistory.response.json +182 -0
  101. package/generated/v1/schemas/billing.paymentmethod.response.json +137 -0
  102. package/generated/v1/schemas/billing.paymentmethodconfirm.request.json +14 -0
  103. package/generated/v1/schemas/billing.paymentmethodconfirm.response.json +137 -0
  104. package/generated/v1/schemas/billing.paymentmethodremove.request.json +12 -0
  105. package/generated/v1/schemas/billing.paymentmethodremove.response.json +137 -0
  106. package/generated/v1/schemas/billing.paymentmethodsetup.request.json +12 -0
  107. package/generated/v1/schemas/billing.paymentmethodsetup.response.json +11 -0
  108. package/generated/v1/schemas/billing.purchase.request.json +4 -0
  109. package/generated/v1/schemas/context.read.response.json +1 -0
  110. package/generated/v1/schemas/credentials.connection.response.json +1 -0
  111. package/generated/v1/schemas/credentials.create.request.json +1 -0
  112. package/generated/v1/schemas/credentials.create.response.json +1 -0
  113. package/generated/v1/schemas/credentials.list.response.json +1 -0
  114. package/generated/v1/schemas/credentials.revoke.response.json +1 -0
  115. package/generated/v1/schemas/credentials.rotate.response.json +2 -0
  116. package/generated/v1/schemas/endpoints.acknowledgeSigningKeyRotation.response.json +59 -0
  117. package/generated/v1/schemas/endpoints.create.request.json +74 -0
  118. package/generated/v1/schemas/endpoints.create.response.json +59 -0
  119. package/generated/v1/schemas/endpoints.disable.response.json +59 -0
  120. package/generated/v1/schemas/endpoints.enable.response.json +59 -0
  121. package/generated/v1/schemas/endpoints.ensure.request.json +91 -0
  122. package/generated/v1/schemas/endpoints.ensure.response.json +169 -0
  123. package/generated/v1/schemas/endpoints.list.response.json +59 -0
  124. package/generated/v1/schemas/endpoints.read.response.json +59 -0
  125. package/generated/v1/schemas/endpoints.rotateSigningKey.response.json +59 -0
  126. package/generated/v1/schemas/endpoints.update.request.json +74 -0
  127. package/generated/v1/schemas/endpoints.update.response.json +59 -0
  128. package/generated/v1/schemas/forecast.read.request-headers.json +10 -0
  129. package/generated/v1/schemas/forecast.read.response.json +148 -0
  130. package/generated/v1/schemas/grants.list.response.json +1 -0
  131. package/generated/v1/schemas/grants.revoke.response.json +1 -0
  132. package/generated/v1/schemas/invitations.create.request-headers.json +13 -0
  133. package/generated/v1/schemas/invitations.create.request.json +24 -0
  134. package/generated/v1/schemas/invitations.create.response.json +31 -0
  135. package/generated/v1/schemas/invitations.list.response.json +40 -0
  136. package/generated/v1/schemas/invitations.resend.request-headers.json +13 -0
  137. package/generated/v1/schemas/invitations.resend.request.json +6 -0
  138. package/generated/v1/schemas/invitations.resend.response.json +27 -0
  139. package/generated/v1/schemas/invitations.revoke.request-headers.json +13 -0
  140. package/generated/v1/schemas/invitations.revoke.request.json +12 -0
  141. package/generated/v1/schemas/invitations.revoke.response.json +27 -0
  142. package/generated/v1/schemas/limits.read.response.json +79 -0
  143. package/generated/v1/schemas/members.list.response.json +53 -0
  144. package/generated/v1/schemas/members.remove.request-headers.json +13 -0
  145. package/generated/v1/schemas/members.remove.request.json +12 -0
  146. package/generated/v1/schemas/members.remove.response.json +27 -0
  147. package/generated/v1/schemas/members.role.request-headers.json +13 -0
  148. package/generated/v1/schemas/members.role.request.json +12 -0
  149. package/generated/v1/schemas/members.role.response.json +27 -0
  150. package/generated/v1/schemas/occurrences.redeliver.response.json +15 -0
  151. package/generated/v1/schemas/projectmembers.add.request-headers.json +13 -0
  152. package/generated/v1/schemas/projectmembers.add.request.json +6 -0
  153. package/generated/v1/schemas/projectmembers.add.response.json +27 -0
  154. package/generated/v1/schemas/projectmembers.remove.request-headers.json +13 -0
  155. package/generated/v1/schemas/projectmembers.remove.request.json +12 -0
  156. package/generated/v1/schemas/projectmembers.remove.response.json +27 -0
  157. package/generated/v1/schemas/schedules.archive.response.json +138 -1
  158. package/generated/v1/schemas/schedules.cancel.response.json +138 -1
  159. package/generated/v1/schemas/schedules.create.request.json +150 -1
  160. package/generated/v1/schemas/schedules.create.response.json +156 -1
  161. package/generated/v1/schemas/schedules.list.response.json +138 -1
  162. package/generated/v1/schemas/schedules.pause.response.json +138 -1
  163. package/generated/v1/schemas/schedules.read.response.json +138 -1
  164. package/generated/v1/schemas/schedules.replace.request.json +150 -1
  165. package/generated/v1/schemas/schedules.replace.response.json +156 -1
  166. package/generated/v1/schemas/schedules.resume.response.json +138 -1
  167. package/generated/v1/snippets/billing.fundingconfirm.json +6 -0
  168. package/generated/v1/snippets/billing.invoicehistory.json +6 -0
  169. package/generated/v1/snippets/billing.invoices.json +6 -0
  170. package/generated/v1/snippets/billing.notificationsettingsupdate.json +1 -1
  171. package/generated/v1/snippets/billing.paymenthistory.json +6 -0
  172. package/generated/v1/snippets/billing.paymentmethod.json +6 -0
  173. package/generated/v1/snippets/billing.paymentmethodconfirm.json +6 -0
  174. package/generated/v1/snippets/billing.paymentmethodremove.json +6 -0
  175. package/generated/v1/snippets/billing.paymentmethodsetup.json +6 -0
  176. package/generated/v1/snippets/endpoints.create.json +1 -1
  177. package/generated/v1/snippets/endpoints.ensure.json +6 -0
  178. package/generated/v1/snippets/forecast.windows.json +1 -1
  179. package/generated/v1/snippets/invitations.create.json +6 -0
  180. package/generated/v1/snippets/invitations.list.json +6 -0
  181. package/generated/v1/snippets/invitations.resend.json +6 -0
  182. package/generated/v1/snippets/invitations.revoke.json +6 -0
  183. package/generated/v1/snippets/journey/create-destination.json +1 -1
  184. package/generated/v1/snippets/limits.read.json +6 -0
  185. package/generated/v1/snippets/members.list.json +6 -0
  186. package/generated/v1/snippets/members.remove.json +6 -0
  187. package/generated/v1/snippets/members.role.json +6 -0
  188. package/generated/v1/snippets/projectmembers.add.json +6 -0
  189. package/generated/v1/snippets/projectmembers.remove.json +6 -0
  190. package/package.json +7 -2
@@ -7,11 +7,14 @@
7
7
  "docs/quickstarts/curl.md",
8
8
  "docs/quickstarts/first-value.mjs",
9
9
  "docs/quickstarts/first-value.sh",
10
+ "docs/quickstarts/http-call.mjs",
11
+ "docs/quickstarts/http-calls.md",
10
12
  "docs/quickstarts/javascript.md",
11
13
  "docs/quickstarts/mcp-reference.md",
12
14
  "docs/quickstarts/mcp.md",
13
15
  "packages/api-client/src/operations.generated.ts",
14
- "packages/mcp-tools/src/schemas.generated.ts"
16
+ "packages/mcp-tools/src/schemas.generated.ts",
17
+ "packages/postgres-scheduling/migrations/0047_layered_configuration.sql"
15
18
  ],
16
19
  "files": [
17
20
  "callback-delivery-signature.json",
@@ -29,13 +32,24 @@
29
32
  "examples/billing.change.request.json",
30
33
  "examples/billing.change.response.json",
31
34
  "examples/billing.funding.response.json",
35
+ "examples/billing.fundingconfirm.response.json",
32
36
  "examples/billing.fundingquote.request.json",
33
37
  "examples/billing.fundingquote.response.json",
38
+ "examples/billing.invoicehistory.response.json",
39
+ "examples/billing.invoices.response.json",
34
40
  "examples/billing.ledger.response.json",
35
41
  "examples/billing.notices.response.json",
36
42
  "examples/billing.notificationsettings.response.json",
37
43
  "examples/billing.notificationsettingsupdate.request.json",
38
44
  "examples/billing.notificationsettingsupdate.response.json",
45
+ "examples/billing.paymenthistory.response.json",
46
+ "examples/billing.paymentmethod.response.json",
47
+ "examples/billing.paymentmethodconfirm.request.json",
48
+ "examples/billing.paymentmethodconfirm.response.json",
49
+ "examples/billing.paymentmethodremove.request.json",
50
+ "examples/billing.paymentmethodremove.response.json",
51
+ "examples/billing.paymentmethodsetup.request.json",
52
+ "examples/billing.paymentmethodsetup.response.json",
39
53
  "examples/billing.portal.response.json",
40
54
  "examples/billing.projects.response.json",
41
55
  "examples/billing.purchase.request.json",
@@ -61,6 +75,8 @@
61
75
  "examples/endpoints.create.response.json",
62
76
  "examples/endpoints.disable.response.json",
63
77
  "examples/endpoints.enable.response.json",
78
+ "examples/endpoints.ensure.request.json",
79
+ "examples/endpoints.ensure.response.json",
64
80
  "examples/endpoints.list.response.json",
65
81
  "examples/endpoints.read.response.json",
66
82
  "examples/endpoints.revealSigningSecret.response.json",
@@ -78,6 +94,19 @@
78
94
  "examples/forecast.windows.response.json",
79
95
  "examples/grants.list.response.json",
80
96
  "examples/grants.revoke.response.json",
97
+ "examples/invitations.create.request.json",
98
+ "examples/invitations.create.response.json",
99
+ "examples/invitations.list.response.json",
100
+ "examples/invitations.resend.request.json",
101
+ "examples/invitations.resend.response.json",
102
+ "examples/invitations.revoke.request.json",
103
+ "examples/invitations.revoke.response.json",
104
+ "examples/limits.read.response.json",
105
+ "examples/members.list.response.json",
106
+ "examples/members.remove.request.json",
107
+ "examples/members.remove.response.json",
108
+ "examples/members.role.request.json",
109
+ "examples/members.role.response.json",
81
110
  "examples/meta.scaffold.response.json",
82
111
  "examples/meta.version.response.json",
83
112
  "examples/mock/mock.getFixture.response.json",
@@ -92,6 +121,10 @@
92
121
  "examples/organizations.lifecycle.response.json",
93
122
  "examples/organizations.restore.request.json",
94
123
  "examples/organizations.restore.response.json",
124
+ "examples/projectmembers.add.request.json",
125
+ "examples/projectmembers.add.response.json",
126
+ "examples/projectmembers.remove.request.json",
127
+ "examples/projectmembers.remove.response.json",
95
128
  "examples/projects.archive.request.json",
96
129
  "examples/projects.archive.response.json",
97
130
  "examples/projects.create.request.json",
@@ -147,8 +180,12 @@
147
180
  "schemas/billing.change.request.json",
148
181
  "schemas/billing.change.response.json",
149
182
  "schemas/billing.funding.response.json",
183
+ "schemas/billing.fundingconfirm.response.json",
150
184
  "schemas/billing.fundingquote.request.json",
151
185
  "schemas/billing.fundingquote.response.json",
186
+ "schemas/billing.invoicehistory.query.json",
187
+ "schemas/billing.invoicehistory.response.json",
188
+ "schemas/billing.invoices.response.json",
152
189
  "schemas/billing.ledger.query.json",
153
190
  "schemas/billing.ledger.response.json",
154
191
  "schemas/billing.notices.query.json",
@@ -158,6 +195,15 @@
158
195
  "schemas/billing.notificationsettingsupdate.request.json",
159
196
  "schemas/billing.notificationsettingsupdate.response-headers.json",
160
197
  "schemas/billing.notificationsettingsupdate.response.json",
198
+ "schemas/billing.paymenthistory.query.json",
199
+ "schemas/billing.paymenthistory.response.json",
200
+ "schemas/billing.paymentmethod.response.json",
201
+ "schemas/billing.paymentmethodconfirm.request.json",
202
+ "schemas/billing.paymentmethodconfirm.response.json",
203
+ "schemas/billing.paymentmethodremove.request.json",
204
+ "schemas/billing.paymentmethodremove.response.json",
205
+ "schemas/billing.paymentmethodsetup.request.json",
206
+ "schemas/billing.paymentmethodsetup.response.json",
161
207
  "schemas/billing.portal.response.json",
162
208
  "schemas/billing.projects.response.json",
163
209
  "schemas/billing.purchase.request-headers.json",
@@ -194,6 +240,8 @@
194
240
  "schemas/endpoints.disable.response.json",
195
241
  "schemas/endpoints.enable.response-headers.json",
196
242
  "schemas/endpoints.enable.response.json",
243
+ "schemas/endpoints.ensure.request.json",
244
+ "schemas/endpoints.ensure.response.json",
197
245
  "schemas/endpoints.list.query.json",
198
246
  "schemas/endpoints.list.response.json",
199
247
  "schemas/endpoints.read.response-headers.json",
@@ -216,11 +264,30 @@
216
264
  "schemas/exports.part.response.json",
217
265
  "schemas/exports.read.response.json",
218
266
  "schemas/forecast.read.query.json",
267
+ "schemas/forecast.read.request-headers.json",
219
268
  "schemas/forecast.read.response.json",
220
269
  "schemas/forecast.windows.query.json",
221
270
  "schemas/forecast.windows.response.json",
222
271
  "schemas/grants.list.response.json",
223
272
  "schemas/grants.revoke.response.json",
273
+ "schemas/invitations.create.request-headers.json",
274
+ "schemas/invitations.create.request.json",
275
+ "schemas/invitations.create.response.json",
276
+ "schemas/invitations.list.response.json",
277
+ "schemas/invitations.resend.request-headers.json",
278
+ "schemas/invitations.resend.request.json",
279
+ "schemas/invitations.resend.response.json",
280
+ "schemas/invitations.revoke.request-headers.json",
281
+ "schemas/invitations.revoke.request.json",
282
+ "schemas/invitations.revoke.response.json",
283
+ "schemas/limits.read.response.json",
284
+ "schemas/members.list.response.json",
285
+ "schemas/members.remove.request-headers.json",
286
+ "schemas/members.remove.request.json",
287
+ "schemas/members.remove.response.json",
288
+ "schemas/members.role.request-headers.json",
289
+ "schemas/members.role.request.json",
290
+ "schemas/members.role.response.json",
224
291
  "schemas/meta.scaffold.response.json",
225
292
  "schemas/meta.version.response.json",
226
293
  "schemas/mock/mock.getFixture.response.json",
@@ -238,6 +305,12 @@
238
305
  "schemas/organizations.lifecycle.response.json",
239
306
  "schemas/organizations.restore.request.json",
240
307
  "schemas/organizations.restore.response.json",
308
+ "schemas/projectmembers.add.request-headers.json",
309
+ "schemas/projectmembers.add.request.json",
310
+ "schemas/projectmembers.add.response.json",
311
+ "schemas/projectmembers.remove.request-headers.json",
312
+ "schemas/projectmembers.remove.request.json",
313
+ "schemas/projectmembers.remove.response.json",
241
314
  "schemas/projects.archive.request-headers.json",
242
315
  "schemas/projects.archive.request.json",
243
316
  "schemas/projects.archive.response-headers.json",
@@ -297,11 +370,19 @@
297
370
  "snippets/billing.ceiling.json",
298
371
  "snippets/billing.change.json",
299
372
  "snippets/billing.funding.json",
373
+ "snippets/billing.fundingconfirm.json",
300
374
  "snippets/billing.fundingquote.json",
375
+ "snippets/billing.invoicehistory.json",
376
+ "snippets/billing.invoices.json",
301
377
  "snippets/billing.ledger.json",
302
378
  "snippets/billing.notices.json",
303
379
  "snippets/billing.notificationsettings.json",
304
380
  "snippets/billing.notificationsettingsupdate.json",
381
+ "snippets/billing.paymenthistory.json",
382
+ "snippets/billing.paymentmethod.json",
383
+ "snippets/billing.paymentmethodconfirm.json",
384
+ "snippets/billing.paymentmethodremove.json",
385
+ "snippets/billing.paymentmethodsetup.json",
305
386
  "snippets/billing.portal.json",
306
387
  "snippets/billing.projects.json",
307
388
  "snippets/billing.purchase.json",
@@ -320,6 +401,7 @@
320
401
  "snippets/endpoints.create.json",
321
402
  "snippets/endpoints.disable.json",
322
403
  "snippets/endpoints.enable.json",
404
+ "snippets/endpoints.ensure.json",
323
405
  "snippets/endpoints.list.json",
324
406
  "snippets/endpoints.read.json",
325
407
  "snippets/endpoints.revealSigningSecret.json",
@@ -334,6 +416,10 @@
334
416
  "snippets/forecast.windows.json",
335
417
  "snippets/grants.list.json",
336
418
  "snippets/grants.revoke.json",
419
+ "snippets/invitations.create.json",
420
+ "snippets/invitations.list.json",
421
+ "snippets/invitations.resend.json",
422
+ "snippets/invitations.revoke.json",
337
423
  "snippets/journey/await-occurrence.json",
338
424
  "snippets/journey/check-credential.json",
339
425
  "snippets/journey/check-service.json",
@@ -343,6 +429,10 @@
343
429
  "snippets/journey/read-attempt.json",
344
430
  "snippets/journey/read-schedule.json",
345
431
  "snippets/journey/replay-one-shot.json",
432
+ "snippets/limits.read.json",
433
+ "snippets/members.list.json",
434
+ "snippets/members.remove.json",
435
+ "snippets/members.role.json",
346
436
  "snippets/meta.scaffold.json",
347
437
  "snippets/meta.version.json",
348
438
  "snippets/mock/mock.getFixture.json",
@@ -354,6 +444,8 @@
354
444
  "snippets/organizations.close.json",
355
445
  "snippets/organizations.lifecycle.json",
356
446
  "snippets/organizations.restore.json",
447
+ "snippets/projectmembers.add.json",
448
+ "snippets/projectmembers.remove.json",
357
449
  "snippets/projects.archive.json",
358
450
  "snippets/projects.create.json",
359
451
  "snippets/projects.delete.json",
@@ -378,6 +470,48 @@
378
470
  "snippets/usage.read.json"
379
471
  ],
380
472
  "operations": [
473
+ {
474
+ "id": "billing.paymenthistory",
475
+ "method": "GET",
476
+ "mutates": false,
477
+ "path": "/v1/billing/payment-history",
478
+ "principals": ["api-credential", "oauth", "session"],
479
+ "problems": [
480
+ "authentication_required",
481
+ "capability_not_configured",
482
+ "credential_expired",
483
+ "credential_revoked",
484
+ "invalid_request",
485
+ "project_archived",
486
+ "rate_limited",
487
+ "scope_missing",
488
+ "service_unavailable"
489
+ ],
490
+ "scopes": ["usage:read"],
491
+ "sessionAuthority": "headers",
492
+ "surfaces": ["api", "mock"]
493
+ },
494
+ {
495
+ "id": "billing.invoicehistory",
496
+ "method": "GET",
497
+ "mutates": false,
498
+ "path": "/v1/billing/invoice-history",
499
+ "principals": ["api-credential", "oauth", "session"],
500
+ "problems": [
501
+ "authentication_required",
502
+ "capability_not_configured",
503
+ "credential_expired",
504
+ "credential_revoked",
505
+ "invalid_request",
506
+ "project_archived",
507
+ "rate_limited",
508
+ "scope_missing",
509
+ "service_unavailable"
510
+ ],
511
+ "scopes": ["usage:read"],
512
+ "sessionAuthority": "headers",
513
+ "surfaces": ["api", "mock"]
514
+ },
381
515
  {
382
516
  "id": "exports.create",
383
517
  "method": "POST",
@@ -386,6 +520,7 @@
386
520
  "principals": ["api-credential", "oauth", "session"],
387
521
  "problems": [
388
522
  "authentication_required",
523
+ "capability_not_configured",
389
524
  "credential_expired",
390
525
  "credential_revoked",
391
526
  "invalid_request",
@@ -408,6 +543,7 @@
408
543
  "principals": ["api-credential", "oauth", "session"],
409
544
  "problems": [
410
545
  "authentication_required",
546
+ "capability_not_configured",
411
547
  "credential_expired",
412
548
  "credential_revoked",
413
549
  "not_found",
@@ -429,6 +565,7 @@
429
565
  "principals": ["api-credential", "oauth", "session"],
430
566
  "problems": [
431
567
  "authentication_required",
568
+ "capability_not_configured",
432
569
  "credential_expired",
433
570
  "credential_revoked",
434
571
  "invalid_request",
@@ -451,6 +588,7 @@
451
588
  "principals": ["api-credential", "oauth", "session"],
452
589
  "problems": [
453
590
  "authentication_required",
591
+ "capability_not_configured",
454
592
  "credential_expired",
455
593
  "credential_revoked",
456
594
  "not_found",
@@ -464,6 +602,213 @@
464
602
  "sessionAuthority": "headers",
465
603
  "surfaces": ["api", "mock"]
466
604
  },
605
+ {
606
+ "id": "members.list",
607
+ "method": "GET",
608
+ "mutates": false,
609
+ "path": "/v1/organization/members",
610
+ "principals": ["session", "oauth"],
611
+ "problems": [
612
+ "authentication_required",
613
+ "capability_not_configured",
614
+ "credential_expired",
615
+ "credential_revoked",
616
+ "invalid_request",
617
+ "not_found",
618
+ "rate_limited",
619
+ "scope_missing",
620
+ "service_unavailable",
621
+ "state_conflict"
622
+ ],
623
+ "scopes": ["members:manage"],
624
+ "sessionAuthority": "organization",
625
+ "surfaces": ["api", "mock"]
626
+ },
627
+ {
628
+ "id": "invitations.list",
629
+ "method": "GET",
630
+ "mutates": false,
631
+ "path": "/v1/organization/invitations",
632
+ "principals": ["session", "oauth"],
633
+ "problems": [
634
+ "authentication_required",
635
+ "capability_not_configured",
636
+ "credential_expired",
637
+ "credential_revoked",
638
+ "invalid_request",
639
+ "not_found",
640
+ "rate_limited",
641
+ "scope_missing",
642
+ "service_unavailable",
643
+ "state_conflict"
644
+ ],
645
+ "scopes": ["members:manage"],
646
+ "sessionAuthority": "organization",
647
+ "surfaces": ["api", "mock"]
648
+ },
649
+ {
650
+ "id": "invitations.create",
651
+ "method": "POST",
652
+ "mutates": true,
653
+ "path": "/v1/organization/invitations",
654
+ "principals": ["session", "oauth"],
655
+ "problems": [
656
+ "authentication_required",
657
+ "capability_not_configured",
658
+ "credential_expired",
659
+ "credential_revoked",
660
+ "idempotency_key_reused",
661
+ "invalid_request",
662
+ "not_found",
663
+ "rate_limited",
664
+ "scope_missing",
665
+ "service_unavailable",
666
+ "state_conflict"
667
+ ],
668
+ "scopes": ["members:manage"],
669
+ "sessionAuthority": "organization",
670
+ "surfaces": ["api", "mock"]
671
+ },
672
+ {
673
+ "id": "invitations.resend",
674
+ "method": "POST",
675
+ "mutates": true,
676
+ "path": "/v1/organization/invitations/{invitationId}/resend",
677
+ "principals": ["session", "oauth"],
678
+ "problems": [
679
+ "authentication_required",
680
+ "capability_not_configured",
681
+ "credential_expired",
682
+ "credential_revoked",
683
+ "idempotency_key_reused",
684
+ "invalid_request",
685
+ "not_found",
686
+ "rate_limited",
687
+ "scope_missing",
688
+ "service_unavailable",
689
+ "state_conflict"
690
+ ],
691
+ "scopes": ["members:manage"],
692
+ "sessionAuthority": "organization",
693
+ "surfaces": ["api", "mock"]
694
+ },
695
+ {
696
+ "id": "invitations.revoke",
697
+ "method": "POST",
698
+ "mutates": true,
699
+ "path": "/v1/organization/invitations/{invitationId}/revoke",
700
+ "principals": ["session", "oauth"],
701
+ "problems": [
702
+ "authentication_required",
703
+ "capability_not_configured",
704
+ "credential_expired",
705
+ "credential_revoked",
706
+ "idempotency_key_reused",
707
+ "invalid_request",
708
+ "not_found",
709
+ "rate_limited",
710
+ "scope_missing",
711
+ "service_unavailable",
712
+ "state_conflict"
713
+ ],
714
+ "scopes": ["members:manage"],
715
+ "sessionAuthority": "organization",
716
+ "surfaces": ["api", "mock"]
717
+ },
718
+ {
719
+ "id": "members.role",
720
+ "method": "PATCH",
721
+ "mutates": true,
722
+ "path": "/v1/organization/members/{memberId}",
723
+ "principals": ["session", "oauth"],
724
+ "problems": [
725
+ "authentication_required",
726
+ "capability_not_configured",
727
+ "credential_expired",
728
+ "credential_revoked",
729
+ "idempotency_key_reused",
730
+ "invalid_request",
731
+ "not_found",
732
+ "rate_limited",
733
+ "scope_missing",
734
+ "service_unavailable",
735
+ "state_conflict"
736
+ ],
737
+ "scopes": ["members:manage"],
738
+ "sessionAuthority": "organization",
739
+ "surfaces": ["api", "mock"]
740
+ },
741
+ {
742
+ "id": "members.remove",
743
+ "method": "POST",
744
+ "mutates": true,
745
+ "path": "/v1/organization/members/{memberId}/remove",
746
+ "principals": ["session", "oauth"],
747
+ "problems": [
748
+ "authentication_required",
749
+ "capability_not_configured",
750
+ "credential_expired",
751
+ "credential_revoked",
752
+ "idempotency_key_reused",
753
+ "invalid_request",
754
+ "not_found",
755
+ "rate_limited",
756
+ "scope_missing",
757
+ "service_unavailable",
758
+ "state_conflict"
759
+ ],
760
+ "scopes": ["members:manage"],
761
+ "sessionAuthority": "organization",
762
+ "surfaces": ["api", "mock"]
763
+ },
764
+ {
765
+ "id": "projectmembers.add",
766
+ "method": "PUT",
767
+ "mutates": true,
768
+ "path": "/v1/projects/{projectId}/members/{memberId}",
769
+ "principals": ["session", "oauth"],
770
+ "problems": [
771
+ "authentication_required",
772
+ "capability_not_configured",
773
+ "credential_expired",
774
+ "credential_revoked",
775
+ "idempotency_key_reused",
776
+ "invalid_request",
777
+ "not_found",
778
+ "project_archived",
779
+ "rate_limited",
780
+ "scope_missing",
781
+ "service_unavailable",
782
+ "state_conflict"
783
+ ],
784
+ "scopes": ["members:manage"],
785
+ "sessionAuthority": "headers",
786
+ "surfaces": ["api", "mock"]
787
+ },
788
+ {
789
+ "id": "projectmembers.remove",
790
+ "method": "POST",
791
+ "mutates": true,
792
+ "path": "/v1/projects/{projectId}/members/{memberId}/remove",
793
+ "principals": ["session", "oauth"],
794
+ "problems": [
795
+ "authentication_required",
796
+ "capability_not_configured",
797
+ "credential_expired",
798
+ "credential_revoked",
799
+ "idempotency_key_reused",
800
+ "invalid_request",
801
+ "not_found",
802
+ "project_archived",
803
+ "rate_limited",
804
+ "scope_missing",
805
+ "service_unavailable",
806
+ "state_conflict"
807
+ ],
808
+ "scopes": ["members:manage"],
809
+ "sessionAuthority": "headers",
810
+ "surfaces": ["api", "mock"]
811
+ },
467
812
  {
468
813
  "id": "organizations.lifecycle",
469
814
  "method": "GET",
@@ -472,6 +817,7 @@
472
817
  "principals": ["session"],
473
818
  "problems": [
474
819
  "authentication_required",
820
+ "capability_not_configured",
475
821
  "credential_expired",
476
822
  "credential_revoked",
477
823
  "not_found",
@@ -491,6 +837,7 @@
491
837
  "principals": ["session"],
492
838
  "problems": [
493
839
  "authentication_required",
840
+ "capability_not_configured",
494
841
  "credential_expired",
495
842
  "credential_revoked",
496
843
  "invalid_request",
@@ -513,6 +860,7 @@
513
860
  "principals": ["session"],
514
861
  "problems": [
515
862
  "authentication_required",
863
+ "capability_not_configured",
516
864
  "credential_expired",
517
865
  "credential_revoked",
518
866
  "invalid_request",
@@ -533,7 +881,11 @@
533
881
  "mutates": false,
534
882
  "path": "/__greatwait/version",
535
883
  "principals": [],
536
- "problems": ["rate_limited", "service_unavailable"],
884
+ "problems": [
885
+ "capability_not_configured",
886
+ "rate_limited",
887
+ "service_unavailable"
888
+ ],
537
889
  "scopes": [],
538
890
  "surfaces": ["api", "mock"]
539
891
  },
@@ -543,7 +895,11 @@
543
895
  "mutates": false,
544
896
  "path": "/_scaffold",
545
897
  "principals": [],
546
- "problems": ["rate_limited", "service_unavailable"],
898
+ "problems": [
899
+ "capability_not_configured",
900
+ "rate_limited",
901
+ "service_unavailable"
902
+ ],
547
903
  "scopes": [],
548
904
  "surfaces": ["api", "mock"]
549
905
  },
@@ -553,7 +909,11 @@
553
909
  "mutates": false,
554
910
  "path": "/_contract/fixtures",
555
911
  "principals": [],
556
- "problems": ["rate_limited", "service_unavailable"],
912
+ "problems": [
913
+ "capability_not_configured",
914
+ "rate_limited",
915
+ "service_unavailable"
916
+ ],
557
917
  "scopes": [],
558
918
  "surfaces": ["mock"]
559
919
  },
@@ -563,7 +923,12 @@
563
923
  "mutates": false,
564
924
  "path": "/_contract/fixtures/{fixtureId}",
565
925
  "principals": [],
566
- "problems": ["not_found", "rate_limited", "service_unavailable"],
926
+ "problems": [
927
+ "capability_not_configured",
928
+ "not_found",
929
+ "rate_limited",
930
+ "service_unavailable"
931
+ ],
567
932
  "scopes": [],
568
933
  "surfaces": ["mock"]
569
934
  },
@@ -575,6 +940,30 @@
575
940
  "principals": ["api-credential", "oauth", "session"],
576
941
  "problems": [
577
942
  "authentication_required",
943
+ "capability_not_configured",
944
+ "credential_expired",
945
+ "credential_revoked",
946
+ "invalid_request",
947
+ "plan_limit_reached",
948
+ "project_archived",
949
+ "rate_limited",
950
+ "scope_missing",
951
+ "service_unavailable",
952
+ "state_conflict"
953
+ ],
954
+ "scopes": ["endpoints:write"],
955
+ "sessionAuthority": "headers",
956
+ "surfaces": ["api", "mock"]
957
+ },
958
+ {
959
+ "id": "endpoints.ensure",
960
+ "method": "POST",
961
+ "mutates": true,
962
+ "path": "/v1/endpoints/ensure",
963
+ "principals": ["api-credential", "oauth", "session"],
964
+ "problems": [
965
+ "authentication_required",
966
+ "capability_not_configured",
578
967
  "credential_expired",
579
968
  "credential_revoked",
580
969
  "invalid_request",
@@ -597,6 +986,7 @@
597
986
  "principals": ["api-credential", "oauth", "session"],
598
987
  "problems": [
599
988
  "authentication_required",
989
+ "capability_not_configured",
600
990
  "credential_expired",
601
991
  "credential_revoked",
602
992
  "invalid_request",
@@ -617,6 +1007,7 @@
617
1007
  "principals": ["api-credential", "oauth", "session"],
618
1008
  "problems": [
619
1009
  "authentication_required",
1010
+ "capability_not_configured",
620
1011
  "credential_expired",
621
1012
  "credential_revoked",
622
1013
  "invalid_request",
@@ -638,6 +1029,7 @@
638
1029
  "principals": ["api-credential", "oauth", "session"],
639
1030
  "problems": [
640
1031
  "authentication_required",
1032
+ "capability_not_configured",
641
1033
  "credential_expired",
642
1034
  "credential_revoked",
643
1035
  "invalid_request",
@@ -661,6 +1053,7 @@
661
1053
  "principals": ["api-credential", "oauth", "session"],
662
1054
  "problems": [
663
1055
  "authentication_required",
1056
+ "capability_not_configured",
664
1057
  "credential_expired",
665
1058
  "credential_revoked",
666
1059
  "invalid_request",
@@ -684,6 +1077,7 @@
684
1077
  "principals": ["api-credential", "oauth", "session"],
685
1078
  "problems": [
686
1079
  "authentication_required",
1080
+ "capability_not_configured",
687
1081
  "credential_expired",
688
1082
  "credential_revoked",
689
1083
  "invalid_request",
@@ -707,6 +1101,7 @@
707
1101
  "principals": ["session"],
708
1102
  "problems": [
709
1103
  "authentication_required",
1104
+ "capability_not_configured",
710
1105
  "credential_expired",
711
1106
  "credential_revoked",
712
1107
  "invalid_request",
@@ -729,6 +1124,7 @@
729
1124
  "principals": ["api-credential", "oauth", "session"],
730
1125
  "problems": [
731
1126
  "authentication_required",
1127
+ "capability_not_configured",
732
1128
  "credential_expired",
733
1129
  "credential_revoked",
734
1130
  "invalid_request",
@@ -750,6 +1146,7 @@
750
1146
  "principals": ["api-credential", "oauth", "session"],
751
1147
  "problems": [
752
1148
  "authentication_required",
1149
+ "capability_not_configured",
753
1150
  "credential_expired",
754
1151
  "credential_revoked",
755
1152
  "invalid_request",
@@ -772,6 +1169,7 @@
772
1169
  "principals": ["api-credential", "oauth", "session"],
773
1170
  "problems": [
774
1171
  "authentication_required",
1172
+ "capability_not_configured",
775
1173
  "credential_expired",
776
1174
  "credential_revoked",
777
1175
  "invalid_request",
@@ -795,6 +1193,7 @@
795
1193
  "principals": ["api-credential", "oauth", "session"],
796
1194
  "problems": [
797
1195
  "authentication_required",
1196
+ "capability_not_configured",
798
1197
  "credential_expired",
799
1198
  "credential_revoked",
800
1199
  "invalid_request",
@@ -816,6 +1215,7 @@
816
1215
  "principals": ["api-credential", "oauth", "session"],
817
1216
  "problems": [
818
1217
  "authentication_required",
1218
+ "capability_not_configured",
819
1219
  "credential_expired",
820
1220
  "credential_revoked",
821
1221
  "invalid_request",
@@ -838,6 +1238,7 @@
838
1238
  "principals": ["api-credential", "oauth", "session"],
839
1239
  "problems": [
840
1240
  "authentication_required",
1241
+ "capability_not_configured",
841
1242
  "credential_expired",
842
1243
  "credential_revoked",
843
1244
  "invalid_request",
@@ -860,6 +1261,7 @@
860
1261
  "principals": ["api-credential", "oauth", "session"],
861
1262
  "problems": [
862
1263
  "authentication_required",
1264
+ "capability_not_configured",
863
1265
  "credential_expired",
864
1266
  "credential_revoked",
865
1267
  "invalid_request",
@@ -882,6 +1284,7 @@
882
1284
  "principals": ["api-credential", "oauth", "session"],
883
1285
  "problems": [
884
1286
  "authentication_required",
1287
+ "capability_not_configured",
885
1288
  "credential_expired",
886
1289
  "credential_revoked",
887
1290
  "invalid_request",
@@ -904,6 +1307,7 @@
904
1307
  "principals": ["api-credential", "oauth", "session"],
905
1308
  "problems": [
906
1309
  "authentication_required",
1310
+ "capability_not_configured",
907
1311
  "credential_expired",
908
1312
  "credential_revoked",
909
1313
  "invalid_request",
@@ -924,7 +1328,12 @@
924
1328
  "mutates": true,
925
1329
  "path": "/_contract/scenarios",
926
1330
  "principals": [],
927
- "problems": ["invalid_request", "rate_limited", "service_unavailable"],
1331
+ "problems": [
1332
+ "capability_not_configured",
1333
+ "invalid_request",
1334
+ "rate_limited",
1335
+ "service_unavailable"
1336
+ ],
928
1337
  "scopes": [],
929
1338
  "surfaces": ["mock"]
930
1339
  },
@@ -936,6 +1345,7 @@
936
1345
  "principals": ["api-credential", "oauth"],
937
1346
  "problems": [
938
1347
  "authentication_required",
1348
+ "capability_not_configured",
939
1349
  "credential_expired",
940
1350
  "credential_revoked",
941
1351
  "project_archived",
@@ -953,6 +1363,7 @@
953
1363
  "principals": ["session"],
954
1364
  "problems": [
955
1365
  "authentication_required",
1366
+ "capability_not_configured",
956
1367
  "credential_expired",
957
1368
  "credential_revoked",
958
1369
  "invalid_request",
@@ -974,6 +1385,7 @@
974
1385
  "principals": ["api-credential", "oauth", "session"],
975
1386
  "problems": [
976
1387
  "authentication_required",
1388
+ "capability_not_configured",
977
1389
  "credential_expired",
978
1390
  "credential_revoked",
979
1391
  "invalid_request",
@@ -994,6 +1406,7 @@
994
1406
  "principals": ["session"],
995
1407
  "problems": [
996
1408
  "authentication_required",
1409
+ "capability_not_configured",
997
1410
  "credential_expired",
998
1411
  "credential_revoked",
999
1412
  "not_found",
@@ -1014,6 +1427,7 @@
1014
1427
  "principals": ["session"],
1015
1428
  "problems": [
1016
1429
  "authentication_required",
1430
+ "capability_not_configured",
1017
1431
  "credential_expired",
1018
1432
  "credential_revoked",
1019
1433
  "rate_limited",
@@ -1032,6 +1446,7 @@
1032
1446
  "principals": ["session"],
1033
1447
  "problems": [
1034
1448
  "authentication_required",
1449
+ "capability_not_configured",
1035
1450
  "credential_expired",
1036
1451
  "credential_revoked",
1037
1452
  "invalid_request",
@@ -1053,6 +1468,7 @@
1053
1468
  "principals": ["api-credential", "oauth", "session"],
1054
1469
  "problems": [
1055
1470
  "authentication_required",
1471
+ "capability_not_configured",
1056
1472
  "credential_expired",
1057
1473
  "credential_revoked",
1058
1474
  "invalid_request",
@@ -1075,6 +1491,7 @@
1075
1491
  "principals": ["api-credential", "oauth", "session"],
1076
1492
  "problems": [
1077
1493
  "authentication_required",
1494
+ "capability_not_configured",
1078
1495
  "credential_expired",
1079
1496
  "credential_revoked",
1080
1497
  "invalid_request",
@@ -1097,6 +1514,7 @@
1097
1514
  "principals": ["api-credential", "oauth", "session"],
1098
1515
  "problems": [
1099
1516
  "authentication_required",
1517
+ "capability_not_configured",
1100
1518
  "credential_expired",
1101
1519
  "credential_revoked",
1102
1520
  "not_found",
@@ -1118,6 +1536,7 @@
1118
1536
  "principals": ["session"],
1119
1537
  "problems": [
1120
1538
  "authentication_required",
1539
+ "capability_not_configured",
1121
1540
  "credential_expired",
1122
1541
  "credential_revoked",
1123
1542
  "rate_limited",
@@ -1136,6 +1555,7 @@
1136
1555
  "principals": ["session"],
1137
1556
  "problems": [
1138
1557
  "authentication_required",
1558
+ "capability_not_configured",
1139
1559
  "credential_expired",
1140
1560
  "credential_revoked",
1141
1561
  "not_found",
@@ -1155,6 +1575,7 @@
1155
1575
  "principals": ["api-credential", "oauth", "session"],
1156
1576
  "problems": [
1157
1577
  "authentication_required",
1578
+ "capability_not_configured",
1158
1579
  "credential_expired",
1159
1580
  "credential_revoked",
1160
1581
  "invalid_request",
@@ -1176,6 +1597,7 @@
1176
1597
  "principals": ["api-credential", "oauth", "session"],
1177
1598
  "problems": [
1178
1599
  "authentication_required",
1600
+ "capability_not_configured",
1179
1601
  "credential_expired",
1180
1602
  "credential_revoked",
1181
1603
  "invalid_request",
@@ -1197,6 +1619,7 @@
1197
1619
  "principals": ["api-credential", "oauth", "session"],
1198
1620
  "problems": [
1199
1621
  "authentication_required",
1622
+ "capability_not_configured",
1200
1623
  "credential_expired",
1201
1624
  "credential_revoked",
1202
1625
  "idempotency_key_reused",
@@ -1221,6 +1644,7 @@
1221
1644
  "principals": ["api-credential", "oauth", "session"],
1222
1645
  "problems": [
1223
1646
  "authentication_required",
1647
+ "capability_not_configured",
1224
1648
  "credential_expired",
1225
1649
  "credential_revoked",
1226
1650
  "invalid_request",
@@ -1242,6 +1666,7 @@
1242
1666
  "principals": ["api-credential", "oauth", "session"],
1243
1667
  "problems": [
1244
1668
  "authentication_required",
1669
+ "capability_not_configured",
1245
1670
  "credential_expired",
1246
1671
  "credential_revoked",
1247
1672
  "invalid_request",
@@ -1262,6 +1687,7 @@
1262
1687
  "principals": ["api-credential", "oauth", "session"],
1263
1688
  "problems": [
1264
1689
  "authentication_required",
1690
+ "capability_not_configured",
1265
1691
  "credential_expired",
1266
1692
  "credential_revoked",
1267
1693
  "invalid_request",
@@ -1282,6 +1708,8 @@
1282
1708
  "principals": ["api-credential", "oauth", "session"],
1283
1709
  "problems": [
1284
1710
  "authentication_required",
1711
+ "billing_not_ready",
1712
+ "capability_not_configured",
1285
1713
  "credential_expired",
1286
1714
  "credential_revoked",
1287
1715
  "project_archived",
@@ -1301,6 +1729,7 @@
1301
1729
  "principals": ["api-credential", "oauth", "session"],
1302
1730
  "problems": [
1303
1731
  "authentication_required",
1732
+ "capability_not_configured",
1304
1733
  "credential_expired",
1305
1734
  "credential_revoked",
1306
1735
  "invalid_request",
@@ -1321,6 +1750,7 @@
1321
1750
  "principals": ["api-credential", "oauth", "session"],
1322
1751
  "problems": [
1323
1752
  "authentication_required",
1753
+ "capability_not_configured",
1324
1754
  "credential_expired",
1325
1755
  "credential_revoked",
1326
1756
  "project_archived",
@@ -1340,6 +1770,7 @@
1340
1770
  "principals": ["api-credential", "oauth", "session"],
1341
1771
  "problems": [
1342
1772
  "authentication_required",
1773
+ "capability_not_configured",
1343
1774
  "credential_expired",
1344
1775
  "credential_revoked",
1345
1776
  "idempotency_key_reused",
@@ -1363,6 +1794,7 @@
1363
1794
  "principals": ["api-credential", "oauth", "session"],
1364
1795
  "problems": [
1365
1796
  "authentication_required",
1797
+ "capability_not_configured",
1366
1798
  "credential_expired",
1367
1799
  "credential_revoked",
1368
1800
  "project_archived",
@@ -1382,6 +1814,7 @@
1382
1814
  "principals": ["api-credential", "oauth", "session"],
1383
1815
  "problems": [
1384
1816
  "authentication_required",
1817
+ "capability_not_configured",
1385
1818
  "credential_expired",
1386
1819
  "credential_revoked",
1387
1820
  "invalid_request",
@@ -1405,6 +1838,7 @@
1405
1838
  "principals": ["api-credential", "oauth", "session"],
1406
1839
  "problems": [
1407
1840
  "authentication_required",
1841
+ "capability_not_configured",
1408
1842
  "credential_expired",
1409
1843
  "credential_revoked",
1410
1844
  "idempotency_key_reused",
@@ -1422,6 +1856,29 @@
1422
1856
  "sessionAuthority": "headers",
1423
1857
  "surfaces": ["api", "mock"]
1424
1858
  },
1859
+ {
1860
+ "id": "billing.fundingconfirm",
1861
+ "method": "POST",
1862
+ "mutates": true,
1863
+ "path": "/v1/billing/funding/{paymentOperation}/confirm",
1864
+ "principals": ["api-credential", "oauth", "session"],
1865
+ "problems": [
1866
+ "authentication_required",
1867
+ "capability_not_configured",
1868
+ "credential_expired",
1869
+ "credential_revoked",
1870
+ "not_found",
1871
+ "project_archived",
1872
+ "rate_limited",
1873
+ "scope_missing",
1874
+ "service_unavailable",
1875
+ "state_conflict",
1876
+ "test_to_live_escalation"
1877
+ ],
1878
+ "scopes": ["billing:write"],
1879
+ "sessionAuthority": "headers",
1880
+ "surfaces": ["api", "mock"]
1881
+ },
1425
1882
  {
1426
1883
  "id": "billing.ceiling",
1427
1884
  "method": "PATCH",
@@ -1430,6 +1887,7 @@
1430
1887
  "principals": ["api-credential", "oauth", "session"],
1431
1888
  "problems": [
1432
1889
  "authentication_required",
1890
+ "capability_not_configured",
1433
1891
  "credential_expired",
1434
1892
  "credential_revoked",
1435
1893
  "idempotency_key_reused",
@@ -1454,6 +1912,7 @@
1454
1912
  "principals": ["api-credential", "oauth", "session"],
1455
1913
  "problems": [
1456
1914
  "authentication_required",
1915
+ "capability_not_configured",
1457
1916
  "credential_expired",
1458
1917
  "credential_revoked",
1459
1918
  "invalid_request",
@@ -1477,6 +1936,7 @@
1477
1936
  "principals": ["api-credential", "oauth", "session"],
1478
1937
  "problems": [
1479
1938
  "authentication_required",
1939
+ "capability_not_configured",
1480
1940
  "credential_expired",
1481
1941
  "credential_revoked",
1482
1942
  "idempotency_key_reused",
@@ -1498,9 +1958,10 @@
1498
1958
  "method": "POST",
1499
1959
  "mutates": true,
1500
1960
  "path": "/v1/billing/funding/refunds",
1501
- "principals": ["api-credential", "oauth", "session"],
1961
+ "principals": ["api-credential", "oauth"],
1502
1962
  "problems": [
1503
1963
  "authentication_required",
1964
+ "capability_not_configured",
1504
1965
  "credential_expired",
1505
1966
  "credential_revoked",
1506
1967
  "idempotency_key_reused",
@@ -1514,7 +1975,6 @@
1514
1975
  "test_to_live_escalation"
1515
1976
  ],
1516
1977
  "scopes": ["billing:write"],
1517
- "sessionAuthority": "headers",
1518
1978
  "surfaces": ["api", "mock"]
1519
1979
  },
1520
1980
  {
@@ -1522,9 +1982,10 @@
1522
1982
  "method": "PATCH",
1523
1983
  "mutates": true,
1524
1984
  "path": "/v1/billing/funding/refunds/{refundRequest}",
1525
- "principals": ["api-credential", "oauth", "session"],
1985
+ "principals": ["api-credential", "oauth"],
1526
1986
  "problems": [
1527
1987
  "authentication_required",
1988
+ "capability_not_configured",
1528
1989
  "credential_expired",
1529
1990
  "credential_revoked",
1530
1991
  "idempotency_key_reused",
@@ -1538,7 +1999,6 @@
1538
1999
  "test_to_live_escalation"
1539
2000
  ],
1540
2001
  "scopes": ["billing:write"],
1541
- "sessionAuthority": "headers",
1542
2002
  "surfaces": ["api", "mock"]
1543
2003
  },
1544
2004
  {
@@ -1549,6 +2009,7 @@
1549
2009
  "principals": ["api-credential", "oauth", "session"],
1550
2010
  "problems": [
1551
2011
  "authentication_required",
2012
+ "capability_not_configured",
1552
2013
  "credential_expired",
1553
2014
  "credential_revoked",
1554
2015
  "not_found",
@@ -1572,6 +2033,7 @@
1572
2033
  "principals": ["api-credential", "oauth", "session"],
1573
2034
  "problems": [
1574
2035
  "authentication_required",
2036
+ "capability_not_configured",
1575
2037
  "credential_expired",
1576
2038
  "credential_revoked",
1577
2039
  "not_found",
@@ -1595,6 +2057,7 @@
1595
2057
  "principals": ["api-credential", "oauth", "session"],
1596
2058
  "problems": [
1597
2059
  "authentication_required",
2060
+ "capability_not_configured",
1598
2061
  "credential_expired",
1599
2062
  "credential_revoked",
1600
2063
  "idempotency_key_reused",
@@ -1619,6 +2082,7 @@
1619
2082
  "principals": ["api-credential", "oauth", "session"],
1620
2083
  "problems": [
1621
2084
  "authentication_required",
2085
+ "capability_not_configured",
1622
2086
  "credential_expired",
1623
2087
  "credential_revoked",
1624
2088
  "not_found",
@@ -1634,6 +2098,121 @@
1634
2098
  "sessionAuthority": "headers",
1635
2099
  "surfaces": ["api", "mock"]
1636
2100
  },
2101
+ {
2102
+ "id": "billing.paymentmethod",
2103
+ "method": "GET",
2104
+ "mutates": false,
2105
+ "path": "/v1/billing/payment-method",
2106
+ "principals": ["api-credential", "oauth", "session"],
2107
+ "problems": [
2108
+ "authentication_required",
2109
+ "capability_not_configured",
2110
+ "credential_expired",
2111
+ "credential_revoked",
2112
+ "project_archived",
2113
+ "rate_limited",
2114
+ "scope_missing",
2115
+ "service_unavailable"
2116
+ ],
2117
+ "scopes": ["usage:read"],
2118
+ "sessionAuthority": "headers",
2119
+ "surfaces": ["api", "mock"]
2120
+ },
2121
+ {
2122
+ "id": "billing.invoices",
2123
+ "method": "GET",
2124
+ "mutates": false,
2125
+ "path": "/v1/billing/invoices",
2126
+ "principals": ["api-credential", "oauth", "session"],
2127
+ "problems": [
2128
+ "authentication_required",
2129
+ "capability_not_configured",
2130
+ "credential_expired",
2131
+ "credential_revoked",
2132
+ "project_archived",
2133
+ "rate_limited",
2134
+ "scope_missing",
2135
+ "service_unavailable"
2136
+ ],
2137
+ "scopes": ["usage:read"],
2138
+ "sessionAuthority": "headers",
2139
+ "surfaces": ["api", "mock"]
2140
+ },
2141
+ {
2142
+ "id": "billing.paymentmethodsetup",
2143
+ "method": "POST",
2144
+ "mutates": true,
2145
+ "path": "/v1/billing/payment-method/setup",
2146
+ "principals": ["api-credential", "oauth", "session"],
2147
+ "problems": [
2148
+ "authentication_required",
2149
+ "capability_not_configured",
2150
+ "credential_expired",
2151
+ "credential_revoked",
2152
+ "invalid_request",
2153
+ "not_found",
2154
+ "project_archived",
2155
+ "rate_limited",
2156
+ "revision_conflict",
2157
+ "scope_missing",
2158
+ "service_unavailable",
2159
+ "state_conflict",
2160
+ "test_to_live_escalation"
2161
+ ],
2162
+ "scopes": ["billing:write"],
2163
+ "sessionAuthority": "headers",
2164
+ "surfaces": ["api", "mock"]
2165
+ },
2166
+ {
2167
+ "id": "billing.paymentmethodconfirm",
2168
+ "method": "POST",
2169
+ "mutates": true,
2170
+ "path": "/v1/billing/payment-method/confirm",
2171
+ "principals": ["api-credential", "oauth", "session"],
2172
+ "problems": [
2173
+ "authentication_required",
2174
+ "capability_not_configured",
2175
+ "credential_expired",
2176
+ "credential_revoked",
2177
+ "invalid_request",
2178
+ "not_found",
2179
+ "project_archived",
2180
+ "rate_limited",
2181
+ "revision_conflict",
2182
+ "scope_missing",
2183
+ "service_unavailable",
2184
+ "state_conflict",
2185
+ "test_to_live_escalation"
2186
+ ],
2187
+ "scopes": ["billing:write"],
2188
+ "sessionAuthority": "headers",
2189
+ "surfaces": ["api", "mock"]
2190
+ },
2191
+ {
2192
+ "id": "billing.paymentmethodremove",
2193
+ "method": "POST",
2194
+ "mutates": true,
2195
+ "path": "/v1/billing/payment-method/remove",
2196
+ "principals": ["api-credential", "oauth", "session"],
2197
+ "problems": [
2198
+ "authentication_required",
2199
+ "capability_not_configured",
2200
+ "credential_expired",
2201
+ "credential_revoked",
2202
+ "invalid_request",
2203
+ "not_found",
2204
+ "project_archived",
2205
+ "rate_limited",
2206
+ "revision_conflict",
2207
+ "scope_missing",
2208
+ "service_unavailable",
2209
+ "state_conflict",
2210
+ "test_to_live_escalation"
2211
+ ],
2212
+ "scopes": ["billing:write"],
2213
+ "sessionAuthority": "headers",
2214
+ "surfaces": ["api", "mock"]
2215
+ },
1637
2216
  {
1638
2217
  "id": "billing.reconcile",
1639
2218
  "method": "POST",
@@ -1642,6 +2221,8 @@
1642
2221
  "principals": ["api-credential", "oauth", "session"],
1643
2222
  "problems": [
1644
2223
  "authentication_required",
2224
+ "billing_not_ready",
2225
+ "capability_not_configured",
1645
2226
  "credential_expired",
1646
2227
  "credential_revoked",
1647
2228
  "project_archived",
@@ -1662,6 +2243,7 @@
1662
2243
  "principals": ["api-credential", "oauth", "session"],
1663
2244
  "problems": [
1664
2245
  "authentication_required",
2246
+ "capability_not_configured",
1665
2247
  "credential_expired",
1666
2248
  "credential_revoked",
1667
2249
  "idempotency_key_reused",
@@ -1685,6 +2267,7 @@
1685
2267
  "principals": ["api-credential", "oauth", "session"],
1686
2268
  "problems": [
1687
2269
  "authentication_required",
2270
+ "capability_not_configured",
1688
2271
  "credential_expired",
1689
2272
  "credential_revoked",
1690
2273
  "invalid_request",
@@ -1697,6 +2280,26 @@
1697
2280
  "sessionAuthority": "headers",
1698
2281
  "surfaces": ["api", "mock"]
1699
2282
  },
2283
+ {
2284
+ "id": "limits.read",
2285
+ "method": "GET",
2286
+ "mutates": false,
2287
+ "path": "/v1/limits",
2288
+ "principals": ["api-credential", "oauth", "session"],
2289
+ "problems": [
2290
+ "authentication_required",
2291
+ "capability_not_configured",
2292
+ "credential_expired",
2293
+ "credential_revoked",
2294
+ "project_archived",
2295
+ "rate_limited",
2296
+ "scope_missing",
2297
+ "service_unavailable"
2298
+ ],
2299
+ "scopes": ["schedules:read"],
2300
+ "sessionAuthority": "headers",
2301
+ "surfaces": ["api", "mock"]
2302
+ },
1700
2303
  {
1701
2304
  "id": "usage.read",
1702
2305
  "method": "GET",
@@ -1705,6 +2308,7 @@
1705
2308
  "principals": ["api-credential", "oauth", "session"],
1706
2309
  "problems": [
1707
2310
  "authentication_required",
2311
+ "capability_not_configured",
1708
2312
  "credential_expired",
1709
2313
  "credential_revoked",
1710
2314
  "invalid_request",
@@ -1725,6 +2329,7 @@
1725
2329
  "principals": ["api-credential", "oauth", "session"],
1726
2330
  "problems": [
1727
2331
  "authentication_required",
2332
+ "capability_not_configured",
1728
2333
  "credential_expired",
1729
2334
  "credential_revoked",
1730
2335
  "project_archived",
@@ -1744,6 +2349,7 @@
1744
2349
  "principals": ["api-credential", "oauth", "session"],
1745
2350
  "problems": [
1746
2351
  "authentication_required",
2352
+ "capability_not_configured",
1747
2353
  "credential_expired",
1748
2354
  "credential_revoked",
1749
2355
  "invalid_request",
@@ -1764,6 +2370,7 @@
1764
2370
  "principals": ["api-credential", "oauth", "session"],
1765
2371
  "problems": [
1766
2372
  "authentication_required",
2373
+ "capability_not_configured",
1767
2374
  "credential_expired",
1768
2375
  "credential_revoked",
1769
2376
  "invalid_request",
@@ -1785,6 +2392,7 @@
1785
2392
  "principals": ["api-credential", "oauth", "session"],
1786
2393
  "problems": [
1787
2394
  "authentication_required",
2395
+ "capability_not_configured",
1788
2396
  "credential_expired",
1789
2397
  "credential_revoked",
1790
2398
  "invalid_request",
@@ -1805,6 +2413,7 @@
1805
2413
  "principals": ["api-credential", "oauth", "session"],
1806
2414
  "problems": [
1807
2415
  "authentication_required",
2416
+ "capability_not_configured",
1808
2417
  "credential_expired",
1809
2418
  "credential_revoked",
1810
2419
  "invalid_request",
@@ -1826,6 +2435,7 @@
1826
2435
  "principals": ["api-credential", "oauth", "session"],
1827
2436
  "problems": [
1828
2437
  "authentication_required",
2438
+ "capability_not_configured",
1829
2439
  "credential_expired",
1830
2440
  "credential_revoked",
1831
2441
  "invalid_request",
@@ -1847,6 +2457,7 @@
1847
2457
  "principals": ["api-credential", "oauth", "session"],
1848
2458
  "problems": [
1849
2459
  "authentication_required",
2460
+ "capability_not_configured",
1850
2461
  "credential_expired",
1851
2462
  "credential_revoked",
1852
2463
  "invalid_request",
@@ -1868,6 +2479,7 @@
1868
2479
  "principals": ["api-credential", "oauth", "session"],
1869
2480
  "problems": [
1870
2481
  "authentication_required",
2482
+ "capability_not_configured",
1871
2483
  "credential_expired",
1872
2484
  "credential_revoked",
1873
2485
  "idempotency_key_reused",
@@ -1891,6 +2503,7 @@
1891
2503
  "principals": ["api-credential", "oauth", "session"],
1892
2504
  "problems": [
1893
2505
  "authentication_required",
2506
+ "capability_not_configured",
1894
2507
  "credential_expired",
1895
2508
  "credential_revoked",
1896
2509
  "invalid_request",
@@ -1915,6 +2528,7 @@
1915
2528
  "principals": ["api-credential", "oauth", "session"],
1916
2529
  "problems": [
1917
2530
  "authentication_required",
2531
+ "capability_not_configured",
1918
2532
  "credential_expired",
1919
2533
  "credential_revoked",
1920
2534
  "invalid_request",
@@ -1938,6 +2552,7 @@
1938
2552
  "principals": ["api-credential", "oauth", "session"],
1939
2553
  "problems": [
1940
2554
  "authentication_required",
2555
+ "capability_not_configured",
1941
2556
  "credential_expired",
1942
2557
  "credential_revoked",
1943
2558
  "invalid_request",
@@ -1961,6 +2576,7 @@
1961
2576
  "principals": ["api-credential", "oauth", "session"],
1962
2577
  "problems": [
1963
2578
  "authentication_required",
2579
+ "capability_not_configured",
1964
2580
  "credential_expired",
1965
2581
  "credential_revoked",
1966
2582
  "invalid_request",
@@ -1984,6 +2600,7 @@
1984
2600
  "principals": ["api-credential", "oauth", "session"],
1985
2601
  "problems": [
1986
2602
  "authentication_required",
2603
+ "capability_not_configured",
1987
2604
  "credential_expired",
1988
2605
  "credential_revoked",
1989
2606
  "invalid_request",