@leaflow/sdk 0.0.0-dev.25.g6c5751f → 0.0.0-dev.252.gbe25f3b

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 (79) hide show
  1. package/README.md +22 -1
  2. package/dist/account/v1/client.d.ts +4 -0
  3. package/dist/account/v1/client.js +7 -0
  4. package/dist/account/v1/index.d.ts +33 -22
  5. package/dist/account/v1/index.js +4 -4
  6. package/dist/account/v1/schema.d.ts +307 -89
  7. package/dist/assistant/v1/client.d.ts +4 -0
  8. package/dist/assistant/v1/client.js +7 -0
  9. package/dist/assistant/v1/index.d.ts +71 -40
  10. package/dist/assistant/v1/index.js +4 -4
  11. package/dist/assistant/v1/schema.d.ts +1204 -139
  12. package/dist/billing/account/v1/client.d.ts +4 -0
  13. package/dist/billing/account/v1/client.js +7 -0
  14. package/dist/billing/account/v1/index.d.ts +169 -0
  15. package/dist/billing/account/v1/index.js +5 -0
  16. package/dist/billing/account/v1/schema.d.ts +4385 -0
  17. package/dist/billing/account/v1/schema.js +5 -0
  18. package/dist/billing/catalog/v1/client.d.ts +4 -0
  19. package/dist/billing/catalog/v1/client.js +7 -0
  20. package/dist/billing/catalog/v1/index.d.ts +33 -0
  21. package/dist/billing/catalog/v1/index.js +5 -0
  22. package/dist/billing/catalog/v1/schema.d.ts +915 -0
  23. package/dist/billing/catalog/v1/schema.js +5 -0
  24. package/dist/billing/index.d.ts +3 -0
  25. package/dist/billing/index.js +6 -0
  26. package/dist/billing/project/v1/client.d.ts +4 -0
  27. package/dist/billing/project/v1/client.js +7 -0
  28. package/dist/billing/project/v1/index.d.ts +59 -0
  29. package/dist/billing/project/v1/index.js +5 -0
  30. package/dist/billing/project/v1/schema.d.ts +1892 -0
  31. package/dist/billing/project/v1/schema.js +5 -0
  32. package/dist/canopy/v1/client.d.ts +4 -0
  33. package/dist/canopy/v1/client.js +7 -0
  34. package/dist/canopy/v1/index.d.ts +24 -23
  35. package/dist/canopy/v1/index.js +4 -4
  36. package/dist/canopy/v1/schema.d.ts +113 -109
  37. package/dist/compute/v1/client.d.ts +4 -0
  38. package/dist/compute/v1/client.js +7 -0
  39. package/dist/compute/v1/index.d.ts +207 -134
  40. package/dist/compute/v1/index.js +4 -4
  41. package/dist/compute/v1/schema.d.ts +1944 -553
  42. package/dist/dns/v1/client.d.ts +4 -0
  43. package/dist/dns/v1/client.js +7 -0
  44. package/dist/dns/v1/index.d.ts +43 -0
  45. package/dist/dns/v1/index.js +5 -0
  46. package/dist/dns/v1/schema.d.ts +887 -0
  47. package/dist/dns/v1/schema.js +5 -0
  48. package/dist/iam/v1/client.d.ts +4 -0
  49. package/dist/iam/v1/client.js +7 -0
  50. package/dist/iam/v1/index.d.ts +55 -32
  51. package/dist/iam/v1/index.js +4 -4
  52. package/dist/iam/v1/schema.d.ts +521 -88
  53. package/dist/index.d.ts +11 -7
  54. package/dist/index.js +19 -5
  55. package/dist/monitoring/v1/client.d.ts +4 -0
  56. package/dist/monitoring/v1/client.js +7 -0
  57. package/dist/monitoring/v1/index.d.ts +130 -49
  58. package/dist/monitoring/v1/index.js +4 -4
  59. package/dist/monitoring/v1/schema.d.ts +2420 -527
  60. package/dist/notification/v1/client.d.ts +4 -0
  61. package/dist/notification/v1/client.js +7 -0
  62. package/dist/notification/v1/index.d.ts +81 -0
  63. package/dist/notification/v1/index.js +5 -0
  64. package/dist/notification/v1/schema.d.ts +2048 -0
  65. package/dist/notification/v1/schema.js +5 -0
  66. package/dist/routes.d.ts +3234 -0
  67. package/dist/routes.js +3639 -0
  68. package/dist/support/v1/client.d.ts +4 -0
  69. package/dist/support/v1/client.js +7 -0
  70. package/dist/support/v1/index.d.ts +51 -0
  71. package/dist/support/v1/index.js +5 -0
  72. package/dist/support/v1/schema.d.ts +1082 -0
  73. package/dist/support/v1/schema.js +5 -0
  74. package/dist/tunnel/v1/client.d.ts +4 -0
  75. package/dist/tunnel/v1/client.js +7 -0
  76. package/dist/tunnel/v1/index.d.ts +8 -7
  77. package/dist/tunnel/v1/index.js +4 -4
  78. package/dist/tunnel/v1/schema.d.ts +40 -34
  79. package/package.json +34 -10
