@leaflow/sdk 0.0.0-dev.21.g192ee50 → 0.0.0-dev.212.gea1bf06

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 (69) hide show
  1. package/README.md +13 -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/v1/client.d.ts +4 -0
  13. package/dist/billing/v1/client.js +7 -0
  14. package/dist/billing/v1/index.d.ts +45 -0
  15. package/dist/billing/v1/index.js +5 -0
  16. package/dist/billing/v1/schema.d.ts +1404 -0
  17. package/dist/billing/v1/schema.js +5 -0
  18. package/dist/billingaccount/v1/client.d.ts +4 -0
  19. package/dist/billingaccount/v1/client.js +7 -0
  20. package/dist/billingaccount/v1/index.d.ts +151 -0
  21. package/dist/billingaccount/v1/index.js +5 -0
  22. package/dist/billingaccount/v1/schema.d.ts +4265 -0
  23. package/dist/billingaccount/v1/schema.js +5 -0
  24. package/dist/canopy/v1/client.d.ts +4 -0
  25. package/dist/canopy/v1/client.js +7 -0
  26. package/dist/canopy/v1/index.d.ts +24 -23
  27. package/dist/canopy/v1/index.js +4 -4
  28. package/dist/canopy/v1/schema.d.ts +113 -109
  29. package/dist/compute/v1/client.d.ts +4 -0
  30. package/dist/compute/v1/client.js +7 -0
  31. package/dist/compute/v1/index.d.ts +188 -125
  32. package/dist/compute/v1/index.js +4 -4
  33. package/dist/compute/v1/schema.d.ts +1953 -281
  34. package/dist/dns/v1/client.d.ts +4 -0
  35. package/dist/dns/v1/client.js +7 -0
  36. package/dist/dns/v1/index.d.ts +43 -0
  37. package/dist/dns/v1/index.js +5 -0
  38. package/dist/dns/v1/schema.d.ts +887 -0
  39. package/dist/dns/v1/schema.js +5 -0
  40. package/dist/iam/v1/client.d.ts +4 -0
  41. package/dist/iam/v1/client.js +7 -0
  42. package/dist/iam/v1/index.d.ts +55 -32
  43. package/dist/iam/v1/index.js +4 -4
  44. package/dist/iam/v1/schema.d.ts +521 -88
  45. package/dist/index.d.ts +12 -7
  46. package/dist/index.js +20 -5
  47. package/dist/monitoring/v1/client.d.ts +4 -0
  48. package/dist/monitoring/v1/client.js +7 -0
  49. package/dist/monitoring/v1/index.d.ts +130 -49
  50. package/dist/monitoring/v1/index.js +4 -4
  51. package/dist/monitoring/v1/schema.d.ts +2420 -527
  52. package/dist/notification/v1/client.d.ts +4 -0
  53. package/dist/notification/v1/client.js +7 -0
  54. package/dist/notification/v1/index.d.ts +77 -0
  55. package/dist/notification/v1/index.js +5 -0
  56. package/dist/notification/v1/schema.d.ts +2048 -0
  57. package/dist/notification/v1/schema.js +5 -0
  58. package/dist/support/v1/client.d.ts +4 -0
  59. package/dist/support/v1/client.js +7 -0
  60. package/dist/support/v1/index.d.ts +51 -0
  61. package/dist/support/v1/index.js +5 -0
  62. package/dist/support/v1/schema.d.ts +1082 -0
  63. package/dist/support/v1/schema.js +5 -0
  64. package/dist/tunnel/v1/client.d.ts +4 -0
  65. package/dist/tunnel/v1/client.js +7 -0
  66. package/dist/tunnel/v1/index.d.ts +8 -7
  67. package/dist/tunnel/v1/index.js +4 -4
  68. package/dist/tunnel/v1/schema.d.ts +40 -34
  69. package/package.json +26 -10
@@ -0,0 +1,1404 @@
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
+ put: operations["set-project-auto-renew"];
117
+ post?: never;
118
+ delete?: never;
119
+ options?: never;
120
+ head?: never;
121
+ patch?: never;
122
+ trace?: never;
123
+ };
124
+ "/api/v1/projects/{projectId}/orders": {
125
+ parameters: {
126
+ query?: never;
127
+ header?: never;
128
+ path: {
129
+ projectId: components["parameters"]["ProjectId"];
130
+ };
131
+ cookie?: never;
132
+ };
133
+ /**
134
+ * List project orders
135
+ * @description An order awaiting payment shows what is outstanding. Paying it is done from the billing
136
+ * centre by the account owner.
137
+ */
138
+ get: operations["list-project-orders"];
139
+ put?: never;
140
+ post?: never;
141
+ delete?: never;
142
+ options?: never;
143
+ head?: never;
144
+ patch?: never;
145
+ trace?: never;
146
+ };
147
+ "/api/v1/projects/{projectId}/orders/{orderId}": {
148
+ parameters: {
149
+ query?: never;
150
+ header?: never;
151
+ path: {
152
+ projectId: components["parameters"]["ProjectId"];
153
+ orderId: components["parameters"]["OrderId"];
154
+ };
155
+ cookie?: never;
156
+ };
157
+ /** Get project order */
158
+ get: operations["get-project-order"];
159
+ put?: never;
160
+ post?: never;
161
+ delete?: never;
162
+ options?: never;
163
+ head?: never;
164
+ patch?: never;
165
+ trace?: never;
166
+ };
167
+ "/api/v1/projects/{projectId}/active-resources": {
168
+ parameters: {
169
+ query?: never;
170
+ header?: never;
171
+ path: {
172
+ projectId: components["parameters"]["ProjectId"];
173
+ };
174
+ cookie?: never;
175
+ };
176
+ /**
177
+ * List project active resources
178
+ * @description A resource that is running but does not appear here is not being charged for.
179
+ */
180
+ get: operations["list-project-active-resources"];
181
+ put?: never;
182
+ post?: never;
183
+ delete?: never;
184
+ options?: never;
185
+ head?: never;
186
+ patch?: never;
187
+ trace?: never;
188
+ };
189
+ "/api/v1/projects/{projectId}/quotes": {
190
+ parameters: {
191
+ query?: never;
192
+ header?: never;
193
+ path: {
194
+ projectId: components["parameters"]["ProjectId"];
195
+ };
196
+ cookie?: never;
197
+ };
198
+ get?: never;
199
+ put?: never;
200
+ /**
201
+ * Quote for a project
202
+ * @description Priced in the project billing account's currency, and at any rate negotiated for that account.
203
+ * Nothing is reserved and nothing is recorded, so this may be called as often as required.
204
+ *
205
+ * Prices may change between quoting and ordering. An order is charged at the price in
206
+ * effect when it is placed, so a quote should be refreshed before a final confirmation is
207
+ * shown.
208
+ *
209
+ * A renewal is priced exactly as renewing would charge it: at the agreed amount or the price
210
+ * named, with the discounts the account holds, and with tax.
211
+ *
212
+ * Returns 404 when the project has no billing account, or when a subscription to be renewed
213
+ * does not belong to this project.
214
+ */
215
+ post: operations["create-project-quote"];
216
+ delete?: never;
217
+ options?: never;
218
+ head?: never;
219
+ patch?: never;
220
+ trace?: never;
221
+ };
222
+ "/api/v1/projects/{projectId}/orders/{orderId}/items": {
223
+ parameters: {
224
+ query?: never;
225
+ header?: never;
226
+ path: {
227
+ projectId: components["parameters"]["ProjectId"];
228
+ orderId: components["parameters"]["OrderId"];
229
+ };
230
+ cookie?: never;
231
+ };
232
+ /** List project order items */
233
+ get: operations["list-project-order-items"];
234
+ put?: never;
235
+ post?: never;
236
+ delete?: never;
237
+ options?: never;
238
+ head?: never;
239
+ patch?: never;
240
+ trace?: never;
241
+ };
242
+ "/api/v1/projects/{projectId}/allowances": {
243
+ parameters: {
244
+ query?: never;
245
+ header?: never;
246
+ path: {
247
+ projectId: components["parameters"]["ProjectId"];
248
+ };
249
+ cookie?: never;
250
+ };
251
+ /**
252
+ * List project allowances
253
+ * @description These belong to the project's billing account and are shared with every other project linked to it,
254
+ * so what is left here may be consumed elsewhere.
255
+ */
256
+ get: operations["list-project-allowances"];
257
+ put?: never;
258
+ post?: never;
259
+ delete?: never;
260
+ options?: never;
261
+ head?: never;
262
+ patch?: never;
263
+ trace?: never;
264
+ };
265
+ "/api/v1/projects/{projectId}/entitlements": {
266
+ parameters: {
267
+ query?: never;
268
+ header?: never;
269
+ path: {
270
+ projectId: components["parameters"]["ProjectId"];
271
+ };
272
+ cookie?: never;
273
+ };
274
+ /**
275
+ * List project entitlements
276
+ * @description Includes capabilities bought for this project and those the project's billing account holds at
277
+ * account level.
278
+ *
279
+ * Where a capability counts uses, `remaining_quantity` states how much is left. Whether
280
+ * exceeding it refuses the request or simply continues to be charged for is decided by
281
+ * the service that owns the capability.
282
+ */
283
+ get: operations["list-project-entitlements"];
284
+ put?: never;
285
+ post?: never;
286
+ delete?: never;
287
+ options?: never;
288
+ head?: never;
289
+ patch?: never;
290
+ trace?: never;
291
+ };
292
+ }
293
+ export type webhooks = Record<string, never>;
294
+ export interface components {
295
+ schemas: {
296
+ /**
297
+ * @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.
298
+ * @enum {string}
299
+ */
300
+ TerminationPolicy: "immediate" | "period_end";
301
+ /**
302
+ * @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.
303
+ * @enum {string}
304
+ */
305
+ RefundPolicy: "none" | "prorated";
306
+ /** @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. */
307
+ CancellationRequest: {
308
+ reason?: string;
309
+ /** Format: uuid */
310
+ id: string;
311
+ /** Format: uuid */
312
+ subscription_id: string;
313
+ /** @enum {string} */
314
+ status: "requested" | "scheduled" | "releasing" | "failed" | "completed" | "canceled";
315
+ /** @enum {string} */
316
+ mode: "immediate" | "period_end";
317
+ /** Format: date-time */
318
+ requested_at: string;
319
+ /** Format: date-time */
320
+ scheduled_at?: string;
321
+ /** Format: date-time */
322
+ effective_at?: string;
323
+ /** Format: date-time */
324
+ completed_at?: string;
325
+ /** Format: date-time */
326
+ release_started_at?: string;
327
+ /** Format: date-time */
328
+ canceled_at?: string;
329
+ forfeit_remaining_value: boolean;
330
+ failure_code?: string;
331
+ failure_reason?: string;
332
+ };
333
+ Error: {
334
+ code?: string;
335
+ message: string;
336
+ /**
337
+ * @description What a given `code` carries alongside the message. The keys depend on the code,
338
+ * and a client that does not recognise one ignores it.
339
+ */
340
+ meta?: {
341
+ [key: string]: unknown;
342
+ };
343
+ /** Format: int64 */
344
+ status: number;
345
+ };
346
+ Product: {
347
+ id: components["schemas"]["ProductID"];
348
+ name: string;
349
+ description?: string;
350
+ };
351
+ /** @description Immutable platform service identifier, such as compute, canopy or assistant. */
352
+ ProductID: string;
353
+ /**
354
+ * @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.
355
+ *
356
+ * A line that gives a meter, `dimensions` or `duration_seconds` estimates usage and is
357
+ * priced only at a postpaid price. Such a line is refused with HTTP 400
358
+ * `BILLING_PURCHASE_INVALID` when `price_type` is `prepaid` or `one_time`, or when the price
359
+ * it names is not postpaid; `meta.field` is `price_type`, `price_id` or `price_lookup_key`
360
+ * accordingly. When the plan has no postpaid price, the line is returned unpriced with
361
+ * `no_price`.
362
+ */
363
+ QuoteLine: {
364
+ price_lookup_key?: string;
365
+ plan_lookup_key?: string;
366
+ meter_lookup_key?: string;
367
+ /** Format: uuid */
368
+ price_id?: string;
369
+ product_id?: components["schemas"]["ProductID"];
370
+ /** Format: uuid */
371
+ plan_id?: string;
372
+ /** Format: uuid */
373
+ meter_id?: string;
374
+ /**
375
+ * @description The attributes the price depends on — region, instance type, token class.
376
+ *
377
+ * Required when the price draws its rates from a price list, which is how anything
378
+ * sold by region or by machine type is priced. A price that carries a single unit
379
+ * amount, or a ladder, has no attributes to give and takes none.
380
+ *
381
+ * Every attribute the meter declares must be present. A combination with no rate
382
+ * covering it is refused rather than priced at zero.
383
+ */
384
+ dimensions?: {
385
+ [key: string]: string;
386
+ };
387
+ /**
388
+ * @description Narrows the selection when a plan offers more than one billing type.
389
+ * @enum {string}
390
+ */
391
+ price_type?: "postpaid" | "prepaid" | "one_time";
392
+ /** @enum {string} */
393
+ interval?: "none" | "day" | "month" | "year";
394
+ interval_count?: number;
395
+ quantity: string;
396
+ /**
397
+ * Format: int64
398
+ * @description For metered items, how long to price for. This allows an estimate such as "about
399
+ * this much per month" to be shown before anything exists. The priced quantity is
400
+ * `quantity` multiplied by this duration.
401
+ */
402
+ duration_seconds?: number;
403
+ };
404
+ /**
405
+ * @description Price renewing a prepaid subscription. Give `price_id`, or `interval` with
406
+ * `interval_count`, to renew for another term at the price currently sold for it. Naming
407
+ * the current term, or giving neither, renews at the agreed amount.
408
+ */
409
+ QuoteRenewal: {
410
+ /** Format: uuid */
411
+ subscription_id: string;
412
+ /** Format: uuid */
413
+ price_id?: string;
414
+ /** @enum {string} */
415
+ interval?: "day" | "month" | "year";
416
+ interval_count?: number;
417
+ /**
418
+ * @description How many consecutive periods to renew for.
419
+ * @default 1
420
+ */
421
+ periods?: number;
422
+ };
423
+ /** @description Specify lines for new purchases and renewals for existing subscriptions. The total includes all requested items. */
424
+ QuoteRequest: {
425
+ lines?: components["schemas"]["QuoteLine"][];
426
+ renewals?: components["schemas"]["QuoteRenewal"][];
427
+ };
428
+ QuoteLineResult: {
429
+ /** @description Tax included in the account quote. Absent in public catalogue estimates. */
430
+ tax_amount?: components["schemas"]["Money"];
431
+ /** @description Tax already included in the displayed price. */
432
+ tax_included_amount?: components["schemas"]["Money"];
433
+ /** @description Which line of the request this answers. */
434
+ index: number;
435
+ /**
436
+ * @description Whether a price was found for this line. Read this before anything else.
437
+ *
438
+ * A single item with no price no longer fails the whole request. A catalogue
439
+ * almost always has something not yet priced, and refusing the request would
440
+ * leave no way to render a list in which a few entries are simply not on sale.
441
+ *
442
+ * When false, `price_id`, `unit_amount` and `amount` are absent and
443
+ * `unpriced_reason` states what is missing.
444
+ */
445
+ priced: boolean;
446
+ /**
447
+ * @description Why no price was found; `none` while `priced` is true.
448
+ *
449
+ * The last four are told apart because their remedies differ: the price points
450
+ * at no price list, the list holds no rate for that meter, that exact combination
451
+ * of attributes is not configured, or it is configured but nothing is in effect
452
+ * at the moment asked about.
453
+ * @enum {string}
454
+ */
455
+ unpriced_reason?: "none" | "no_price" | "no_rate_card" | "no_meter" | "no_dimensions" | "no_effective_rule";
456
+ /**
457
+ * Format: uuid
458
+ * @description The price selected. Returned whenever `priced` is true, including when the
459
+ * request identified the item indirectly, so that the choice can be confirmed.
460
+ */
461
+ price_id?: string;
462
+ plan_name?: string;
463
+ unit_amount?: components["schemas"]["Money"];
464
+ /**
465
+ * @description The quantity actually priced. When `duration_seconds` is given, it is the requested
466
+ * `quantity` multiplied by that duration.
467
+ */
468
+ quantity?: string;
469
+ /** @description Not rounded. Round only for display. */
470
+ amount?: components["schemas"]["Money"];
471
+ currency: string;
472
+ };
473
+ /**
474
+ * @description What renewing would charge. Renewing the same subscription for the same term and number
475
+ * of periods charges exactly `total`, unless prices or the discounts the account holds
476
+ * change in between.
477
+ */
478
+ QuoteRenewalResult: {
479
+ /** @description Which renewal of the request this answers. */
480
+ index: number;
481
+ /** Format: uuid */
482
+ subscription_id: string;
483
+ /**
484
+ * Format: uuid
485
+ * @description The price the renewal is charged under.
486
+ */
487
+ price_id: string;
488
+ /** @enum {string} */
489
+ interval: "day" | "month" | "year";
490
+ interval_count: number;
491
+ periods: number;
492
+ /**
493
+ * @description The price of the periods before the discounts the account holds. A discount the
494
+ * subscription already carries is reflected here. Contains tax only where the price
495
+ * itself includes it.
496
+ */
497
+ amount: components["schemas"]["Money"];
498
+ /** @description The reduction from a discount the account holds. */
499
+ discount_amount: components["schemas"]["Money"];
500
+ /** @description Tax on the discounted amount. */
501
+ tax_amount: components["schemas"]["Money"];
502
+ /** @description The part of `tax_amount` already contained in `amount`. */
503
+ tax_included_amount: components["schemas"]["Money"];
504
+ /**
505
+ * @description What renewing would charge: `amount` less `discount_amount`, plus `tax_amount`, less
506
+ * `tax_included_amount`.
507
+ */
508
+ total: components["schemas"]["Money"];
509
+ };
510
+ Quote: {
511
+ lines?: components["schemas"]["QuoteLineResult"][];
512
+ renewals?: components["schemas"]["QuoteRenewalResult"][];
513
+ /**
514
+ * @description What would be owed in total, renewals included. Amounts to be returned are not netted
515
+ * off it.
516
+ *
517
+ * Null when any line could not be priced. What would be owed is not knowable then, and a
518
+ * total that silently left the unpriced lines out would read as a smaller bill rather than
519
+ * an incomplete one — the per-line `priced` flag is easy to skip, a missing total is not.
520
+ */
521
+ total?: components["schemas"]["Money"] | null;
522
+ currency: string;
523
+ };
524
+ /**
525
+ * @description A narrow view of the project's billing account, restricted to what a project member needs in order
526
+ * to know whether the project's resources will keep running.
527
+ */
528
+ ProjectBillingAccount: {
529
+ /**
530
+ * Format: int64
531
+ * @description Identifies the billing account. Use it to link into the billing centre.
532
+ */
533
+ billing_account_id: number;
534
+ name: string;
535
+ /**
536
+ * @description Everything this project is charged is in this currency, and it cannot change while
537
+ * the account exists.
538
+ */
539
+ currency: string;
540
+ /**
541
+ * @description What remains to be spent. It already accounts for this month's uninvoiced usage, so
542
+ * it is what will be available at checkout rather than the balance shown in the
543
+ * billing centre. It goes negative when usage has exceeded the balance.
544
+ */
545
+ spendable_amount: components["schemas"]["Money"];
546
+ /**
547
+ * @description `active` — nothing is owed. `past_due` — the account owes money and resources are
548
+ * still running. `suspended` — resources have been stopped for non-payment.
549
+ * @enum {string}
550
+ */
551
+ status: "active" | "past_due" | "suspended";
552
+ /**
553
+ * Format: date-time
554
+ * @description When this project's resources will be stopped unless the account is topped up.
555
+ * Absent while `status` is `active`.
556
+ */
557
+ suspends_at?: string | null;
558
+ };
559
+ AccountIdentity: {
560
+ /** Format: int64 */
561
+ id: number;
562
+ name: string;
563
+ currency: string;
564
+ };
565
+ /** @enum {string} */
566
+ InvoiceStatus: "draft" | "open" | "paid" | "void" | "uncollectible";
567
+ UsageCharge: {
568
+ /** Format: uuid */
569
+ subscription_id?: string;
570
+ /** Format: uuid */
571
+ id: string;
572
+ /** Format: uuid */
573
+ project_id?: string;
574
+ product: components["schemas"]["Product"];
575
+ /** @description Which resource this was charged for. Empty for charges not tied to one. */
576
+ resource_id?: string;
577
+ meter: components["schemas"]["ObjectIdentity"];
578
+ unit?: string;
579
+ /** @description The attributes the rate was chosen by, such as region and machine type. */
580
+ dimensions?: {
581
+ [key: string]: string;
582
+ };
583
+ /** Format: date-time */
584
+ window_start: string;
585
+ /**
586
+ * Format: date-time
587
+ * @description Exclusive.
588
+ */
589
+ window_end: string;
590
+ /** @description How much was used, before any included allowance. */
591
+ gross_quantity?: string;
592
+ /** @description How much of that was covered by an allowance. */
593
+ deducted_quantity?: string;
594
+ /** @description What was charged for — the gross quantity less the part covered. */
595
+ quantity: string;
596
+ unit_amount?: components["schemas"]["Money"];
597
+ amount?: components["schemas"]["Money"];
598
+ currency: string;
599
+ /**
600
+ * Format: uuid
601
+ * @description Absent until the period is invoiced.
602
+ */
603
+ invoice_id?: string | null;
604
+ };
605
+ UsageChargeList: {
606
+ items: components["schemas"]["UsageCharge"][];
607
+ /** Format: int64 */
608
+ total_count?: number;
609
+ };
610
+ SpendRow: {
611
+ product?: components["schemas"]["Product"];
612
+ /** Format: uuid */
613
+ plan_id?: string;
614
+ plan_name?: string;
615
+ /** @description Present only when grouped by resource. */
616
+ resource_id?: string;
617
+ amount: components["schemas"]["Money"];
618
+ currency: string;
619
+ };
620
+ SpendRowList: {
621
+ items: components["schemas"]["SpendRow"][];
622
+ /** @description The sum over the whole period, not only the page returned. */
623
+ total: components["schemas"]["Money"];
624
+ currency: string;
625
+ /** Format: int64 */
626
+ total_count?: number;
627
+ };
628
+ SubscriptionList: {
629
+ items: components["schemas"]["Subscription"][];
630
+ /** Format: int64 */
631
+ total_count?: number;
632
+ };
633
+ /** @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. */
634
+ Subscription: {
635
+ currency: string;
636
+ /** @enum {string} */
637
+ billing_type: "postpaid" | "prepaid" | "one_time";
638
+ /** @enum {string} */
639
+ interval: "none" | "day" | "month" | "year";
640
+ interval_count?: number;
641
+ /** @description Whole-subscription prepaid renewal amount, after continuing discounts and before tax. Absent for other billing types. */
642
+ recurring_amount?: string;
643
+ termination_policy?: components["schemas"]["TerminationPolicy"];
644
+ refund_policy?: components["schemas"]["RefundPolicy"];
645
+ /** Format: uuid */
646
+ order_item_id?: string;
647
+ /** Format: uuid */
648
+ replaces_subscription_id?: string;
649
+ /** Format: uuid */
650
+ coupon_id?: string;
651
+ coupon?: components["schemas"]["ObjectIdentity"];
652
+ discounted_renewals_remaining?: number;
653
+ suspend_reason?: string;
654
+ /** Format: date-time */
655
+ billing_cycle_anchor?: string;
656
+ cancellation_request?: components["schemas"]["CancellationRequest"];
657
+ /**
658
+ * @description How the purchase, or the latest renewal paid with a saved card, was paid. Automatic renewal
659
+ * tries this card after the account's balance and credits, and the account's default card after
660
+ * that.
661
+ */
662
+ paid_with?: components["schemas"]["PaidWith"];
663
+ /** Format: date-time */
664
+ created_at?: string;
665
+ /** Format: uuid */
666
+ id: string;
667
+ /**
668
+ * Format: int64
669
+ * @description The billing account that made the purchase. Renewals of a project subscription are charged to the project's current billing account.
670
+ */
671
+ billing_account_id: number;
672
+ account: components["schemas"]["AccountIdentity"];
673
+ product_id: components["schemas"]["ProductID"];
674
+ /**
675
+ * Format: uuid
676
+ * @description Which project this is for. Absent when it was bought at account level, such as a
677
+ * membership, which belongs to no single project.
678
+ */
679
+ project_id?: string | null;
680
+ product: components["schemas"]["Product"];
681
+ /** Format: uuid */
682
+ plan_id: string;
683
+ plan_name: string;
684
+ /** Format: uuid */
685
+ price_id: string;
686
+ quantity: string;
687
+ /**
688
+ * Format: date-time
689
+ * @description Present for prepaid items. Absent for metered ones, which have no end date.
690
+ */
691
+ paid_until?: string | null;
692
+ auto_renew: boolean;
693
+ /** @enum {string} */
694
+ status: "pending" | "active" | "suspended" | "canceled" | "terminated";
695
+ /** Format: date-time */
696
+ started_at?: string | null;
697
+ /** Format: date-time */
698
+ ended_at?: string | null;
699
+ };
700
+ AutoRenewSet: {
701
+ auto_renew: boolean;
702
+ };
703
+ /** @description A resource currently accruing charges by the second. */
704
+ ActiveResource: {
705
+ /** Format: uuid */
706
+ id: string;
707
+ /** Format: date-time */
708
+ ended_at?: string;
709
+ /** Format: date-time */
710
+ suspended_at?: string;
711
+ /** Format: date-time */
712
+ state_changed_at?: string;
713
+ /**
714
+ * Format: uuid
715
+ * @description The postpaid subscription charged for this metering record, including shared services.
716
+ */
717
+ subscription_id: string;
718
+ resource_id: string;
719
+ product: components["schemas"]["Product"];
720
+ /** @description What it is, as its own service names it. */
721
+ resource_type?: string;
722
+ meter: components["schemas"]["ObjectIdentity"];
723
+ unit?: string;
724
+ /** @description How much is held — cores, MiB, cards. Not how much has been used. */
725
+ quantity: string;
726
+ dimensions?: {
727
+ [key: string]: string;
728
+ };
729
+ /** @enum {string} */
730
+ status: "active" | "suspended" | "closing" | "completed";
731
+ /** Format: date-time */
732
+ started_at: string;
733
+ /**
734
+ * Format: date-time
735
+ * @description Usage has been generated up to this boundary; it does not imply invoicing or payment.
736
+ */
737
+ metered_until: string;
738
+ };
739
+ ActiveResourceList: {
740
+ items: components["schemas"]["ActiveResource"][];
741
+ /** Format: int64 */
742
+ total_count?: number;
743
+ };
744
+ /**
745
+ * @description Follows the items. `pending` is not yet accepted and may be paid or unpaid. `active` is
746
+ * accepted with items still being set up. `completed` means every item was set up.
747
+ * `partially_completed` means some items were set up and the others failed and were
748
+ * refunded to their original payment sources. `failed` means every item failed and the
749
+ * whole order was refunded. `canceled` means the order was withdrawn before payment and
750
+ * nothing was charged.
751
+ * @enum {string}
752
+ */
753
+ OrderStatus: "pending" | "active" | "completed" | "partially_completed" | "failed" | "canceled";
754
+ /**
755
+ * @description `pending` is waiting to be set up. `completed` was confirmed by the service.
756
+ * `failed` was not set up and its amount was refunded to the original payment sources.
757
+ * `canceled` was withdrawn with its unpaid order. A completed item is ended by canceling
758
+ * its subscription.
759
+ * @enum {string}
760
+ */
761
+ OrderItemStatus: "pending" | "completed" | "failed" | "canceled";
762
+ Order: {
763
+ /** Format: uuid */
764
+ coupon_id?: string;
765
+ coupon?: components["schemas"]["ObjectIdentity"];
766
+ /** Format: uuid */
767
+ promotion_code_id?: string;
768
+ /** @description Code text frozen when this order applied the coupon. */
769
+ promotion_code?: string;
770
+ invoice?: components["schemas"]["InvoiceSummary"];
771
+ /** @description How the order was paid. Absent until it is paid. */
772
+ paid_with?: components["schemas"]["PaidWith"];
773
+ account?: components["schemas"]["AccountIdentity"];
774
+ cancel_reason?: string;
775
+ /** Format: date-time */
776
+ change_effective_at?: string;
777
+ /** Format: uuid */
778
+ id: string;
779
+ /**
780
+ * Format: uuid
781
+ * @description Which project it was bought for. Absent for a purchase made at account level, such
782
+ * as a membership.
783
+ */
784
+ project_id?: string | null;
785
+ /**
786
+ * Format: int64
787
+ * @description The billing account the order was placed with. It does not change when the project is later
788
+ * linked to another billing account. While this account is suspended or closed the order cannot
789
+ * be accepted, and a change scheduled for the end of a period is not invoiced and is called off
790
+ * when the current period ends; such requests fail with BILLING_ACCOUNT_UNAVAILABLE.
791
+ */
792
+ billing_account_id?: number;
793
+ currency: string;
794
+ /**
795
+ * @description `adopt` brings a resource that already existed under billing. It charges nothing at
796
+ * the time and starts billing from the moment agreed.
797
+ * @enum {string}
798
+ */
799
+ type: "purchase" | "renew" | "change" | "adopt";
800
+ status: components["schemas"]["OrderStatus"];
801
+ /**
802
+ * @description When a plan change takes effect. `none` on anything that is not a change.
803
+ *
804
+ * `period_end` orders stay pending until the first period at the new price is paid. That period
805
+ * is invoiced shortly before the current paid period ends and starts when it ends; if the
806
+ * invoice is still unpaid by then, the order is canceled and the subscription renews or ends as
807
+ * usual. Renewing in the meantime moves all of this along with it.
808
+ * @enum {string}
809
+ */
810
+ change_effective?: "none" | "immediate" | "period_end";
811
+ /**
812
+ * Format: date-time
813
+ * @description Acceptance deadline. Only pending orders expire automatically.
814
+ */
815
+ expires_at?: string | null;
816
+ /** Format: date-time */
817
+ created_at: string;
818
+ /**
819
+ * @description What was bought. Present on a single order and on every order in a list, so a list
820
+ * can be rendered without a further request per row.
821
+ */
822
+ items: components["schemas"]["OrderItem"][];
823
+ };
824
+ OrderList: {
825
+ items: components["schemas"]["Order"][];
826
+ /** Format: int64 */
827
+ total_count?: number;
828
+ };
829
+ /**
830
+ * @description How it was paid, as recorded at the time. It is kept as it was: removing the card afterwards
831
+ * does not change it, and `payment_method_id` may then name a card that no longer exists.
832
+ */
833
+ PaidWith: {
834
+ /**
835
+ * @description `balance` when the account's balance and credits covered it in full. Otherwise the method used
836
+ * with the gateway, such as `card`.
837
+ */
838
+ method_type: string;
839
+ /** @description The gateway that collected it. Absent when `method_type` is `balance`. */
840
+ payment_gateway?: string;
841
+ /**
842
+ * Format: uuid
843
+ * @description The saved payment method that was charged, when one was.
844
+ */
845
+ payment_method_id?: string;
846
+ brand?: string;
847
+ last4?: string;
848
+ };
849
+ /** @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. */
850
+ OrderItem: {
851
+ position?: number;
852
+ configuration?: {
853
+ [key: string]: unknown;
854
+ };
855
+ /** Format: uuid */
856
+ subscription_id?: string;
857
+ /** @enum {string} */
858
+ interval: "none" | "day" | "month" | "year";
859
+ interval_count?: number;
860
+ termination_policy?: components["schemas"]["TerminationPolicy"];
861
+ refund_policy?: components["schemas"]["RefundPolicy"];
862
+ completes_on_payment: boolean;
863
+ recurring_amount?: string;
864
+ setup_amount?: string;
865
+ /**
866
+ * @description The payment timing of the selected price.
867
+ * @enum {string}
868
+ */
869
+ billing_type: "postpaid" | "prepaid" | "one_time";
870
+ /** @description Total tax after discounts, including any tax already included in the price. */
871
+ tax_amount?: string;
872
+ /** @description The part of tax_amount already included in gross_amount; it is not charged again. */
873
+ tax_included_amount?: string;
874
+ /** Format: uuid */
875
+ id: string;
876
+ /** Format: uuid */
877
+ order_id?: string;
878
+ /** Format: uuid */
879
+ price_id: string;
880
+ /** @description Which service this line belongs to. */
881
+ product_id?: components["schemas"]["ProductID"];
882
+ product?: components["schemas"]["Product"];
883
+ /**
884
+ * Format: uuid
885
+ * @description Which plan was bought.
886
+ */
887
+ plan_id: string;
888
+ /**
889
+ * @description What it was called when bought. It does not follow later catalogue renames and is
890
+ * not translated.
891
+ */
892
+ plan_name: string;
893
+ quantity: string;
894
+ unit_amount?: components["schemas"]["Money"];
895
+ gross_amount?: components["schemas"]["Money"];
896
+ discount_amount?: components["schemas"]["Money"];
897
+ amount?: components["schemas"]["Money"];
898
+ currency: string;
899
+ /** Format: date-time */
900
+ period_start?: string | null;
901
+ /** Format: date-time */
902
+ period_end?: string | null;
903
+ status: components["schemas"]["OrderItemStatus"];
904
+ };
905
+ OrderItemList: {
906
+ items: components["schemas"]["OrderItem"][];
907
+ /** Format: int64 */
908
+ total_count?: number;
909
+ };
910
+ Allowance: {
911
+ /** @description Optional issuance key, unique within this billing account. */
912
+ idempotency_key?: string;
913
+ /** Format: uuid */
914
+ subscription_id?: string;
915
+ /** Format: uuid */
916
+ id: string;
917
+ /** Format: int64 */
918
+ billing_account_id?: number;
919
+ product: components["schemas"]["Product"];
920
+ meter: components["schemas"]["ObjectIdentity"];
921
+ /** @description The unit it is counted in, such as `MiB`. */
922
+ unit?: string;
923
+ /**
924
+ * @description `included` came with a recurring purchase and ends with its subscription, `promotional` was
925
+ * granted.
926
+ * @enum {string}
927
+ */
928
+ source_type: "included" | "promotional";
929
+ name: string;
930
+ /** @description How much was granted. */
931
+ quantity: string;
932
+ /** @description How much is left. */
933
+ remaining_quantity: string;
934
+ /**
935
+ * @description Lower values are consumed first. At equal priority, earlier expiry and then earlier issuance take
936
+ * precedence.
937
+ */
938
+ priority?: number;
939
+ /** @enum {string} */
940
+ status: "active" | "depleted" | "expired" | "voided";
941
+ /** Format: date-time */
942
+ valid_from: string;
943
+ /**
944
+ * Format: date-time
945
+ * @description When it lapses. Anything unused at that point is lost; it is not refunded and does
946
+ * not carry over. Absent when it does not expire on its own.
947
+ */
948
+ valid_until?: string | null;
949
+ };
950
+ AllowanceList: {
951
+ items: components["schemas"]["Allowance"][];
952
+ /** Format: int64 */
953
+ total_count?: number;
954
+ };
955
+ Entitlement: {
956
+ product: components["schemas"]["Product"];
957
+ feature: components["schemas"]["ObjectIdentity"];
958
+ name?: string;
959
+ enabled: boolean;
960
+ /**
961
+ * Format: date-time
962
+ * @description When the subscription providing it ends. Absent for a metered subscription, which
963
+ * has no end date.
964
+ */
965
+ expires_at?: string | null;
966
+ };
967
+ EntitlementList: {
968
+ items: components["schemas"]["Entitlement"][];
969
+ /** Format: int64 */
970
+ total_count?: number;
971
+ };
972
+ /** @description Purchase-related invoice amounts, without account contact details or payment methods. Absent on an order with no immediate invoice. */
973
+ InvoiceSummary: {
974
+ /** Format: uuid */
975
+ id: string;
976
+ number?: string;
977
+ currency: string;
978
+ status: components["schemas"]["InvoiceStatus"];
979
+ /**
980
+ * @description Sum of the line amounts before discounts. Where prices include tax, the tax contained in
981
+ * each line's discounted amount is taken out here, so that total = subtotal -
982
+ * discount_amount + tax_amount always holds.
983
+ */
984
+ subtotal: string;
985
+ /** @description Sum of the line discounts, taken off before tax. */
986
+ discount_amount: string;
987
+ tax_amount: string;
988
+ total: string;
989
+ amount_paid: string;
990
+ amount_refunded: string;
991
+ /** Format: date-time */
992
+ due_at?: string;
993
+ };
994
+ /** @description A catalog object inlined for display. */
995
+ ObjectIdentity: {
996
+ lookup_key?: string;
997
+ /** Format: uuid */
998
+ id: string;
999
+ name: string;
1000
+ };
1001
+ /**
1002
+ * @description A decimal string, in the currency stated alongside it.
1003
+ *
1004
+ * **The currency is not part of this type.** It is carried by a `currency` field next to the
1005
+ * amount, or by the account the amount belongs to. Reading an amount without that field is
1006
+ * reading a number with no unit.
1007
+ *
1008
+ * It is a string rather than a JSON number because a JSON number is a float in most parsers,
1009
+ * and a float loses precision on the first arithmetic. Nothing on this platform puts an amount
1010
+ * through a float.
1011
+ * @example 10.2500000000
1012
+ */
1013
+ Money: string;
1014
+ };
1015
+ responses: {
1016
+ /** @description Error */
1017
+ Error: {
1018
+ headers: {
1019
+ [name: string]: unknown;
1020
+ };
1021
+ content: {
1022
+ "application/json": components["schemas"]["Error"];
1023
+ };
1024
+ };
1025
+ };
1026
+ parameters: {
1027
+ /** @description 1-based page number; the first page when omitted. */
1028
+ Page: number;
1029
+ /** @description How many per page, 100 at most. */
1030
+ PageSize: number;
1031
+ From: string;
1032
+ /** @description Exclusive. */
1033
+ To: string;
1034
+ ProjectId: string;
1035
+ OrderId: string;
1036
+ SubscriptionId: string;
1037
+ FromRequired: string;
1038
+ /** @description Exclusive. One month is `[2026-09-01, 2026-10-01)`. */
1039
+ ToRequired: string;
1040
+ };
1041
+ requestBodies: never;
1042
+ headers: never;
1043
+ pathItems: never;
1044
+ }
1045
+ export type $defs = Record<string, never>;
1046
+ export interface operations {
1047
+ "get-project-billing-account": {
1048
+ parameters: {
1049
+ query?: never;
1050
+ header?: never;
1051
+ path: {
1052
+ projectId: components["parameters"]["ProjectId"];
1053
+ };
1054
+ cookie?: never;
1055
+ };
1056
+ requestBody?: never;
1057
+ responses: {
1058
+ /** @description OK */
1059
+ 200: {
1060
+ headers: {
1061
+ [name: string]: unknown;
1062
+ };
1063
+ content: {
1064
+ "application/json": components["schemas"]["ProjectBillingAccount"];
1065
+ };
1066
+ };
1067
+ default: components["responses"]["Error"];
1068
+ };
1069
+ };
1070
+ "list-project-spend": {
1071
+ parameters: {
1072
+ query: {
1073
+ from: components["parameters"]["FromRequired"];
1074
+ /** @description Exclusive. One month is `[2026-09-01, 2026-10-01)`. */
1075
+ to: components["parameters"]["ToRequired"];
1076
+ /**
1077
+ * @description `resource` groups by the resource each charge names. Items billed under their own
1078
+ * identifier — a disk, a public address — appear as their own rows rather than under
1079
+ * the machine they are attached to, since the relationship between them is known to
1080
+ * the owning service and not here.
1081
+ */
1082
+ group_by?: "product" | "plan" | "resource";
1083
+ /** @description Filter by the fixed platform service ID. */
1084
+ product_id?: components["schemas"]["ProductID"];
1085
+ /** @description 1-based page number; the first page when omitted. */
1086
+ page?: components["parameters"]["Page"];
1087
+ /** @description How many per page, 100 at most. */
1088
+ page_size?: components["parameters"]["PageSize"];
1089
+ };
1090
+ header?: never;
1091
+ path: {
1092
+ projectId: components["parameters"]["ProjectId"];
1093
+ };
1094
+ cookie?: never;
1095
+ };
1096
+ requestBody?: never;
1097
+ responses: {
1098
+ /** @description OK */
1099
+ 200: {
1100
+ headers: {
1101
+ [name: string]: unknown;
1102
+ };
1103
+ content: {
1104
+ "application/json": components["schemas"]["SpendRowList"];
1105
+ };
1106
+ };
1107
+ default: components["responses"]["Error"];
1108
+ };
1109
+ };
1110
+ "list-project-usage-charges": {
1111
+ parameters: {
1112
+ query?: {
1113
+ /** @description 1-based page number; the first page when omitted. */
1114
+ page?: components["parameters"]["Page"];
1115
+ /** @description How many per page, 100 at most. */
1116
+ page_size?: components["parameters"]["PageSize"];
1117
+ resource_id?: string;
1118
+ product_id?: components["schemas"]["ProductID"];
1119
+ /** @description Filter by the meter UUID. */
1120
+ meter_id?: string;
1121
+ from?: components["parameters"]["From"];
1122
+ /** @description Exclusive. */
1123
+ to?: components["parameters"]["To"];
1124
+ };
1125
+ header?: never;
1126
+ path: {
1127
+ projectId: components["parameters"]["ProjectId"];
1128
+ };
1129
+ cookie?: never;
1130
+ };
1131
+ requestBody?: never;
1132
+ responses: {
1133
+ /** @description OK */
1134
+ 200: {
1135
+ headers: {
1136
+ [name: string]: unknown;
1137
+ };
1138
+ content: {
1139
+ "application/json": components["schemas"]["UsageChargeList"];
1140
+ };
1141
+ };
1142
+ default: components["responses"]["Error"];
1143
+ };
1144
+ };
1145
+ "list-project-subscriptions": {
1146
+ parameters: {
1147
+ query?: {
1148
+ expiring_before?: string;
1149
+ /** @description 1-based page number; the first page when omitted. */
1150
+ page?: components["parameters"]["Page"];
1151
+ /** @description How many per page, 100 at most. */
1152
+ page_size?: components["parameters"]["PageSize"];
1153
+ };
1154
+ header?: never;
1155
+ path: {
1156
+ projectId: components["parameters"]["ProjectId"];
1157
+ };
1158
+ cookie?: never;
1159
+ };
1160
+ requestBody?: never;
1161
+ responses: {
1162
+ /** @description OK */
1163
+ 200: {
1164
+ headers: {
1165
+ [name: string]: unknown;
1166
+ };
1167
+ content: {
1168
+ "application/json": components["schemas"]["SubscriptionList"];
1169
+ };
1170
+ };
1171
+ default: components["responses"]["Error"];
1172
+ };
1173
+ };
1174
+ "set-project-auto-renew": {
1175
+ parameters: {
1176
+ query?: never;
1177
+ header?: never;
1178
+ path: {
1179
+ projectId: components["parameters"]["ProjectId"];
1180
+ subscriptionId: components["parameters"]["SubscriptionId"];
1181
+ };
1182
+ cookie?: never;
1183
+ };
1184
+ requestBody: {
1185
+ content: {
1186
+ "application/json": components["schemas"]["AutoRenewSet"];
1187
+ };
1188
+ };
1189
+ responses: {
1190
+ /** @description OK */
1191
+ 200: {
1192
+ headers: {
1193
+ [name: string]: unknown;
1194
+ };
1195
+ content: {
1196
+ "application/json": components["schemas"]["Subscription"];
1197
+ };
1198
+ };
1199
+ default: components["responses"]["Error"];
1200
+ };
1201
+ };
1202
+ "list-project-orders": {
1203
+ parameters: {
1204
+ query?: {
1205
+ /** @description 1-based page number; the first page when omitted. */
1206
+ page?: components["parameters"]["Page"];
1207
+ /** @description How many per page, 100 at most. */
1208
+ page_size?: components["parameters"]["PageSize"];
1209
+ status?: components["schemas"]["OrderStatus"];
1210
+ from?: components["parameters"]["From"];
1211
+ /** @description Exclusive. */
1212
+ to?: components["parameters"]["To"];
1213
+ };
1214
+ header?: never;
1215
+ path: {
1216
+ projectId: components["parameters"]["ProjectId"];
1217
+ };
1218
+ cookie?: never;
1219
+ };
1220
+ requestBody?: never;
1221
+ responses: {
1222
+ /** @description OK */
1223
+ 200: {
1224
+ headers: {
1225
+ [name: string]: unknown;
1226
+ };
1227
+ content: {
1228
+ "application/json": components["schemas"]["OrderList"];
1229
+ };
1230
+ };
1231
+ default: components["responses"]["Error"];
1232
+ };
1233
+ };
1234
+ "get-project-order": {
1235
+ parameters: {
1236
+ query?: never;
1237
+ header?: never;
1238
+ path: {
1239
+ projectId: components["parameters"]["ProjectId"];
1240
+ orderId: components["parameters"]["OrderId"];
1241
+ };
1242
+ cookie?: never;
1243
+ };
1244
+ requestBody?: never;
1245
+ responses: {
1246
+ /** @description OK */
1247
+ 200: {
1248
+ headers: {
1249
+ [name: string]: unknown;
1250
+ };
1251
+ content: {
1252
+ "application/json": components["schemas"]["Order"];
1253
+ };
1254
+ };
1255
+ default: components["responses"]["Error"];
1256
+ };
1257
+ };
1258
+ "list-project-active-resources": {
1259
+ parameters: {
1260
+ query?: {
1261
+ /** @description 1-based page number; the first page when omitted. */
1262
+ page?: components["parameters"]["Page"];
1263
+ /** @description How many per page, 100 at most. */
1264
+ page_size?: components["parameters"]["PageSize"];
1265
+ resource_id?: string;
1266
+ };
1267
+ header?: never;
1268
+ path: {
1269
+ projectId: components["parameters"]["ProjectId"];
1270
+ };
1271
+ cookie?: never;
1272
+ };
1273
+ requestBody?: never;
1274
+ responses: {
1275
+ /** @description OK */
1276
+ 200: {
1277
+ headers: {
1278
+ [name: string]: unknown;
1279
+ };
1280
+ content: {
1281
+ "application/json": components["schemas"]["ActiveResourceList"];
1282
+ };
1283
+ };
1284
+ default: components["responses"]["Error"];
1285
+ };
1286
+ };
1287
+ "create-project-quote": {
1288
+ parameters: {
1289
+ query?: never;
1290
+ header?: never;
1291
+ path: {
1292
+ projectId: components["parameters"]["ProjectId"];
1293
+ };
1294
+ cookie?: never;
1295
+ };
1296
+ requestBody: {
1297
+ content: {
1298
+ "application/json": components["schemas"]["QuoteRequest"];
1299
+ };
1300
+ };
1301
+ responses: {
1302
+ /** @description OK */
1303
+ 200: {
1304
+ headers: {
1305
+ [name: string]: unknown;
1306
+ };
1307
+ content: {
1308
+ "application/json": components["schemas"]["Quote"];
1309
+ };
1310
+ };
1311
+ default: components["responses"]["Error"];
1312
+ };
1313
+ };
1314
+ "list-project-order-items": {
1315
+ parameters: {
1316
+ query?: {
1317
+ /** @description 1-based page number; the first page when omitted. */
1318
+ page?: components["parameters"]["Page"];
1319
+ /** @description How many per page, 100 at most. */
1320
+ page_size?: components["parameters"]["PageSize"];
1321
+ };
1322
+ header?: never;
1323
+ path: {
1324
+ projectId: components["parameters"]["ProjectId"];
1325
+ orderId: components["parameters"]["OrderId"];
1326
+ };
1327
+ cookie?: never;
1328
+ };
1329
+ requestBody?: never;
1330
+ responses: {
1331
+ /** @description OK */
1332
+ 200: {
1333
+ headers: {
1334
+ [name: string]: unknown;
1335
+ };
1336
+ content: {
1337
+ "application/json": components["schemas"]["OrderItemList"];
1338
+ };
1339
+ };
1340
+ default: components["responses"]["Error"];
1341
+ };
1342
+ };
1343
+ "list-project-allowances": {
1344
+ parameters: {
1345
+ query?: {
1346
+ /** @description 1-based page number; the first page when omitted. */
1347
+ page?: components["parameters"]["Page"];
1348
+ /** @description How many per page, 100 at most. */
1349
+ page_size?: components["parameters"]["PageSize"];
1350
+ /** @description Filter by ID or lookup key. A lookup key is scoped to the product. */
1351
+ meter_id?: string;
1352
+ product_id?: components["schemas"]["ProductID"];
1353
+ };
1354
+ header?: never;
1355
+ path: {
1356
+ projectId: components["parameters"]["ProjectId"];
1357
+ };
1358
+ cookie?: never;
1359
+ };
1360
+ requestBody?: never;
1361
+ responses: {
1362
+ /** @description OK */
1363
+ 200: {
1364
+ headers: {
1365
+ [name: string]: unknown;
1366
+ };
1367
+ content: {
1368
+ "application/json": components["schemas"]["AllowanceList"];
1369
+ };
1370
+ };
1371
+ default: components["responses"]["Error"];
1372
+ };
1373
+ };
1374
+ "list-project-entitlements": {
1375
+ parameters: {
1376
+ query?: {
1377
+ /** @description 1-based page number; the first page when omitted. */
1378
+ page?: components["parameters"]["Page"];
1379
+ /** @description How many per page, 100 at most. */
1380
+ page_size?: components["parameters"]["PageSize"];
1381
+ /** @description Filter by ID or lookup key. A lookup key is scoped to the product. */
1382
+ product_id?: components["schemas"]["ProductID"];
1383
+ };
1384
+ header?: never;
1385
+ path: {
1386
+ projectId: components["parameters"]["ProjectId"];
1387
+ };
1388
+ cookie?: never;
1389
+ };
1390
+ requestBody?: never;
1391
+ responses: {
1392
+ /** @description OK */
1393
+ 200: {
1394
+ headers: {
1395
+ [name: string]: unknown;
1396
+ };
1397
+ content: {
1398
+ "application/json": components["schemas"]["EntitlementList"];
1399
+ };
1400
+ };
1401
+ default: components["responses"]["Error"];
1402
+ };
1403
+ };
1404
+ }