@@ -0,0 +1,1892 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/api/v1/projects/{projectId}/billing-account": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path: {
11
+ projectId: components["parameters"]["ProjectId"];
12
+ };
13
+ cookie?: never;
14
+ };
15
+ /**
16
+ * Get project billing account
17
+ * @description Returns the billing account's identity, its currency, and how much can still be spent. Cards,
18
+ * invoices and transaction history are not included; they belong to the account owner
19
+ * and are reached through `/account/v1/`.
20
+ *
21
+ * Returns 404 when the project has no billing account. Resources cannot be created in that
22
+ * state.
23
+ */
24
+ get: operations["get-project-billing-account"];
25
+ put?: never;
26
+ post?: never;
27
+ delete?: never;
28
+ options?: never;
29
+ head?: never;
30
+ patch?: never;
31
+ trace?: never;
32
+ };
33
+ "/api/v1/projects/{projectId}/spend": {
34
+ parameters: {
35
+ query?: never;
36
+ header?: never;
37
+ path: {
38
+ projectId: components["parameters"]["ProjectId"];
39
+ };
40
+ cookie?: never;
41
+ };
42
+ /**
43
+ * List project spend
44
+ * @description Covers a closed time range. Both bounds are required: a total without a stated period
45
+ * cannot be reconciled against an invoice.
46
+ *
47
+ * Includes usage that has not been invoiced yet.
48
+ */
49
+ get: operations["list-project-spend"];
50
+ put?: never;
51
+ post?: never;
52
+ delete?: never;
53
+ options?: never;
54
+ head?: never;
55
+ patch?: never;
56
+ trace?: never;
57
+ };
58
+ "/api/v1/projects/{projectId}/usage-charges": {
59
+ parameters: {
60
+ query?: never;
61
+ header?: never;
62
+ path: {
63
+ projectId: components["parameters"]["ProjectId"];
64
+ };
65
+ cookie?: never;
66
+ };
67
+ /**
68
+ * List project usage charges
69
+ * @description The individual charges behind the figures in `/spend`. Amounts here sum to the totals
70
+ * reported there over the same period.
71
+ */
72
+ get: operations["list-project-usage-charges"];
73
+ put?: never;
74
+ post?: never;
75
+ delete?: never;
76
+ options?: never;
77
+ head?: never;
78
+ patch?: never;
79
+ trace?: never;
80
+ };
81
+ "/api/v1/projects/{projectId}/subscriptions": {
82
+ parameters: {
83
+ query?: never;
84
+ header?: never;
85
+ path: {
86
+ projectId: components["parameters"]["ProjectId"];
87
+ };
88
+ cookie?: never;
89
+ };
90
+ /** List project subscriptions */
91
+ get: operations["list-project-subscriptions"];
92
+ put?: never;
93
+ post?: never;
94
+ delete?: never;
95
+ options?: never;
96
+ head?: never;
97
+ patch?: never;
98
+ trace?: never;
99
+ };
100
+ "/api/v1/projects/{projectId}/subscriptions/{subscriptionId}/auto-renew": {
101
+ parameters: {
102
+ query?: never;
103
+ header?: never;
104
+ path: {
105
+ projectId: components["parameters"]["ProjectId"];
106
+ subscriptionId: components["parameters"]["SubscriptionId"];
107
+ };
108
+ cookie?: never;
109
+ };
110
+ get?: never;
111
+ /**
112
+ * Set project auto renew
113
+ * @description Automatic renewal draws on the project billing account's balance, which a project member may
114
+ * commit. Paying by card requires the account owner and is done from the billing centre.
115
+ *
116
+ * While the subscription has an open cancellation, turning it on or off is refused with 409
117
+ * `BILLING_SUBSCRIPTION_OPERATION_PENDING` and `meta.cancellation_id`: creating the cancellation
118
+ * turned it off, and withdrawing the cancellation does not turn it back on.
119
+ */
120
+ put: operations["set-project-auto-renew"];
121
+ post?: never;
122
+ delete?: never;
123
+ options?: never;
124
+ head?: never;
125
+ patch?: never;
126
+ trace?: never;
127
+ };
128
+ "/api/v1/projects/{projectId}/cancellations": {
129
+ parameters: {
130
+ query?: never;
131
+ header?: never;
132
+ path: {
133
+ projectId: components["parameters"]["ProjectId"];
134
+ };
135
+ cookie?: never;
136
+ };
137
+ /**
138
+ * List cancellations
139
+ * @description Newest first. Filter by `subscription_id` and `status=open` to find the cancellation now under way for a subscription.
140
+ */
141
+ get: operations["list-project-cancellations"];
142
+ put?: never;
143
+ /**
144
+ * Cancel subscriptions
145
+ * @description Ends a set of subscriptions of one service together, at one time. Deleting a resource that a
146
+ * subscription pays for is an `immediate` cancellation of every subscription released with it,
147
+ * such as a server with the disks deleted along with it, or an address with its bandwidth.
148
+ *
149
+ * The service that provides the resources releases them: at once for `immediate`, or at
150
+ * `scheduled_at`, the end of the paid term, for `period_end`. When release is confirmed, the
151
+ * unused value is returned the way it was paid, under the refund terms agreed when each
152
+ * subscription was bought. For `immediate` the refund is computed as of `proration_date`, so the
153
+ * amount confirmed here is the amount returned: prepaid service used while the resources are
154
+ * being released is not deducted from it. Usage of a postpaid subscription is charged until its
155
+ * resources are released, as usual.
156
+ *
157
+ * `mode` must be allowed for every subscription. Postpaid and one-time subscriptions end only
158
+ * `immediate`. A prepaid subscription ends `period_end` while its paid term lasts, and
159
+ * `immediate` unless its termination terms allow only the end of the paid term and that term has
160
+ * not ended yet. For `period_end` the paid terms of all the subscriptions must end at the same
161
+ * time.
162
+ *
163
+ * Refused with:
164
+ * - 400 `BILLING_CANCELLATION_INVALID` when `subscription_ids` or `proration_date` is not
165
+ * acceptable (`meta.field`), or the subscriptions do not all belong to one service, project,
166
+ * account and currency;
167
+ * - 409 `BILLING_CANCELLATION_CONFLICT` when a subscription has not started or has ended;
168
+ * - 422 `BILLING_CANCELLATION_MODE_FIXED` when `mode` is not allowed for a subscription, and
169
+ * `BILLING_CANCELLATION_TERMS_UNSET` when a prepaid subscription has no termination terms;
170
+ * both carry `meta.subscription_id`;
171
+ * - 409 `BILLING_CANCELLATION_SCHEDULES_DIFFER` when, for `period_end`, the paid terms end at
172
+ * different times;
173
+ * - 409 `BILLING_SUBSCRIPTION_OPERATION_PENDING` when a subscription is already being canceled
174
+ * (`meta.cancellation_id`) or reclaimed (`meta.job_id`);
175
+ * - 409 `BILLING_ORDER_PAYMENT_IN_FLIGHT` while an online payment for a renewal of one of them
176
+ * is in progress;
177
+ * - 409 `BILLING_CANCELLATION_REFUND_CHANGED` when the refund is no longer
178
+ * `expected_refundable_amount`; quote again.
179
+ *
180
+ * Sending the same request again, for the same subscriptions, mode and amount while that
181
+ * cancellation is still open, returns it with 200 rather than creating another. Renewal orders
182
+ * still waiting for payment are canceled along with it, and automatic renewal is turned off for
183
+ * every subscription in the set, for `period_end` as well as `immediate`.
184
+ */
185
+ post: operations["create-project-cancellation"];
186
+ delete?: never;
187
+ options?: never;
188
+ head?: never;
189
+ patch?: never;
190
+ trace?: never;
191
+ };
192
+ "/api/v1/projects/{projectId}/cancellations/{cancellationId}": {
193
+ parameters: {
194
+ query?: never;
195
+ header?: never;
196
+ path: {
197
+ projectId: components["parameters"]["ProjectId"];
198
+ cancellationId: components["parameters"]["CancellationId"];
199
+ };
200
+ cookie?: never;
201
+ };
202
+ /** Get a cancellation */
203
+ get: operations["get-project-cancellation"];
204
+ put?: never;
205
+ post?: never;
206
+ delete?: never;
207
+ options?: never;
208
+ head?: never;
209
+ patch?: never;
210
+ trace?: never;
211
+ };
212
+ "/api/v1/projects/{projectId}/cancellations/{cancellationId}/withdraw": {
213
+ parameters: {
214
+ query?: never;
215
+ header?: never;
216
+ path: {
217
+ projectId: components["parameters"]["ProjectId"];
218
+ cancellationId: components["parameters"]["CancellationId"];
219
+ };
220
+ cookie?: never;
221
+ };
222
+ get?: never;
223
+ put?: never;
224
+ /**
225
+ * Withdraw a cancellation
226
+ * @description Withdraws the whole cancellation while none of its resources has begun to be released; the
227
+ * subscriptions continue as before, except that automatic renewal, turned off when the
228
+ * cancellation was created, stays off until it is turned on again. After that it is refused with
229
+ * 409 `BILLING_CANCELLATION_CONFLICT`. Withdrawing one that is already withdrawn returns it
230
+ * unchanged.
231
+ */
232
+ post: operations["withdraw-project-cancellation"];
233
+ delete?: never;
234
+ options?: never;
235
+ head?: never;
236
+ patch?: never;
237
+ trace?: never;
238
+ };
239
+ "/api/v1/projects/{projectId}/orders": {
240
+ parameters: {
241
+ query?: never;
242
+ header?: never;
243
+ path: {
244
+ projectId: components["parameters"]["ProjectId"];
245
+ };
246
+ cookie?: never;
247
+ };
248
+ /**
249
+ * List project orders
250
+ * @description An order awaiting payment shows what is outstanding. Paying it is done from the billing
251
+ * centre by the account owner.
252
+ */
253
+ get: operations["list-project-orders"];
254
+ put?: never;
255
+ post?: never;
256
+ delete?: never;
257
+ options?: never;
258
+ head?: never;
259
+ patch?: never;
260
+ trace?: never;
261
+ };
262
+ "/api/v1/projects/{projectId}/orders/{orderId}": {
263
+ parameters: {
264
+ query?: never;
265
+ header?: never;
266
+ path: {
267
+ projectId: components["parameters"]["ProjectId"];
268
+ orderId: components["parameters"]["OrderId"];
269
+ };
270
+ cookie?: never;
271
+ };
272
+ /** Get project order */
273
+ get: operations["get-project-order"];
274
+ put?: never;
275
+ post?: never;
276
+ delete?: never;
277
+ options?: never;
278
+ head?: never;
279
+ patch?: never;
280
+ trace?: never;
281
+ };
282
+ "/api/v1/projects/{projectId}/active-resources": {
283
+ parameters: {
284
+ query?: never;
285
+ header?: never;
286
+ path: {
287
+ projectId: components["parameters"]["ProjectId"];
288
+ };
289
+ cookie?: never;
290
+ };
291
+ /**
292
+ * List project active resources
293
+ * @description A resource that is running but does not appear here is not being charged for.
294
+ */
295
+ get: operations["list-project-active-resources"];
296
+ put?: never;
297
+ post?: never;
298
+ delete?: never;
299
+ options?: never;
300
+ head?: never;
301
+ patch?: never;
302
+ trace?: never;
303
+ };
304
+ "/api/v1/projects/{projectId}/quotes": {
305
+ parameters: {
306
+ query?: never;
307
+ header?: never;
308
+ path: {
309
+ projectId: components["parameters"]["ProjectId"];
310
+ };
311
+ cookie?: never;
312
+ };
313
+ get?: never;
314
+ put?: never;
315
+ /**
316
+ * Quote for a project
317
+ * @description Priced in the project billing account's currency, and at any rate negotiated for that account.
318
+ * Nothing is reserved and nothing is recorded, so this may be called as often as required.
319
+ *
320
+ * Prices may change between quoting and ordering. An order is charged at the price in
321
+ * effect when it is placed, so a quote should be refreshed before a final confirmation is
322
+ * shown.
323
+ *
324
+ * A renewal is priced exactly as renewing would charge it: at the agreed amount or the price
325
+ * named, with the discounts the account holds, and with tax.
326
+ *
327
+ * A cancellation is quoted as creating it would compute the refund, as of now and under the refund
328
+ * terms agreed when each subscription was bought. It is quoted on its own: combined with lines or
329
+ * renewals the request is refused with HTTP 400 `BILLING_PURCHASE_INVALID` and `meta.field`
330
+ * `cancellation`. It is refused with the same errors as creating the cancellation, except that the
331
+ * amount is not checked. Give the returned `cancellation.proration_date` and
332
+ * `cancellation.refundable_amount` when creating it.
333
+ *
334
+ * Returns 404 when the project has no billing account, or when a subscription to be renewed or
335
+ * canceled does not belong to this project.
336
+ */
337
+ post: operations["create-project-quote"];
338
+ delete?: never;
339
+ options?: never;
340
+ head?: never;
341
+ patch?: never;
342
+ trace?: never;
343
+ };
344
+ "/api/v1/projects/{projectId}/orders/{orderId}/items": {
345
+ parameters: {
346
+ query?: never;
347
+ header?: never;
348
+ path: {
349
+ projectId: components["parameters"]["ProjectId"];
350
+ orderId: components["parameters"]["OrderId"];
351
+ };
352
+ cookie?: never;
353
+ };
354
+ /** List project order items */
355
+ get: operations["list-project-order-items"];
356
+ put?: never;
357
+ post?: never;
358
+ delete?: never;
359
+ options?: never;
360
+ head?: never;
361
+ patch?: never;
362
+ trace?: never;
363
+ };
364
+ "/api/v1/projects/{projectId}/allowances": {
365
+ parameters: {
366
+ query?: never;
367
+ header?: never;
368
+ path: {
369
+ projectId: components["parameters"]["ProjectId"];
370
+ };
371
+ cookie?: never;
372
+ };
373
+ /**
374
+ * List project allowances
375
+ * @description These belong to the project's billing account and are shared with every other project linked to it,
376
+ * so what is left here may be consumed elsewhere.
377
+ */
378
+ get: operations["list-project-allowances"];
379
+ put?: never;
380
+ post?: never;
381
+ delete?: never;
382
+ options?: never;
383
+ head?: never;
384
+ patch?: never;
385
+ trace?: never;
386
+ };
387
+ "/api/v1/projects/{projectId}/entitlements": {
388
+ parameters: {
389
+ query?: never;
390
+ header?: never;
391
+ path: {
392
+ projectId: components["parameters"]["ProjectId"];
393
+ };
394
+ cookie?: never;
395
+ };
396
+ /**
397
+ * List project entitlements
398
+ * @description Includes capabilities bought for this project and those the project's billing account holds at
399
+ * account level.
400
+ *
401
+ * Where a capability counts uses, `remaining_quantity` states how much is left. Whether
402
+ * exceeding it refuses the request or simply continues to be charged for is decided by
403
+ * the service that owns the capability.
404
+ */
405
+ get: operations["list-project-entitlements"];
406
+ put?: never;
407
+ post?: never;
408
+ delete?: never;
409
+ options?: never;
410
+ head?: never;
411
+ patch?: never;
412
+ trace?: never;
413
+ };
414
+ }
415
+ export type webhooks = Record<string, never>;
416
+ export interface components {
417
+ schemas: {
418
+ /**
419
+ * @description Whether a fulfilled purchase may end immediately or only after its paid term. Does not grant a refund. When absent, the terms are not configured and termination requires review.
420
+ * @enum {string}
421
+ */
422
+ TerminationPolicy: "immediate" | "period_end";
423
+ /**
424
+ * @description Prorated returns the unused value of paid service periods using integer-second duration ratios. Setup fees are excluded. Tax and funds follow the original invoice and payment sources.
425
+ * @enum {string}
426
+ */
427
+ RefundPolicy: "none" | "prorated";
428
+ /**
429
+ * @description A cancellation to quote: what ending these subscriptions together would return. One mode per
430
+ * request; to compare, quote `immediate` and `period_end` separately.
431
+ */
432
+ QuoteCancellation: {
433
+ /** @description The subscriptions to end together, all of one service. Every subscription released with a resource must be included. */
434
+ subscription_ids: string[];
435
+ mode: components["schemas"]["TerminationPolicy"];
436
+ };
437
+ /**
438
+ * @description What the cancellation would return, subscription by subscription and in total, as of now. Give
439
+ * `proration_date` and `refundable_amount` when creating the cancellation.
440
+ *
441
+ * - `unused_amount`: before tax, the value of the paid service still unused, whatever the refund
442
+ * terms say.
443
+ * - `refundable_amount`: what is returned the way it was paid, including the tax paid on it;
444
+ * `refund_amount` plus `credit_amount`.
445
+ * - `refund_amount`: the part returned to the balance or to the payment method.
446
+ * - `credit_amount`: the part restored to the credit grants that paid.
447
+ * - `tax_amount`: the tax included in `refundable_amount`.
448
+ * - `forfeited_amount`: before tax, the part of `unused_amount` the refund terms do not return.
449
+ *
450
+ * Postpaid and one-time subscriptions show zero; usage until release is charged as usual.
451
+ */
452
+ CancellationRefundPreview: {
453
+ mode: components["schemas"]["TerminationPolicy"];
454
+ /**
455
+ * Format: date-time
456
+ * @description For `period_end`, when release begins, the end of the paid terms.
457
+ */
458
+ scheduled_at?: string;
459
+ /**
460
+ * Format: date-time
461
+ * @description For `immediate`, the second the refund is computed as of. Give it when creating the cancellation.
462
+ */
463
+ proration_date?: string;
464
+ currency: string;
465
+ unused_amount: components["schemas"]["Money"];
466
+ refundable_amount: components["schemas"]["Money"];
467
+ refund_amount: components["schemas"]["Money"];
468
+ credit_amount: components["schemas"]["Money"];
469
+ tax_amount: components["schemas"]["Money"];
470
+ forfeited_amount: components["schemas"]["Money"];
471
+ items: components["schemas"]["CancellationRefundPreviewItem"][];
472
+ };
473
+ /** @description One subscription of the quoted cancellation. The amounts mean what they mean in the total. */
474
+ CancellationRefundPreviewItem: {
475
+ /** Format: uuid */
476
+ subscription_id: string;
477
+ /** Format: uuid */
478
+ plan_id: string;
479
+ plan_name: string;
480
+ /** @description The project and its current name, for display. Absent for a purchase at account level, and when the project details cannot be read at the moment. */
481
+ project?: components["schemas"]["NamedIdentity"] | null;
482
+ /** @enum {string} */
483
+ billing_type: "postpaid" | "prepaid" | "one_time";
484
+ /**
485
+ * @description Whether automatic renewal is on now. Creating the cancellation turns it off, and withdrawing
486
+ * the cancellation does not turn it back on. Always false for a subscription that is not
487
+ * `prepaid`.
488
+ */
489
+ auto_renew: boolean;
490
+ unused_amount: components["schemas"]["Money"];
491
+ refundable_amount: components["schemas"]["Money"];
492
+ refund_amount: components["schemas"]["Money"];
493
+ credit_amount: components["schemas"]["Money"];
494
+ tax_amount: components["schemas"]["Money"];
495
+ forfeited_amount: components["schemas"]["Money"];
496
+ };
497
+ CancellationCreate: {
498
+ /** @description As in the quote. */
499
+ subscription_ids: string[];
500
+ mode: components["schemas"]["TerminationPolicy"];
501
+ /**
502
+ * Format: date-time
503
+ * @description For `immediate`, the `proration_date` of the quote: a whole second, not in the future and
504
+ * at most ten minutes old. The refund is computed as of it. Now when omitted.
505
+ */
506
+ proration_date?: string;
507
+ /** @description The `refundable_amount` of the quote. The cancellation is refused when the refund differs. */
508
+ expected_refundable_amount: string;
509
+ /** @description A note from the account holder. It is kept with the cancellation and not shown elsewhere. */
510
+ reason?: string;
511
+ };
512
+ /**
513
+ * @description One cancellation of a set of subscriptions of one service, released together at one time.
514
+ *
515
+ * - `requested`: `immediate`, release has not begun.
516
+ * - `scheduled`: `period_end`, waiting for `scheduled_at`.
517
+ * - `releasing`: release has begun; it can no longer be withdrawn.
518
+ * - `completed`: every subscription has ended and its refund has been made.
519
+ * - `canceled`: withdrawn before release began; the subscriptions continue.
520
+ * - `failed`: the service could not carry it out, for the reason in `failure_code`; the
521
+ * subscriptions continue and can be canceled again.
522
+ */
523
+ Cancellation: {
524
+ /** Format: uuid */
525
+ id: string;
526
+ /** @enum {string} */
527
+ status: "requested" | "scheduled" | "releasing" | "completed" | "canceled" | "failed";
528
+ mode: components["schemas"]["TerminationPolicy"];
529
+ /** Format: date-time */
530
+ scheduled_at?: string;
531
+ /**
532
+ * Format: date-time
533
+ * @description For `immediate`, the second the refund is computed as of.
534
+ */
535
+ proration_date?: string;
536
+ /**
537
+ * @description Who asked for it. `project_deletion` means the project was deleted.
538
+ * @enum {string}
539
+ */
540
+ origin: "customer" | "operator" | "project_deletion";
541
+ /**
542
+ * Format: int64
543
+ * @description The billing account that paid for these subscriptions when the cancellation was created: the
544
+ * account of an account-level purchase, or the account the project was linked to.
545
+ */
546
+ billing_account_id: number;
547
+ currency: string;
548
+ /** @description The refund confirmed when it was created. Absent when the platform created it. */
549
+ expected_refundable_amount?: components["schemas"]["Money"];
550
+ /**
551
+ * @description Present with `failed`. A code of the service that provides the resources, such as a disk
552
+ * that can only be released with its server. Clients map it to their own wording.
553
+ */
554
+ failure_code?: string;
555
+ /** Format: date-time */
556
+ requested_at: string;
557
+ /** Format: date-time */
558
+ completed_at?: string;
559
+ /** Format: date-time */
560
+ canceled_at?: string;
561
+ items: components["schemas"]["CancellationItem"][];
562
+ };
563
+ /** @description One subscription of the cancellation. */
564
+ CancellationItem: {
565
+ /**
566
+ * Format: uuid
567
+ * @description The cancellation request of this subscription, the same as `Subscription.cancellation_request.id`.
568
+ */
569
+ id: string;
570
+ /** Format: uuid */
571
+ subscription_id: string;
572
+ /** Format: uuid */
573
+ plan_id: string;
574
+ plan_name: string;
575
+ /**
576
+ * @description How the subscription is paid for. Only a `prepaid` subscription renews automatically; creating
577
+ * the cancellation turned that off, and withdrawing the cancellation leaves it off.
578
+ * @enum {string}
579
+ */
580
+ billing_type: "postpaid" | "prepaid" | "one_time";
581
+ /** @enum {string} */
582
+ status: "requested" | "scheduled" | "releasing" | "completed" | "canceled" | "failed";
583
+ /** Format: date-time */
584
+ release_started_at?: string;
585
+ /**
586
+ * Format: date-time
587
+ * @description When the service ended, as confirmed by the service that provides it.
588
+ */
589
+ effective_at?: string;
590
+ /** @description Present with `completed`. The part of the refund returned to the account balance. */
591
+ balance_amount?: components["schemas"]["Money"];
592
+ /** @description Present with `completed`. The part restored to the credit grants that paid. */
593
+ credit_amount?: components["schemas"]["Money"];
594
+ /** @description Present with `completed`. The part returned to the payment method it was paid with. */
595
+ gateway_amount?: components["schemas"]["Money"];
596
+ };
597
+ CancellationList: {
598
+ items: components["schemas"]["Cancellation"][];
599
+ pagination: components["schemas"]["OffsetPagination"];
600
+ };
601
+ /** @description A cancellation request for the original purchase. scheduled_at is the intended time; effective_at is the confirmed end of service. The request alone does not stop metering or issue a refund. */
602
+ CancellationRequest: {
603
+ reason?: string;
604
+ /**
605
+ * Format: uuid
606
+ * @description The cancellation this request belongs to, with the other subscriptions released together.
607
+ */
608
+ cancellation_id?: string;
609
+ /** Format: uuid */
610
+ id: string;
611
+ /** Format: uuid */
612
+ subscription_id: string;
613
+ /** @enum {string} */
614
+ status: "requested" | "scheduled" | "releasing" | "failed" | "completed" | "canceled";
615
+ /** @enum {string} */
616
+ mode: "immediate" | "period_end";
617
+ /** Format: date-time */
618
+ requested_at: string;
619
+ /** Format: date-time */
620
+ scheduled_at?: string;
621
+ /** Format: date-time */
622
+ effective_at?: string;
623
+ /** Format: date-time */
624
+ completed_at?: string;
625
+ /** Format: date-time */
626
+ release_started_at?: string;
627
+ /** Format: date-time */
628
+ canceled_at?: string;
629
+ forfeit_remaining_value: boolean;
630
+ failure_code?: string;
631
+ failure_reason?: string;
632
+ };
633
+ Error: {
634
+ code?: string;
635
+ message: string;
636
+ /**
637
+ * @description What a given `code` carries alongside the message. The keys depend on the code,
638
+ * and a client that does not recognise one ignores it.
639
+ */
640
+ meta?: {
641
+ [key: string]: unknown;
642
+ };
643
+ /** Format: int64 */
644
+ status: number;
645
+ };
646
+ Product: {
647
+ id: components["schemas"]["ProductID"];
648
+ name: string;
649
+ description?: string;
650
+ };
651
+ /** @description Immutable platform service identifier, such as compute, canopy or assistant. */
652
+ ProductID: string;
653
+ /**
654
+ * @description Identify a price directly, or select a price for a plan. For each resource give its ID or lookup key, never both. Lookup keys require product_id.
655
+ *
656
+ * A line that gives a meter, `dimensions` or `duration_seconds` estimates usage and is
657
+ * priced only at a postpaid price. Such a line is refused with HTTP 400
658
+ * `BILLING_PURCHASE_INVALID` when `price_type` is `prepaid` or `one_time`, or when the price
659
+ * it names is not postpaid; `meta.field` is `price_type`, `price_id` or `price_lookup_key`
660
+ * accordingly. When the plan has no postpaid price, the line is returned unpriced with
661
+ * `no_price`.
662
+ */
663
+ QuoteLine: {
664
+ price_lookup_key?: string;
665
+ plan_lookup_key?: string;
666
+ meter_lookup_key?: string;
667
+ /** Format: uuid */
668
+ price_id?: string;
669
+ product_id?: components["schemas"]["ProductID"];
670
+ /** Format: uuid */
671
+ plan_id?: string;
672
+ /** Format: uuid */
673
+ meter_id?: string;
674
+ /**
675
+ * @description The attributes the price depends on — region, instance type, token class.
676
+ *
677
+ * Required when the price draws its rates from a price list, which is how anything
678
+ * sold by region or by machine type is priced. A price that carries a single unit
679
+ * amount, or a ladder, has no attributes to give and takes none.
680
+ *
681
+ * Every attribute the meter declares must be present. A combination with no rate
682
+ * covering it is refused rather than priced at zero.
683
+ */
684
+ dimensions?: {
685
+ [key: string]: string;
686
+ };
687
+ /**
688
+ * @description Narrows the selection when a plan offers more than one billing type.
689
+ * @enum {string}
690
+ */
691
+ price_type?: "postpaid" | "prepaid" | "one_time";
692
+ /** @enum {string} */
693
+ interval?: "none" | "day" | "month" | "year";
694
+ interval_count?: number;
695
+ quantity: string;
696
+ /**
697
+ * Format: int64
698
+ * @description For metered items, how long to price for. This allows an estimate such as "about
699
+ * this much per month" to be shown before anything exists. The priced quantity is
700
+ * `quantity` multiplied by this duration.
701
+ */
702
+ duration_seconds?: number;
703
+ };
704
+ /**
705
+ * @description Price renewing a prepaid subscription. Give `price_id`, or `interval` with
706
+ * `interval_count`, to renew for another term at the price currently sold for it. Naming
707
+ * the current term, or giving neither, renews at the agreed amount.
708
+ */
709
+ QuoteRenewal: {
710
+ /** Format: uuid */
711
+ subscription_id: string;
712
+ /** Format: uuid */
713
+ price_id?: string;
714
+ /** @enum {string} */
715
+ interval?: "day" | "month" | "year";
716
+ interval_count?: number;
717
+ /**
718
+ * @description How many consecutive periods to renew for.
719
+ * @default 1
720
+ */
721
+ periods?: number;
722
+ };
723
+ /**
724
+ * @description Specify lines for new purchases and renewals for existing subscriptions, or one cancellation on
725
+ * its own. The total includes all requested lines and renewals.
726
+ */
727
+ QuoteRequest: {
728
+ lines?: components["schemas"]["QuoteLine"][];
729
+ renewals?: components["schemas"]["QuoteRenewal"][];
730
+ cancellation?: components["schemas"]["QuoteCancellation"];
731
+ };
732
+ QuoteLineResult: {
733
+ /** @description Tax included in the account quote. Absent in public catalogue estimates. */
734
+ tax_amount?: components["schemas"]["Money"];
735
+ /** @description Tax already included in the displayed price. */
736
+ tax_included_amount?: components["schemas"]["Money"];
737
+ /** @description Which line of the request this answers. */
738
+ index: number;
739
+ /**
740
+ * @description Whether a price was found for this line. Read this before anything else.
741
+ *
742
+ * A single item with no price no longer fails the whole request. A catalogue
743
+ * almost always has something not yet priced, and refusing the request would
744
+ * leave no way to render a list in which a few entries are simply not on sale.
745
+ *
746
+ * When false, `price_id`, `unit_amount` and `amount` are absent and
747
+ * `unpriced_reason` states what is missing.
748
+ */
749
+ priced: boolean;
750
+ /**
751
+ * @description Why no price was found; `none` while `priced` is true.
752
+ *
753
+ * The last four are told apart because their remedies differ: the price points
754
+ * at no price list, the list holds no rate for that meter, that exact combination
755
+ * of attributes is not configured, or it is configured but nothing is in effect
756
+ * at the moment asked about.
757
+ * @enum {string}
758
+ */
759
+ unpriced_reason?: "none" | "no_price" | "no_rate_card" | "no_meter" | "no_dimensions" | "no_effective_rule";
760
+ /**
761
+ * Format: uuid
762
+ * @description The price selected. Returned whenever `priced` is true, including when the
763
+ * request identified the item indirectly, so that the choice can be confirmed.
764
+ */
765
+ price_id?: string;
766
+ plan_name?: string;
767
+ unit_amount?: components["schemas"]["Money"];
768
+ /**
769
+ * @description The quantity actually priced. When `duration_seconds` is given, it is the requested
770
+ * `quantity` multiplied by that duration.
771
+ */
772
+ quantity?: string;
773
+ /** @description Not rounded. Round only for display. */
774
+ amount?: components["schemas"]["Money"];
775
+ currency: string;
776
+ };
777
+ /**
778
+ * @description What renewing would charge. Renewing the same subscription for the same term and number
779
+ * of periods charges exactly `total`, unless prices or the discounts the account holds
780
+ * change in between.
781
+ */
782
+ QuoteRenewalResult: {
783
+ /** @description Which renewal of the request this answers. */
784
+ index: number;
785
+ /** Format: uuid */
786
+ subscription_id: string;
787
+ /**
788
+ * Format: uuid
789
+ * @description The price the renewal is charged under.
790
+ */
791
+ price_id: string;
792
+ /** @enum {string} */
793
+ interval: "day" | "month" | "year";
794
+ interval_count: number;
795
+ periods: number;
796
+ /**
797
+ * @description The price of the periods before the discounts the account holds. A discount the
798
+ * subscription already carries is reflected here. Contains tax only where the price
799
+ * itself includes it.
800
+ */
801
+ amount: components["schemas"]["Money"];
802
+ /** @description The reduction from a discount the account holds. */
803
+ discount_amount: components["schemas"]["Money"];
804
+ /** @description Tax on the discounted amount. */
805
+ tax_amount: components["schemas"]["Money"];
806
+ /** @description The part of `tax_amount` already contained in `amount`. */
807
+ tax_included_amount: components["schemas"]["Money"];
808
+ /**
809
+ * @description What renewing would charge: `amount` less `discount_amount`, plus `tax_amount`, less
810
+ * `tax_included_amount`.
811
+ */
812
+ total: components["schemas"]["Money"];
813
+ };
814
+ Quote: {
815
+ lines?: components["schemas"]["QuoteLineResult"][];
816
+ renewals?: components["schemas"]["QuoteRenewalResult"][];
817
+ /** @description What the cancellation requested would return. Present only when one was requested. */
818
+ cancellation?: components["schemas"]["CancellationRefundPreview"];
819
+ /**
820
+ * @description What would be owed in total, renewals included. Amounts to be returned are not netted
821
+ * off it: a quote of a cancellation alone has a total of zero, and what it would return is
822
+ * in `cancellation`.
823
+ *
824
+ * Null when any line could not be priced. What would be owed is not knowable then, and a
825
+ * total that silently left the unpriced lines out would read as a smaller bill rather than
826
+ * an incomplete one — the per-line `priced` flag is easy to skip, a missing total is not.
827
+ */
828
+ total?: components["schemas"]["Money"] | null;
829
+ currency: string;
830
+ };
831
+ /**
832
+ * @description A narrow view of the project's billing account, restricted to what a project member needs in order
833
+ * to know whether the project's resources will keep running.
834
+ */
835
+ ProjectBillingAccount: {
836
+ /**
837
+ * Format: int64
838
+ * @description Identifies the billing account. Use it to link into the billing centre.
839
+ */
840
+ billing_account_id: number;
841
+ name: string;
842
+ /**
843
+ * @description Everything this project is charged is in this currency, and it cannot change while
844
+ * the account exists.
845
+ */
846
+ currency: string;
847
+ /**
848
+ * @description What remains to be spent. It already accounts for this month's uninvoiced usage, so
849
+ * it is what will be available at checkout rather than the balance shown in the
850
+ * billing centre. It goes negative when usage has exceeded the balance.
851
+ */
852
+ spendable_amount: components["schemas"]["Money"];
853
+ /**
854
+ * @description `active` — nothing is owed. `past_due` — the account owes money and resources are
855
+ * still running. `suspended` — resources have been stopped for non-payment.
856
+ * @enum {string}
857
+ */
858
+ status: "active" | "past_due" | "suspended";
859
+ /**
860
+ * Format: date-time
861
+ * @description When this project's resources will be stopped unless the account is topped up.
862
+ * Absent while `status` is `active`.
863
+ */
864
+ suspends_at?: string | null;
865
+ };
866
+ AccountIdentity: {
867
+ /** Format: int64 */
868
+ id: number;
869
+ name: string;
870
+ currency: string;
871
+ };
872
+ /**
873
+ * @description `refunded` means the invoice was paid and has since been refunded in full; a partial refund
874
+ * leaves it `paid`, with the refunded part in `amount_refunded`.
875
+ *
876
+ * `void` means the invoice will not be paid and holds no money: nothing was paid, or its order
877
+ * failed or was canceled and everything paid toward it has been returned.
878
+ * @enum {string}
879
+ */
880
+ InvoiceStatus: "draft" | "open" | "paid" | "refunded" | "void" | "uncollectible";
881
+ UsageCharge: {
882
+ /** Format: uuid */
883
+ subscription_id?: string;
884
+ /** Format: uuid */
885
+ id: string;
886
+ /** Format: uuid */
887
+ project_id?: string;
888
+ /**
889
+ * @description The project and its current name, for display. Absent when the project no longer exists or its
890
+ * details cannot be read at the moment; `project_id` still identifies it.
891
+ */
892
+ project?: components["schemas"]["NamedIdentity"] | null;
893
+ product: components["schemas"]["Product"];
894
+ /** @description Which resource this was charged for. Empty for charges not tied to one. */
895
+ resource_id?: string;
896
+ meter: components["schemas"]["ObjectIdentity"];
897
+ unit?: string;
898
+ /** @description The attributes the rate was chosen by, such as region and machine type. */
899
+ dimensions?: {
900
+ [key: string]: string;
901
+ };
902
+ /** Format: date-time */
903
+ window_start: string;
904
+ /**
905
+ * Format: date-time
906
+ * @description Exclusive.
907
+ */
908
+ window_end: string;
909
+ /** @description How much was used, before any included allowance. */
910
+ gross_quantity?: string;
911
+ /** @description How much of that was covered by an allowance. */
912
+ deducted_quantity?: string;
913
+ /** @description What was charged for — the gross quantity less the part covered. */
914
+ quantity: string;
915
+ unit_amount?: components["schemas"]["Money"];
916
+ amount?: components["schemas"]["Money"];
917
+ currency: string;
918
+ /**
919
+ * Format: uuid
920
+ * @description Absent until the period is invoiced.
921
+ */
922
+ invoice_id?: string | null;
923
+ };
924
+ UsageChargeList: {
925
+ items: components["schemas"]["UsageCharge"][];
926
+ pagination: components["schemas"]["OffsetPagination"];
927
+ };
928
+ SpendRow: {
929
+ product?: components["schemas"]["Product"];
930
+ /** Format: uuid */
931
+ plan_id?: string;
932
+ plan_name?: string;
933
+ /** @description Present only when grouped by resource. */
934
+ resource_id?: string;
935
+ amount: components["schemas"]["Money"];
936
+ currency: string;
937
+ };
938
+ SpendRowList: {
939
+ items: components["schemas"]["SpendRow"][];
940
+ /** @description The sum over the whole period, not only the page returned. */
941
+ total: components["schemas"]["Money"];
942
+ currency: string;
943
+ pagination: components["schemas"]["OffsetPagination"];
944
+ };
945
+ SubscriptionList: {
946
+ items: components["schemas"]["Subscription"][];
947
+ pagination: components["schemas"]["OffsetPagination"];
948
+ };
949
+ /** @description An independently billed purchase. Fixed renewals use the agreed recurring_amount and interval; already paid periods retain their original value. Technical state belongs to the owning service. */
950
+ Subscription: {
951
+ currency: string;
952
+ /** @enum {string} */
953
+ billing_type: "postpaid" | "prepaid" | "one_time";
954
+ /** @enum {string} */
955
+ interval: "none" | "day" | "month" | "year";
956
+ interval_count?: number;
957
+ /** @description Whole-subscription prepaid renewal amount, after continuing discounts and before tax. Absent for other billing types. */
958
+ recurring_amount?: string;
959
+ termination_policy?: components["schemas"]["TerminationPolicy"];
960
+ refund_policy?: components["schemas"]["RefundPolicy"];
961
+ /** Format: uuid */
962
+ order_item_id?: string;
963
+ /** Format: uuid */
964
+ replaces_subscription_id?: string;
965
+ /** Format: uuid */
966
+ coupon_id?: string;
967
+ coupon?: components["schemas"]["ObjectIdentity"];
968
+ discounted_renewals_remaining?: number;
969
+ suspend_reason?: string;
970
+ /** Format: date-time */
971
+ billing_cycle_anchor?: string;
972
+ cancellation_request?: components["schemas"]["CancellationRequest"];
973
+ /**
974
+ * @description How the purchase, or the latest renewal paid with a saved card, was paid. Automatic renewal
975
+ * tries this card after the account's balance and credits, and the account's default card after
976
+ * that.
977
+ */
978
+ paid_with?: components["schemas"]["PaidWith"];
979
+ /** Format: date-time */
980
+ created_at?: string;
981
+ /** Format: uuid */
982
+ id: string;
983
+ /**
984
+ * Format: int64
985
+ * @description The billing account that made the purchase. Renewals of a project subscription are charged to the project's current billing account.
986
+ */
987
+ billing_account_id: number;
988
+ account: components["schemas"]["AccountIdentity"];
989
+ product_id: components["schemas"]["ProductID"];
990
+ /**
991
+ * Format: uuid
992
+ * @description Which project this is for. Absent when it was bought at account level, such as a
993
+ * membership, which belongs to no single project.
994
+ */
995
+ project_id?: string | null;
996
+ /**
997
+ * @description The project and its current name, for display. Absent for a purchase at account level,
998
+ * and when the project no longer exists or its details cannot be read at the moment;
999
+ * `project_id` still identifies it then.
1000
+ */
1001
+ project?: components["schemas"]["NamedIdentity"] | null;
1002
+ product: components["schemas"]["Product"];
1003
+ /** Format: uuid */
1004
+ plan_id: string;
1005
+ plan_name: string;
1006
+ /** Format: uuid */
1007
+ price_id: string;
1008
+ quantity: string;
1009
+ /**
1010
+ * Format: date-time
1011
+ * @description Present for prepaid items. Absent for metered ones, which have no end date.
1012
+ */
1013
+ paid_until?: string | null;
1014
+ auto_renew: boolean;
1015
+ /** @enum {string} */
1016
+ status: "pending" | "active" | "suspended" | "canceled" | "terminated";
1017
+ /** Format: date-time */
1018
+ started_at?: string | null;
1019
+ /** Format: date-time */
1020
+ ended_at?: string | null;
1021
+ };
1022
+ AutoRenewSet: {
1023
+ auto_renew: boolean;
1024
+ };
1025
+ /** @description A resource currently accruing charges by the second. */
1026
+ ActiveResource: {
1027
+ /** Format: uuid */
1028
+ id: string;
1029
+ /** Format: date-time */
1030
+ ended_at?: string;
1031
+ /** Format: date-time */
1032
+ suspended_at?: string;
1033
+ /** Format: date-time */
1034
+ state_changed_at?: string;
1035
+ /**
1036
+ * Format: uuid
1037
+ * @description The postpaid subscription charged for this metering record, including shared services.
1038
+ */
1039
+ subscription_id: string;
1040
+ resource_id: string;
1041
+ product: components["schemas"]["Product"];
1042
+ /** @description What it is, as its own service names it. */
1043
+ resource_type?: string;
1044
+ meter: components["schemas"]["ObjectIdentity"];
1045
+ unit?: string;
1046
+ /** @description How much is held — cores, MiB, cards. Not how much has been used. */
1047
+ quantity: string;
1048
+ dimensions?: {
1049
+ [key: string]: string;
1050
+ };
1051
+ /** @enum {string} */
1052
+ status: "active" | "suspended" | "closing" | "completed";
1053
+ /** Format: date-time */
1054
+ started_at: string;
1055
+ /**
1056
+ * Format: date-time
1057
+ * @description Usage has been generated up to this boundary; it does not imply invoicing or payment.
1058
+ */
1059
+ metered_until: string;
1060
+ };
1061
+ ActiveResourceList: {
1062
+ items: components["schemas"]["ActiveResource"][];
1063
+ pagination: components["schemas"]["OffsetPagination"];
1064
+ };
1065
+ /**
1066
+ * @description Follows the items. `pending` is not yet accepted and may be paid or unpaid. `active` is
1067
+ * accepted with items still being set up. `completed` means every item was set up.
1068
+ * `partially_completed` means some items were set up and the others failed and were
1069
+ * refunded to their original payment sources. `failed` means every item failed and the
1070
+ * whole order was refunded. `canceled` means the order was withdrawn before payment and
1071
+ * nothing was charged.
1072
+ * @enum {string}
1073
+ */
1074
+ OrderStatus: "pending" | "active" | "completed" | "partially_completed" | "failed" | "canceled";
1075
+ /**
1076
+ * @description `pending` is waiting to be set up. `completed` was confirmed by the service.
1077
+ * `failed` was not set up and its amount was refunded to the original payment sources.
1078
+ * `canceled` was withdrawn with its unpaid order. A completed item is ended by canceling
1079
+ * its subscription.
1080
+ * @enum {string}
1081
+ */
1082
+ OrderItemStatus: "pending" | "completed" | "failed" | "canceled";
1083
+ Order: {
1084
+ /** Format: uuid */
1085
+ coupon_id?: string;
1086
+ coupon?: components["schemas"]["ObjectIdentity"];
1087
+ /** Format: uuid */
1088
+ promotion_code_id?: string;
1089
+ /** @description Code text frozen when this order applied the coupon. */
1090
+ promotion_code?: string;
1091
+ invoice?: components["schemas"]["InvoiceSummary"];
1092
+ /** @description How the order was paid. Absent until it is paid. */
1093
+ paid_with?: components["schemas"]["PaidWith"];
1094
+ account?: components["schemas"]["AccountIdentity"];
1095
+ cancel_reason?: string;
1096
+ /** Format: date-time */
1097
+ change_effective_at?: string;
1098
+ /** Format: uuid */
1099
+ id: string;
1100
+ /**
1101
+ * Format: uuid
1102
+ * @description Which project it was bought for. Absent for a purchase made at account level, such
1103
+ * as a membership.
1104
+ */
1105
+ project_id?: string | null;
1106
+ /**
1107
+ * @description The project and its current name, for display. Absent for a purchase at account level,
1108
+ * and when the project no longer exists or its details cannot be read at the moment;
1109
+ * `project_id` still identifies it then.
1110
+ */
1111
+ project?: components["schemas"]["NamedIdentity"] | null;
1112
+ /**
1113
+ * Format: int64
1114
+ * @description The billing account the order was placed with. It does not change when the project is later
1115
+ * linked to another billing account. While this account is suspended or closed the order cannot
1116
+ * be accepted, and a change scheduled for the end of a period is not invoiced and is called off
1117
+ * when the current period ends; such requests fail with BILLING_ACCOUNT_UNAVAILABLE.
1118
+ */
1119
+ billing_account_id?: number;
1120
+ currency: string;
1121
+ /**
1122
+ * @description `adopt` brings a resource that already existed under billing. It charges nothing at
1123
+ * the time and starts billing from the moment agreed.
1124
+ * @enum {string}
1125
+ */
1126
+ type: "purchase" | "renew" | "change" | "adopt";
1127
+ status: components["schemas"]["OrderStatus"];
1128
+ /**
1129
+ * @description When a plan change takes effect. `none` on anything that is not a change.
1130
+ *
1131
+ * `period_end` orders stay pending until the first period at the new price is paid. That period
1132
+ * is invoiced shortly before the current paid period ends and starts when it ends; if the
1133
+ * invoice is still unpaid by then, the order is canceled and the subscription renews or ends as
1134
+ * usual. Renewing in the meantime moves all of this along with it.
1135
+ * @enum {string}
1136
+ */
1137
+ change_effective?: "none" | "immediate" | "period_end";
1138
+ /**
1139
+ * Format: date-time
1140
+ * @description Acceptance deadline. Only pending orders expire automatically.
1141
+ */
1142
+ expires_at?: string | null;
1143
+ /** Format: date-time */
1144
+ created_at: string;
1145
+ /**
1146
+ * @description What was bought. Present on a single order and on every order in a list, so a list
1147
+ * can be rendered without a further request per row.
1148
+ */
1149
+ items: components["schemas"]["OrderItem"][];
1150
+ };
1151
+ OrderList: {
1152
+ items: components["schemas"]["Order"][];
1153
+ pagination: components["schemas"]["OffsetPagination"];
1154
+ };
1155
+ /**
1156
+ * @description How it was paid, as recorded at the time. It is kept as it was: removing the card afterwards
1157
+ * does not change it, and `payment_method_id` may then name a card that no longer exists.
1158
+ */
1159
+ PaidWith: {
1160
+ /**
1161
+ * @description `balance` when the account's balance and credits covered it in full. Otherwise the method used
1162
+ * with the gateway, such as `card`.
1163
+ */
1164
+ method_type: string;
1165
+ /** @description The gateway that collected it. Absent when `method_type` is `balance`. */
1166
+ payment_gateway?: string;
1167
+ /**
1168
+ * Format: uuid
1169
+ * @description The saved payment method that was charged, when one was.
1170
+ */
1171
+ payment_method_id?: string;
1172
+ brand?: string;
1173
+ last4?: string;
1174
+ };
1175
+ /** @description Frozen purchase terms. Monetary fields come from related invoice-line snapshots and are absent when there is no immediate invoice. Later catalog changes do not reprice this line. */
1176
+ OrderItem: {
1177
+ position?: number;
1178
+ configuration?: {
1179
+ [key: string]: unknown;
1180
+ };
1181
+ /** Format: uuid */
1182
+ subscription_id?: string;
1183
+ /** @enum {string} */
1184
+ interval: "none" | "day" | "month" | "year";
1185
+ interval_count?: number;
1186
+ termination_policy?: components["schemas"]["TerminationPolicy"];
1187
+ refund_policy?: components["schemas"]["RefundPolicy"];
1188
+ completes_on_payment: boolean;
1189
+ recurring_amount?: string;
1190
+ setup_amount?: string;
1191
+ /**
1192
+ * @description The payment timing of the selected price.
1193
+ * @enum {string}
1194
+ */
1195
+ billing_type: "postpaid" | "prepaid" | "one_time";
1196
+ /** @description Total tax after discounts, including any tax already included in the price. */
1197
+ tax_amount?: string;
1198
+ /** @description The part of tax_amount already included in gross_amount; it is not charged again. */
1199
+ tax_included_amount?: string;
1200
+ /** Format: uuid */
1201
+ id: string;
1202
+ /** Format: uuid */
1203
+ order_id?: string;
1204
+ /** Format: uuid */
1205
+ price_id: string;
1206
+ /** @description Which service this line belongs to. */
1207
+ product_id?: components["schemas"]["ProductID"];
1208
+ product?: components["schemas"]["Product"];
1209
+ /**
1210
+ * Format: uuid
1211
+ * @description Which plan was bought.
1212
+ */
1213
+ plan_id: string;
1214
+ /**
1215
+ * @description What it was called when bought. It does not follow later catalogue renames and is
1216
+ * not translated.
1217
+ */
1218
+ plan_name: string;
1219
+ quantity: string;
1220
+ /**
1221
+ * @description The unit amount of the price this line is charged under. Absent for a tiered price, which has no
1222
+ * single unit amount, and for a change that takes effect at once, which is charged the prorated
1223
+ * difference.
1224
+ */
1225
+ unit_amount?: components["schemas"]["Money"];
1226
+ /**
1227
+ * @description Before discounts: the price applied to the quantity, which for a per-unit price is `unit_amount`
1228
+ * times `quantity`; a minimum charge can make it higher. For a change that takes effect at once it is
1229
+ * the prorated difference. The setup fee is not part of it; see `setup_amount`.
1230
+ *
1231
+ * Under an inclusive tax rate it includes tax, as the price does, and the included part is
1232
+ * `tax_included_amount`. A renewal at the agreed terms is the exception: the agreed amount excludes
1233
+ * tax, and tax is added to it.
1234
+ */
1235
+ gross_amount?: components["schemas"]["Money"];
1236
+ /**
1237
+ * @description The reduction on this line: from the coupon the order uses and, for a renewal at the agreed terms,
1238
+ * from the discount the subscription carries.
1239
+ *
1240
+ * A carried discount is part of the agreed amount. It is listed here, and `gross_amount` is then
1241
+ * `unit_amount` times `quantity`, except in two cases where `gross_amount` is the agreed amount and
1242
+ * the carried discount is already reflected in it: the renewal order also uses a coupon the account
1243
+ * holds, or the account's tax rate is inclusive.
1244
+ */
1245
+ discount_amount?: components["schemas"]["Money"];
1246
+ /** @description `gross_amount` less `discount_amount`. */
1247
+ amount?: components["schemas"]["Money"];
1248
+ currency: string;
1249
+ /** Format: date-time */
1250
+ period_start?: string | null;
1251
+ /** Format: date-time */
1252
+ period_end?: string | null;
1253
+ status: components["schemas"]["OrderItemStatus"];
1254
+ };
1255
+ OrderItemList: {
1256
+ items: components["schemas"]["OrderItem"][];
1257
+ pagination: components["schemas"]["OffsetPagination"];
1258
+ };
1259
+ Allowance: {
1260
+ /** @description Optional issuance key, unique within this billing account. */
1261
+ idempotency_key?: string;
1262
+ /** Format: uuid */
1263
+ subscription_id?: string;
1264
+ /** Format: uuid */
1265
+ id: string;
1266
+ /** Format: int64 */
1267
+ billing_account_id?: number;
1268
+ product: components["schemas"]["Product"];
1269
+ meter: components["schemas"]["ObjectIdentity"];
1270
+ /** @description The unit it is counted in, such as `MiB`. */
1271
+ unit?: string;
1272
+ /**
1273
+ * @description `included` came with a recurring purchase and ends with its subscription, `promotional` was
1274
+ * granted.
1275
+ * @enum {string}
1276
+ */
1277
+ source_type: "included" | "promotional";
1278
+ name: string;
1279
+ /** @description How much was granted. */
1280
+ quantity: string;
1281
+ /** @description How much is left. */
1282
+ remaining_quantity: string;
1283
+ /**
1284
+ * @description Lower values are consumed first. At equal priority, earlier expiry and then earlier issuance take
1285
+ * precedence.
1286
+ */
1287
+ priority?: number;
1288
+ /** @enum {string} */
1289
+ status: "active" | "depleted" | "expired" | "voided";
1290
+ /** Format: date-time */
1291
+ valid_from: string;
1292
+ /**
1293
+ * Format: date-time
1294
+ * @description When it lapses. Anything unused at that point is lost; it is not refunded and does
1295
+ * not carry over. Absent when it does not expire on its own.
1296
+ */
1297
+ valid_until?: string | null;
1298
+ };
1299
+ AllowanceList: {
1300
+ items: components["schemas"]["Allowance"][];
1301
+ pagination: components["schemas"]["OffsetPagination"];
1302
+ };
1303
+ Entitlement: {
1304
+ product: components["schemas"]["Product"];
1305
+ feature: components["schemas"]["ObjectIdentity"];
1306
+ name?: string;
1307
+ enabled: boolean;
1308
+ /**
1309
+ * Format: date-time
1310
+ * @description When the subscription providing it ends. Absent for a metered subscription, which
1311
+ * has no end date.
1312
+ */
1313
+ expires_at?: string | null;
1314
+ };
1315
+ EntitlementList: {
1316
+ items: components["schemas"]["Entitlement"][];
1317
+ pagination: components["schemas"]["OffsetPagination"];
1318
+ };
1319
+ /** @description Purchase-related invoice amounts, without account contact details or payment methods. Absent on an order with no immediate invoice. */
1320
+ InvoiceSummary: {
1321
+ /** Format: uuid */
1322
+ id: string;
1323
+ number?: string;
1324
+ currency: string;
1325
+ status: components["schemas"]["InvoiceStatus"];
1326
+ /**
1327
+ * @description Sum of the line amounts before discounts. Where prices include tax, the tax contained in
1328
+ * each line's discounted amount is taken out here, so that total = subtotal -
1329
+ * discount_amount + tax_amount always holds.
1330
+ */
1331
+ subtotal: string;
1332
+ /** @description Sum of the line discounts, taken off before tax. */
1333
+ discount_amount: string;
1334
+ tax_amount: string;
1335
+ total: string;
1336
+ amount_paid: string;
1337
+ amount_refunded: string;
1338
+ /** Format: date-time */
1339
+ due_at?: string;
1340
+ };
1341
+ /** @description A catalog object inlined for display. */
1342
+ ObjectIdentity: {
1343
+ lookup_key?: string;
1344
+ /** Format: uuid */
1345
+ id: string;
1346
+ name: string;
1347
+ };
1348
+ /**
1349
+ * @description A decimal string, in the currency stated alongside it.
1350
+ *
1351
+ * **The currency is not part of this type.** It is carried by a `currency` field next to the
1352
+ * amount, or by the account the amount belongs to. Reading an amount without that field is
1353
+ * reading a number with no unit.
1354
+ *
1355
+ * It is a string rather than a JSON number because a JSON number is a float in most parsers,
1356
+ * and a float loses precision on the first arithmetic. Nothing on this platform puts an amount
1357
+ * through a float.
1358
+ * @example 10.2500000000
1359
+ */
1360
+ Money: string;
1361
+ /** @description Pagination metadata for stable numbered pages. total_count is returned only when the operation can determine it without an unbounded scan. */
1362
+ OffsetPagination: {
1363
+ /** Format: int64 */
1364
+ page: number;
1365
+ /** Format: int64 */
1366
+ page_size: number;
1367
+ /** Format: int64 */
1368
+ total_count?: number;
1369
+ };
1370
+ /**
1371
+ * @description Which object this is, together with what a person currently calls it.
1372
+ *
1373
+ * The name is for display. It is chosen by whoever owns the object, it changes, it is not unique
1374
+ * between objects, and it may be empty when nobody has named it yet — so it must not be used to
1375
+ * address, match or deduplicate anything. Addressing is by id.
1376
+ *
1377
+ * This differs from an identity carrying a lookup key: a lookup key is written once by an operator,
1378
+ * is unique, and can be used to fetch the object. A name cannot.
1379
+ */
1380
+ NamedIdentity: {
1381
+ /** Format: uuid */
1382
+ id: string;
1383
+ name: string;
1384
+ };
1385
+ };
1386
+ responses: {
1387
+ /** @description Error */
1388
+ Error: {
1389
+ headers: {
1390
+ [name: string]: unknown;
1391
+ };
1392
+ content: {
1393
+ "application/json": components["schemas"]["Error"];
1394
+ };
1395
+ };
1396
+ };
1397
+ parameters: {
1398
+ CancellationId: string;
1399
+ /** @description 1-based page number; the first page when omitted. */
1400
+ Page: number;
1401
+ /** @description How many per page, 100 at most. */
1402
+ PageSize: number;
1403
+ From: string;
1404
+ /** @description Exclusive. */
1405
+ To: string;
1406
+ ProjectId: string;
1407
+ OrderId: string;
1408
+ SubscriptionId: string;
1409
+ FromRequired: string;
1410
+ /** @description Exclusive. One month is `[2026-09-01, 2026-10-01)`. */
1411
+ ToRequired: string;
1412
+ };
1413
+ requestBodies: never;
1414
+ headers: never;
1415
+ pathItems: never;
1416
+ }
1417
+ export type $defs = Record<string, never>;
1418
+ export interface operations {
1419
+ "get-project-billing-account": {
1420
+ parameters: {
1421
+ query?: never;
1422
+ header?: never;
1423
+ path: {
1424
+ projectId: components["parameters"]["ProjectId"];
1425
+ };
1426
+ cookie?: never;
1427
+ };
1428
+ requestBody?: never;
1429
+ responses: {
1430
+ /** @description OK */
1431
+ 200: {
1432
+ headers: {
1433
+ [name: string]: unknown;
1434
+ };
1435
+ content: {
1436
+ "application/json": components["schemas"]["ProjectBillingAccount"];
1437
+ };
1438
+ };
1439
+ default: components["responses"]["Error"];
1440
+ };
1441
+ };
1442
+ "list-project-spend": {
1443
+ parameters: {
1444
+ query: {
1445
+ from: components["parameters"]["FromRequired"];
1446
+ /** @description Exclusive. One month is `[2026-09-01, 2026-10-01)`. */
1447
+ to: components["parameters"]["ToRequired"];
1448
+ /**
1449
+ * @description `resource` groups by the resource each charge names. Items billed under their own
1450
+ * identifier — a disk, a public address — appear as their own rows rather than under
1451
+ * the machine they are attached to, since the relationship between them is known to
1452
+ * the owning service and not here.
1453
+ */
1454
+ group_by?: "product" | "plan" | "resource";
1455
+ /** @description Filter by the fixed platform service ID. */
1456
+ product_id?: components["schemas"]["ProductID"];
1457
+ /** @description 1-based page number; the first page when omitted. */
1458
+ page?: components["parameters"]["Page"];
1459
+ /** @description How many per page, 100 at most. */
1460
+ page_size?: components["parameters"]["PageSize"];
1461
+ };
1462
+ header?: never;
1463
+ path: {
1464
+ projectId: components["parameters"]["ProjectId"];
1465
+ };
1466
+ cookie?: never;
1467
+ };
1468
+ requestBody?: never;
1469
+ responses: {
1470
+ /** @description OK */
1471
+ 200: {
1472
+ headers: {
1473
+ [name: string]: unknown;
1474
+ };
1475
+ content: {
1476
+ "application/json": components["schemas"]["SpendRowList"];
1477
+ };
1478
+ };
1479
+ default: components["responses"]["Error"];
1480
+ };
1481
+ };
1482
+ "list-project-usage-charges": {
1483
+ parameters: {
1484
+ query?: {
1485
+ /** @description 1-based page number; the first page when omitted. */
1486
+ page?: components["parameters"]["Page"];
1487
+ /** @description How many per page, 100 at most. */
1488
+ page_size?: components["parameters"]["PageSize"];
1489
+ resource_id?: string;
1490
+ product_id?: components["schemas"]["ProductID"];
1491
+ /** @description Filter by the meter UUID. */
1492
+ meter_id?: string;
1493
+ from?: components["parameters"]["From"];
1494
+ /** @description Exclusive. */
1495
+ to?: components["parameters"]["To"];
1496
+ };
1497
+ header?: never;
1498
+ path: {
1499
+ projectId: components["parameters"]["ProjectId"];
1500
+ };
1501
+ cookie?: never;
1502
+ };
1503
+ requestBody?: never;
1504
+ responses: {
1505
+ /** @description OK */
1506
+ 200: {
1507
+ headers: {
1508
+ [name: string]: unknown;
1509
+ };
1510
+ content: {
1511
+ "application/json": components["schemas"]["UsageChargeList"];
1512
+ };
1513
+ };
1514
+ default: components["responses"]["Error"];
1515
+ };
1516
+ };
1517
+ "list-project-subscriptions": {
1518
+ parameters: {
1519
+ query?: {
1520
+ expiring_before?: string;
1521
+ /** @description 1-based page number; the first page when omitted. */
1522
+ page?: components["parameters"]["Page"];
1523
+ /** @description How many per page, 100 at most. */
1524
+ page_size?: components["parameters"]["PageSize"];
1525
+ };
1526
+ header?: never;
1527
+ path: {
1528
+ projectId: components["parameters"]["ProjectId"];
1529
+ };
1530
+ cookie?: never;
1531
+ };
1532
+ requestBody?: never;
1533
+ responses: {
1534
+ /** @description OK */
1535
+ 200: {
1536
+ headers: {
1537
+ [name: string]: unknown;
1538
+ };
1539
+ content: {
1540
+ "application/json": components["schemas"]["SubscriptionList"];
1541
+ };
1542
+ };
1543
+ default: components["responses"]["Error"];
1544
+ };
1545
+ };
1546
+ "set-project-auto-renew": {
1547
+ parameters: {
1548
+ query?: never;
1549
+ header?: never;
1550
+ path: {
1551
+ projectId: components["parameters"]["ProjectId"];
1552
+ subscriptionId: components["parameters"]["SubscriptionId"];
1553
+ };
1554
+ cookie?: never;
1555
+ };
1556
+ requestBody: {
1557
+ content: {
1558
+ "application/json": components["schemas"]["AutoRenewSet"];
1559
+ };
1560
+ };
1561
+ responses: {
1562
+ /** @description OK */
1563
+ 200: {
1564
+ headers: {
1565
+ [name: string]: unknown;
1566
+ };
1567
+ content: {
1568
+ "application/json": components["schemas"]["Subscription"];
1569
+ };
1570
+ };
1571
+ default: components["responses"]["Error"];
1572
+ };
1573
+ };
1574
+ "list-project-cancellations": {
1575
+ parameters: {
1576
+ query?: {
1577
+ /** @description 1-based page number; the first page when omitted. */
1578
+ page?: components["parameters"]["Page"];
1579
+ /** @description How many per page, 100 at most. */
1580
+ page_size?: components["parameters"]["PageSize"];
1581
+ /** @description Only cancellations that include this subscription. */
1582
+ subscription_id?: string;
1583
+ /** @description Only cancellations in this status. `open` means requested, scheduled or releasing. */
1584
+ status?: "open" | "requested" | "scheduled" | "releasing" | "completed" | "canceled" | "failed";
1585
+ };
1586
+ header?: never;
1587
+ path: {
1588
+ projectId: components["parameters"]["ProjectId"];
1589
+ };
1590
+ cookie?: never;
1591
+ };
1592
+ requestBody?: never;
1593
+ responses: {
1594
+ /** @description OK */
1595
+ 200: {
1596
+ headers: {
1597
+ [name: string]: unknown;
1598
+ };
1599
+ content: {
1600
+ "application/json": components["schemas"]["CancellationList"];
1601
+ };
1602
+ };
1603
+ default: components["responses"]["Error"];
1604
+ };
1605
+ };
1606
+ "create-project-cancellation": {
1607
+ parameters: {
1608
+ query?: never;
1609
+ header?: never;
1610
+ path: {
1611
+ projectId: components["parameters"]["ProjectId"];
1612
+ };
1613
+ cookie?: never;
1614
+ };
1615
+ requestBody: {
1616
+ content: {
1617
+ "application/json": components["schemas"]["CancellationCreate"];
1618
+ };
1619
+ };
1620
+ responses: {
1621
+ /** @description The same cancellation, already open */
1622
+ 200: {
1623
+ headers: {
1624
+ [name: string]: unknown;
1625
+ };
1626
+ content: {
1627
+ "application/json": components["schemas"]["Cancellation"];
1628
+ };
1629
+ };
1630
+ /** @description Created */
1631
+ 201: {
1632
+ headers: {
1633
+ [name: string]: unknown;
1634
+ };
1635
+ content: {
1636
+ "application/json": components["schemas"]["Cancellation"];
1637
+ };
1638
+ };
1639
+ default: components["responses"]["Error"];
1640
+ };
1641
+ };
1642
+ "get-project-cancellation": {
1643
+ parameters: {
1644
+ query?: never;
1645
+ header?: never;
1646
+ path: {
1647
+ projectId: components["parameters"]["ProjectId"];
1648
+ cancellationId: components["parameters"]["CancellationId"];
1649
+ };
1650
+ cookie?: never;
1651
+ };
1652
+ requestBody?: never;
1653
+ responses: {
1654
+ /** @description OK */
1655
+ 200: {
1656
+ headers: {
1657
+ [name: string]: unknown;
1658
+ };
1659
+ content: {
1660
+ "application/json": components["schemas"]["Cancellation"];
1661
+ };
1662
+ };
1663
+ default: components["responses"]["Error"];
1664
+ };
1665
+ };
1666
+ "withdraw-project-cancellation": {
1667
+ parameters: {
1668
+ query?: never;
1669
+ header?: never;
1670
+ path: {
1671
+ projectId: components["parameters"]["ProjectId"];
1672
+ cancellationId: components["parameters"]["CancellationId"];
1673
+ };
1674
+ cookie?: never;
1675
+ };
1676
+ requestBody?: never;
1677
+ responses: {
1678
+ /** @description OK */
1679
+ 200: {
1680
+ headers: {
1681
+ [name: string]: unknown;
1682
+ };
1683
+ content: {
1684
+ "application/json": components["schemas"]["Cancellation"];
1685
+ };
1686
+ };
1687
+ default: components["responses"]["Error"];
1688
+ };
1689
+ };
1690
+ "list-project-orders": {
1691
+ parameters: {
1692
+ query?: {
1693
+ /** @description 1-based page number; the first page when omitted. */
1694
+ page?: components["parameters"]["Page"];
1695
+ /** @description How many per page, 100 at most. */
1696
+ page_size?: components["parameters"]["PageSize"];
1697
+ status?: components["schemas"]["OrderStatus"];
1698
+ from?: components["parameters"]["From"];
1699
+ /** @description Exclusive. */
1700
+ to?: components["parameters"]["To"];
1701
+ };
1702
+ header?: never;
1703
+ path: {
1704
+ projectId: components["parameters"]["ProjectId"];
1705
+ };
1706
+ cookie?: never;
1707
+ };
1708
+ requestBody?: never;
1709
+ responses: {
1710
+ /** @description OK */
1711
+ 200: {
1712
+ headers: {
1713
+ [name: string]: unknown;
1714
+ };
1715
+ content: {
1716
+ "application/json": components["schemas"]["OrderList"];
1717
+ };
1718
+ };
1719
+ default: components["responses"]["Error"];
1720
+ };
1721
+ };
1722
+ "get-project-order": {
1723
+ parameters: {
1724
+ query?: never;
1725
+ header?: never;
1726
+ path: {
1727
+ projectId: components["parameters"]["ProjectId"];
1728
+ orderId: components["parameters"]["OrderId"];
1729
+ };
1730
+ cookie?: never;
1731
+ };
1732
+ requestBody?: never;
1733
+ responses: {
1734
+ /** @description OK */
1735
+ 200: {
1736
+ headers: {
1737
+ [name: string]: unknown;
1738
+ };
1739
+ content: {
1740
+ "application/json": components["schemas"]["Order"];
1741
+ };
1742
+ };
1743
+ default: components["responses"]["Error"];
1744
+ };
1745
+ };
1746
+ "list-project-active-resources": {
1747
+ parameters: {
1748
+ query?: {
1749
+ /** @description 1-based page number; the first page when omitted. */
1750
+ page?: components["parameters"]["Page"];
1751
+ /** @description How many per page, 100 at most. */
1752
+ page_size?: components["parameters"]["PageSize"];
1753
+ resource_id?: string;
1754
+ };
1755
+ header?: never;
1756
+ path: {
1757
+ projectId: components["parameters"]["ProjectId"];
1758
+ };
1759
+ cookie?: never;
1760
+ };
1761
+ requestBody?: never;
1762
+ responses: {
1763
+ /** @description OK */
1764
+ 200: {
1765
+ headers: {
1766
+ [name: string]: unknown;
1767
+ };
1768
+ content: {
1769
+ "application/json": components["schemas"]["ActiveResourceList"];
1770
+ };
1771
+ };
1772
+ default: components["responses"]["Error"];
1773
+ };
1774
+ };
1775
+ "create-project-quote": {
1776
+ parameters: {
1777
+ query?: never;
1778
+ header?: never;
1779
+ path: {
1780
+ projectId: components["parameters"]["ProjectId"];
1781
+ };
1782
+ cookie?: never;
1783
+ };
1784
+ requestBody: {
1785
+ content: {
1786
+ "application/json": components["schemas"]["QuoteRequest"];
1787
+ };
1788
+ };
1789
+ responses: {
1790
+ /** @description OK */
1791
+ 200: {
1792
+ headers: {
1793
+ [name: string]: unknown;
1794
+ };
1795
+ content: {
1796
+ "application/json": components["schemas"]["Quote"];
1797
+ };
1798
+ };
1799
+ default: components["responses"]["Error"];
1800
+ };
1801
+ };
1802
+ "list-project-order-items": {
1803
+ parameters: {
1804
+ query?: {
1805
+ /** @description 1-based page number; the first page when omitted. */
1806
+ page?: components["parameters"]["Page"];
1807
+ /** @description How many per page, 100 at most. */
1808
+ page_size?: components["parameters"]["PageSize"];
1809
+ };
1810
+ header?: never;
1811
+ path: {
1812
+ projectId: components["parameters"]["ProjectId"];
1813
+ orderId: components["parameters"]["OrderId"];
1814
+ };
1815
+ cookie?: never;
1816
+ };
1817
+ requestBody?: never;
1818
+ responses: {
1819
+ /** @description OK */
1820
+ 200: {
1821
+ headers: {
1822
+ [name: string]: unknown;
1823
+ };
1824
+ content: {
1825
+ "application/json": components["schemas"]["OrderItemList"];
1826
+ };
1827
+ };
1828
+ default: components["responses"]["Error"];
1829
+ };
1830
+ };
1831
+ "list-project-allowances": {
1832
+ parameters: {
1833
+ query?: {
1834
+ /** @description 1-based page number; the first page when omitted. */
1835
+ page?: components["parameters"]["Page"];
1836
+ /** @description How many per page, 100 at most. */
1837
+ page_size?: components["parameters"]["PageSize"];
1838
+ /** @description Filter by ID or lookup key. A lookup key is scoped to the product. */
1839
+ meter_id?: string;
1840
+ product_id?: components["schemas"]["ProductID"];
1841
+ };
1842
+ header?: never;
1843
+ path: {
1844
+ projectId: components["parameters"]["ProjectId"];
1845
+ };
1846
+ cookie?: never;
1847
+ };
1848
+ requestBody?: never;
1849
+ responses: {
1850
+ /** @description OK */
1851
+ 200: {
1852
+ headers: {
1853
+ [name: string]: unknown;
1854
+ };
1855
+ content: {
1856
+ "application/json": components["schemas"]["AllowanceList"];
1857
+ };
1858
+ };
1859
+ default: components["responses"]["Error"];
1860
+ };
1861
+ };
1862
+ "list-project-entitlements": {
1863
+ parameters: {
1864
+ query?: {
1865
+ /** @description 1-based page number; the first page when omitted. */
1866
+ page?: components["parameters"]["Page"];
1867
+ /** @description How many per page, 100 at most. */
1868
+ page_size?: components["parameters"]["PageSize"];
1869
+ /** @description Filter by ID or lookup key. A lookup key is scoped to the product. */
1870
+ product_id?: components["schemas"]["ProductID"];
1871
+ };
1872
+ header?: never;
1873
+ path: {
1874
+ projectId: components["parameters"]["ProjectId"];
1875
+ };
1876
+ cookie?: never;
1877
+ };
1878
+ requestBody?: never;
1879
+ responses: {
1880
+ /** @description OK */
1881
+ 200: {
1882
+ headers: {
1883
+ [name: string]: unknown;
1884
+ };
1885
+ content: {
1886
+ "application/json": components["schemas"]["EntitlementList"];
1887
+ };
1888
+ };
1889
+ default: components["responses"]["Error"];
1890
+ };
1891
+ };
1892
+ }