@cloudfleet/sdk 0.0.1-1fc3e29 → 0.0.1-1ffe7d4

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 (73) hide show
  1. package/README.md +26 -2
  2. package/dist/@tanstack/react-query.gen.d.ts +1084 -0
  3. package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
  4. package/dist/@tanstack/react-query.gen.js +1305 -0
  5. package/dist/@tanstack/react-query.gen.js.map +1 -0
  6. package/dist/client/client.gen.d.ts +3 -0
  7. package/dist/client/client.gen.d.ts.map +1 -0
  8. package/dist/client/client.gen.js +217 -0
  9. package/dist/client/client.gen.js.map +1 -0
  10. package/dist/client/index.d.ts +9 -0
  11. package/dist/client/index.d.ts.map +1 -0
  12. package/dist/client/index.js +7 -0
  13. package/dist/client/index.js.map +1 -0
  14. package/dist/client/types.gen.d.ts +121 -0
  15. package/dist/client/types.gen.d.ts.map +1 -0
  16. package/dist/client/types.gen.js +3 -0
  17. package/dist/client/types.gen.js.map +1 -0
  18. package/dist/client/utils.gen.d.ts +38 -0
  19. package/dist/client/utils.gen.d.ts.map +1 -0
  20. package/dist/client/utils.gen.js +229 -0
  21. package/dist/client/utils.gen.js.map +1 -0
  22. package/dist/client.gen.d.ts +4 -4
  23. package/dist/client.gen.d.ts.map +1 -1
  24. package/dist/client.gen.js +2 -4
  25. package/dist/client.gen.js.map +1 -1
  26. package/dist/core/auth.gen.d.ts +19 -0
  27. package/dist/core/auth.gen.d.ts.map +1 -0
  28. package/dist/core/auth.gen.js +15 -0
  29. package/dist/core/auth.gen.js.map +1 -0
  30. package/dist/core/bodySerializer.gen.d.ts +26 -0
  31. package/dist/core/bodySerializer.gen.d.ts.map +1 -0
  32. package/dist/core/bodySerializer.gen.js +58 -0
  33. package/dist/core/bodySerializer.gen.js.map +1 -0
  34. package/dist/core/params.gen.d.ts +44 -0
  35. package/dist/core/params.gen.d.ts.map +1 -0
  36. package/dist/core/params.gen.js +101 -0
  37. package/dist/core/params.gen.js.map +1 -0
  38. package/dist/core/pathSerializer.gen.d.ts +34 -0
  39. package/dist/core/pathSerializer.gen.d.ts.map +1 -0
  40. package/dist/core/pathSerializer.gen.js +107 -0
  41. package/dist/core/pathSerializer.gen.js.map +1 -0
  42. package/dist/core/queryKeySerializer.gen.d.ts +19 -0
  43. package/dist/core/queryKeySerializer.gen.d.ts.map +1 -0
  44. package/dist/core/queryKeySerializer.gen.js +93 -0
  45. package/dist/core/queryKeySerializer.gen.js.map +1 -0
  46. package/dist/core/serverSentEvents.gen.d.ts +72 -0
  47. package/dist/core/serverSentEvents.gen.d.ts.map +1 -0
  48. package/dist/core/serverSentEvents.gen.js +133 -0
  49. package/dist/core/serverSentEvents.gen.js.map +1 -0
  50. package/dist/core/types.gen.d.ts +79 -0
  51. package/dist/core/types.gen.d.ts.map +1 -0
  52. package/dist/core/types.gen.js +3 -0
  53. package/dist/core/types.gen.js.map +1 -0
  54. package/dist/core/utils.gen.d.ts +20 -0
  55. package/dist/core/utils.gen.d.ts.map +1 -0
  56. package/dist/core/utils.gen.js +88 -0
  57. package/dist/core/utils.gen.js.map +1 -0
  58. package/dist/schemas.gen.d.ts +1953 -704
  59. package/dist/schemas.gen.d.ts.map +1 -1
  60. package/dist/schemas.gen.js +3321 -682
  61. package/dist/schemas.gen.js.map +1 -1
  62. package/dist/sdk.gen.d.ts +347 -165
  63. package/dist/sdk.gen.d.ts.map +1 -1
  64. package/dist/sdk.gen.js +495 -331
  65. package/dist/sdk.gen.js.map +1 -1
  66. package/dist/services/kubernetes/api.d.ts +20 -20
  67. package/dist/types.gen.d.ts +2115 -839
  68. package/dist/types.gen.d.ts.map +1 -1
  69. package/dist/zod.gen.d.ts +4130 -2745
  70. package/dist/zod.gen.d.ts.map +1 -1
  71. package/dist/zod.gen.js +1567 -994
  72. package/dist/zod.gen.js.map +1 -1
  73. package/package.json +28 -9
@@ -1,4 +1,11 @@
1
+ export type ClientOptions = {
2
+ baseUrl: 'https://api.cloudfleet.ai/v1' | (string & {});
3
+ };
1
4
  export type BillingContact = {
5
+ /**
6
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
7
+ */
8
+ type: 'business' | 'personal';
2
9
  /**
3
10
  * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
4
11
  */
@@ -36,13 +43,9 @@ export type BillingContact = {
36
43
  */
37
44
  email: string;
38
45
  /**
39
- * First name of the billing contact person.
40
- */
41
- first_name: string;
42
- /**
43
- * Last name of the billing contact person.
46
+ * Name of the billing contact person.
44
47
  */
45
- last_name: string;
48
+ individual_name: string;
46
49
  /**
47
50
  * Tax ID of the organization.
48
51
  */
@@ -50,7 +53,7 @@ export type BillingContact = {
50
53
  /**
51
54
  * Type of the tax ID.
52
55
  */
53
- tax_id_type?: 'ad_nrt' | 'ae_trn' | 'al_tin' | 'am_tin' | 'ao_tin' | 'ar_cuit' | 'at_vat' | 'au_abn' | 'au_arn' | 'ba_tin' | 'bb_tin' | 'be_vat' | 'bg_uic' | 'bg_vat' | 'bh_vat' | 'bo_tin' | 'br_cnpj' | 'br_cpf' | 'bs_tin' | 'by_tin' | 'ca_bn' | 'ca_gst_hst' | 'ca_pst_bc' | 'ca_pst_mb' | 'ca_pst_sk' | 'ca_qst' | 'cd_nif' | 'ch_uid' | 'ch_vat' | 'cl_tin' | 'cn_tin' | 'co_nit' | 'cr_tin' | 'cy_vat' | 'cz_vat' | 'de_stn' | 'de_vat' | 'dk_vat' | 'do_rcn' | 'ec_ruc' | 'ee_vat' | 'eg_tin' | 'es_cif' | 'es_vat' | 'eu_oss_vat' | 'fi_vat' | 'fr_vat' | 'gb_vat' | 'ge_vat' | 'gn_nif' | 'gr_vat' | 'hk_br' | 'hr_oib' | 'hr_vat' | 'hu_tin' | 'hu_vat' | 'id_npwp' | 'ie_vat' | 'il_vat' | 'in_gst' | 'is_vat' | 'it_vat' | 'jp_cn' | 'jp_rn' | 'jp_trn' | 'ke_pin' | 'kh_tin' | 'kr_brn' | 'kz_bin' | 'li_uid' | 'li_vat' | 'lt_vat' | 'lu_vat' | 'lv_vat' | 'ma_vat' | 'md_vat' | 'me_pib' | 'mk_vat' | 'mr_nif' | 'mt_vat' | 'mx_rfc' | 'my_frp' | 'my_itn' | 'my_sst' | 'ng_tin' | 'nl_vat' | 'no_vat' | 'no_voec' | 'np_pan' | 'nz_gst' | 'om_vat' | 'pe_ruc' | 'ph_tin' | 'pl_vat' | 'pt_vat' | 'ro_tin' | 'ro_vat' | 'rs_pib' | 'ru_inn' | 'ru_kpp' | 'sa_vat' | 'se_vat' | 'sg_gst' | 'sg_uen' | 'si_tin' | 'si_vat' | 'sk_vat' | 'sn_ninea' | 'sr_fin' | 'sv_nit' | 'th_vat' | 'tj_tin' | 'tr_tin' | 'tw_vat' | 'tz_vat' | 'ua_vat' | 'ug_tin' | 'us_ein' | 'uy_ruc' | 'uz_tin' | 'uz_vat' | 've_rif' | 'vn_tin' | 'xi_vat' | 'za_vat' | 'zm_tin' | 'zw_tin' | '';
56
+ tax_id_type?: 'ad_nrt' | 'ae_trn' | 'al_tin' | 'am_tin' | 'ao_tin' | 'ar_cuit' | 'at_vat' | 'au_abn' | 'au_arn' | 'aw_tin' | 'az_tin' | 'ba_tin' | 'bb_tin' | 'bd_bin' | 'be_vat' | 'bf_ifu' | 'bg_uic' | 'bg_vat' | 'bh_vat' | 'bj_ifu' | 'bo_tin' | 'br_cnpj' | 'br_cpf' | 'bs_tin' | 'by_tin' | 'ca_bn' | 'ca_gst_hst' | 'ca_pst_bc' | 'ca_pst_mb' | 'ca_pst_sk' | 'ca_qst' | 'cd_nif' | 'ch_uid' | 'ch_vat' | 'cl_tin' | 'cm_niu' | 'cn_tin' | 'co_nit' | 'cr_tin' | 'cv_nif' | 'cy_vat' | 'cz_vat' | 'de_stn' | 'de_vat' | 'dk_vat' | 'do_rcn' | 'ec_ruc' | 'ee_vat' | 'eg_tin' | 'es_cif' | 'es_vat' | 'et_tin' | 'eu_oss_vat' | 'fi_vat' | 'fr_vat' | 'gb_vat' | 'ge_vat' | 'gn_nif' | 'gr_vat' | 'hk_br' | 'hr_oib' | 'hr_vat' | 'hu_tin' | 'hu_vat' | 'id_npwp' | 'ie_vat' | 'il_vat' | 'in_gst' | 'is_vat' | 'it_vat' | 'jp_cn' | 'jp_rn' | 'jp_trn' | 'ke_pin' | 'kg_tin' | 'kh_tin' | 'kr_brn' | 'kz_bin' | 'la_tin' | 'li_uid' | 'li_vat' | 'lk_vat' | 'lt_vat' | 'lu_vat' | 'lv_vat' | 'ma_vat' | 'md_vat' | 'me_pib' | 'mk_vat' | 'mr_nif' | 'mt_vat' | 'mx_rfc' | 'my_frp' | 'my_itn' | 'my_sst' | 'ng_tin' | 'nl_vat' | 'no_vat' | 'no_voec' | 'np_pan' | 'nz_gst' | 'om_vat' | 'pe_ruc' | 'ph_tin' | 'pl_vat' | 'pt_vat' | 'ro_tin' | 'ro_vat' | 'rs_pib' | 'ru_inn' | 'ru_kpp' | 'sa_vat' | 'se_vat' | 'sg_gst' | 'sg_uen' | 'si_tin' | 'si_vat' | 'sk_vat' | 'sn_ninea' | 'sr_fin' | 'sv_nit' | 'th_vat' | 'tj_tin' | 'tr_tin' | 'tw_vat' | 'tz_vat' | 'ua_vat' | 'ug_tin' | 'us_ein' | 'uy_ruc' | 'uz_tin' | 'uz_vat' | 've_rif' | 'vn_tin' | 'xi_vat' | 'za_vat' | 'zm_tin' | 'zw_tin' | '';
54
57
  };
55
58
  export type BillingCredits = {
56
59
  /**
@@ -58,35 +61,31 @@ export type BillingCredits = {
58
61
  */
59
62
  id?: string;
60
63
  /**
61
- * Date of the credit application. ISO 8601 date string in the UTC timezone.
62
- */
63
- date_created: string;
64
- /**
65
- * Promotional code used by the customer.
64
+ * Type of the promotional code.
66
65
  */
67
- code: string;
66
+ type: 'credit' | 'discount';
68
67
  /**
69
- * Description of the promotional code.
68
+ * Timestamp when the credit becomes active. ISO 8601 date string in the UTC timezone.
70
69
  */
71
- description?: string;
70
+ date_start: string;
72
71
  /**
73
- * List of product SKUs that the promotional code can be used on.
72
+ * Timestamp when the credit expires or becomes inactive. ISO 8601 date string in the UTC timezone.
74
73
  */
75
- products?: Array<string>;
74
+ date_end?: string;
76
75
  /**
77
- * Type of the promotional code.
76
+ * Promotional code used by the customer.
78
77
  */
79
- type: 'credit' | 'discount';
78
+ code: string;
80
79
  /**
81
- * Value of the promotional code.
80
+ * Description of the promotional code.
82
81
  */
83
- value: number;
82
+ description?: string;
84
83
  /**
85
- * Date of the billing cycle. An ISO 8601 date string in the UTC timezone.
84
+ * Total value of the promotional code.
86
85
  */
87
- billing_period: string;
86
+ value_total: number;
88
87
  /**
89
- * Value of the promotional code.
88
+ * Remaining value of the promotional code.
90
89
  */
91
90
  value_remaining?: number;
92
91
  };
@@ -134,9 +133,9 @@ export type Chart = {
134
133
  */
135
134
  chart: string;
136
135
  /**
137
- * Status of the chart deployment.
136
+ * Status of the chart deployment (Flux HelmRelease Ready condition reason, e.g. InstallSucceeded, UpgradeFailed, Progressing).
138
137
  */
139
- status: 'InstallSucceeded' | 'InstallFailed' | 'UpgradeSucceeded' | 'UpgradeFailed' | 'TestSucceeded' | 'TestFailed' | 'RollbackSucceeded' | 'RollbackFailed' | 'UninstallSucceeded' | 'UninstallFailed' | 'ArtifactFailed' | 'DependencyNotReady' | 'Progressing' | 'SourceNotReady';
138
+ status: string;
140
139
  /**
141
140
  * Current version of the chart deployment.
142
141
  */
@@ -164,6 +163,9 @@ export type ChartUpdateInput = {
164
163
  */
165
164
  version_channel: string;
166
165
  };
166
+ /**
167
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
168
+ */
167
169
  export type ClusterCreateInput = {
168
170
  /**
169
171
  * Name of the cluster.
@@ -172,15 +174,61 @@ export type ClusterCreateInput = {
172
174
  /**
173
175
  * Tier of the cluster.
174
176
  */
175
- tier: 'basic' | 'pro';
176
- /**
177
- * Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a". This field can not be updated after creation.
178
- */
179
- region?: 'staging' | 'northamerica-central-1' | 'europe-central-1a';
177
+ tier?: 'basic' | 'pro' | 'enterprise';
180
178
  /**
181
179
  * Version of the kubernetes cluster.
182
180
  */
183
181
  version_channel?: string;
182
+ /**
183
+ * Release channel for the cluster's control plane.
184
+ */
185
+ release_channel?: 'rapid' | 'stable' | 'extended';
186
+ /**
187
+ * Cluster feature toggles.
188
+ */
189
+ features?: {
190
+ /**
191
+ * GPU sharing strategy.
192
+ */
193
+ gpu_sharing_strategy?: 'none' | 'mps' | 'time_slicing';
194
+ /**
195
+ * Maximum number of pods that may share a single GPU.
196
+ */
197
+ gpu_max_shared_clients_per_gpu?: number;
198
+ /**
199
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
200
+ */
201
+ cilium_socket_lb_host_namespace_only?: boolean;
202
+ };
203
+ /**
204
+ * Cloudfleet control plane region. This field can not be updated after creation.
205
+ */
206
+ region: string;
207
+ /**
208
+ * Cluster networking configuration. Immutable after creation.
209
+ */
210
+ networking?: {
211
+ /**
212
+ * CIDR block for pod IPs.
213
+ */
214
+ pod_cidr?: string;
215
+ /**
216
+ * CIDR block for service IPs.
217
+ */
218
+ service_cidr?: string;
219
+ /**
220
+ * Enable IPv4+IPv6 dual-stack networking.
221
+ */
222
+ dual_stack?: boolean;
223
+ /**
224
+ * IPv6 pod CIDR. Requires dual_stack.
225
+ */
226
+ pod_cidr_v6?: string;
227
+ /**
228
+ * IPv6 service CIDR. Requires dual_stack.
229
+ */
230
+ service_cidr_v6?: string;
231
+ };
184
232
  };
185
233
  export type ClusterJoinInformation = {
186
234
  /**
@@ -191,10 +239,22 @@ export type ClusterJoinInformation = {
191
239
  * Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.
192
240
  */
193
241
  endpoint: string;
242
+ /**
243
+ * Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.
244
+ */
245
+ cluster_dns: string;
246
+ /**
247
+ * Pod CIDR for the cluster. Used to configure iptables rules on nodes to prevent Tailscale routing loops.
248
+ */
249
+ pod_cidr: string;
194
250
  /**
195
251
  * Authentication key for the cluster.
196
252
  */
197
253
  auth_key: string;
254
+ /**
255
+ * Coordination server the node registers against. Empty on data plane v1 clusters, where the node advertises its own tag instead. A non-empty value requires a client that declares the dataplane-v2 capability.
256
+ */
257
+ login_server: string;
198
258
  /**
199
259
  * Bootstrap token for the cluster.
200
260
  */
@@ -215,6 +275,10 @@ export type ClusterJoinInformation = {
215
275
  * Containerd version of the cluster.
216
276
  */
217
277
  containerd: string;
278
+ /**
279
+ * NVIDIA driver version of the cluster.
280
+ */
281
+ nvidia_driver: string;
218
282
  };
219
283
  /**
220
284
  * OIDC Information for hosts to access to third party API's.
@@ -234,6 +298,9 @@ export type ClusterJoinInformation = {
234
298
  gcp_workload_identity_provider: string;
235
299
  };
236
300
  };
301
+ /**
302
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
303
+ */
237
304
  export type Cluster = {
238
305
  /**
239
306
  * Name of the cluster.
@@ -242,24 +309,71 @@ export type Cluster = {
242
309
  /**
243
310
  * Tier of the cluster.
244
311
  */
245
- tier: 'basic' | 'pro';
312
+ tier: 'basic' | 'pro' | 'enterprise';
313
+ /**
314
+ * Version of the kubernetes cluster.
315
+ */
316
+ version_channel: string;
246
317
  /**
247
- * Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a". This field can not be updated after creation.
318
+ * Release channel for the cluster's control plane.
248
319
  */
249
- region?: 'staging' | 'northamerica-central-1' | 'europe-central-1a';
320
+ release_channel: 'rapid' | 'stable' | 'extended';
250
321
  /**
251
- * Version of the kubernetes cluster.
322
+ * Cluster feature toggles.
252
323
  */
253
- version_channel?: string;
324
+ features: {
325
+ /**
326
+ * GPU sharing strategy.
327
+ */
328
+ gpu_sharing_strategy: 'none' | 'mps' | 'time_slicing';
329
+ /**
330
+ * Maximum number of pods that may share a single GPU.
331
+ */
332
+ gpu_max_shared_clients_per_gpu: number;
333
+ /**
334
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
335
+ */
336
+ cilium_socket_lb_host_namespace_only: boolean;
337
+ };
338
+ /**
339
+ * Cloudfleet control plane region. This field can not be updated after creation.
340
+ */
341
+ region: string;
342
+ /**
343
+ * Cluster networking configuration. Immutable after creation.
344
+ */
345
+ networking: {
346
+ /**
347
+ * CIDR block for pod IPs.
348
+ */
349
+ pod_cidr: string;
350
+ /**
351
+ * CIDR block for service IPs.
352
+ */
353
+ service_cidr: string;
354
+ /**
355
+ * Enable IPv4+IPv6 dual-stack networking.
356
+ */
357
+ dual_stack: boolean;
358
+ /**
359
+ * IPv6 pod CIDR. Requires dual_stack.
360
+ */
361
+ pod_cidr_v6: string;
362
+ /**
363
+ * IPv6 service CIDR. Requires dual_stack.
364
+ */
365
+ service_cidr_v6: string;
366
+ };
254
367
  /**
255
368
  * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
256
369
  */
257
370
  id: string;
258
371
  /**
259
- * Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.
372
+ * Status of the cluster.
260
373
  */
261
- status: 'active' | 'deleted' | 'creating' | 'deployed' | 'failed' | 'updating';
374
+ status: 'creating' | 'deployed' | 'updating' | 'disabled';
262
375
  endpoint?: string | '';
376
+ endpoint_public?: string | '';
263
377
  /**
264
378
  * Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.
265
379
  */
@@ -279,125 +393,338 @@ export type Cluster = {
279
393
  /**
280
394
  * Indicates if the cluster is ready to be used.
281
395
  */
282
- ready?: boolean;
396
+ ready: boolean;
283
397
  };
398
+ /**
399
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
400
+ */
284
401
  export type ClusterUpdateInput = {
285
402
  /**
286
403
  * Name of the cluster.
287
404
  */
288
- name?: string;
405
+ name: string;
289
406
  /**
290
407
  * Tier of the cluster.
291
408
  */
292
- tier: 'basic' | 'pro';
409
+ tier?: 'basic' | 'pro' | 'enterprise';
293
410
  /**
294
411
  * Version of the kubernetes cluster.
295
412
  */
296
413
  version_channel?: string;
414
+ /**
415
+ * Release channel for the cluster's control plane.
416
+ */
417
+ release_channel?: 'rapid' | 'stable' | 'extended';
418
+ /**
419
+ * Cluster feature toggles.
420
+ */
421
+ features?: {
422
+ /**
423
+ * GPU sharing strategy.
424
+ */
425
+ gpu_sharing_strategy?: 'none' | 'mps' | 'time_slicing';
426
+ /**
427
+ * Maximum number of pods that may share a single GPU.
428
+ */
429
+ gpu_max_shared_clients_per_gpu?: number;
430
+ /**
431
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
432
+ */
433
+ cilium_socket_lb_host_namespace_only?: boolean;
434
+ };
435
+ };
436
+ export type FeedbackCreateInput = {
437
+ /**
438
+ * Overall sentiment: positive, neutral or negative.
439
+ */
440
+ sentiment: 'positive' | 'neutral' | 'negative';
441
+ /**
442
+ * What was useful, confusing, wrong or missing.
443
+ */
444
+ message: string;
445
+ /**
446
+ * What you were trying to do when it happened.
447
+ */
448
+ context?: string;
449
+ /**
450
+ * Where the feedback was sent from: cli, mcp, plugin, console or api. Defaults to api.
451
+ */
452
+ source?: 'cli' | 'mcp' | 'plugin' | 'console' | 'api';
453
+ /**
454
+ * Name and version of the sending client.
455
+ */
456
+ client?: string;
457
+ };
458
+ export type Feedback = {
459
+ /**
460
+ * Unique identifier of the feedback entry (Mongo ObjectId).
461
+ */
462
+ id: string;
297
463
  };
464
+ /**
465
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
466
+ */
298
467
  export type FleetCreateInput = {
299
468
  /**
300
469
  * Limits define a set of bounds for provisioning capacity.
301
470
  */
302
471
  limits?: {
303
472
  /**
304
- * CPU limit in cores.
473
+ * CPU limit in cores. Maximum 100,000.
305
474
  */
306
- cpu: number;
475
+ cpu?: number;
307
476
  };
308
477
  gcp?: {
309
- enabled?: boolean;
478
+ enabled: boolean;
310
479
  /**
311
- * Project GCP Project id to deploy instances into
480
+ * GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.
312
481
  */
313
- project: string;
482
+ project?: string;
314
483
  };
315
484
  hetzner?: {
316
- enabled?: boolean;
485
+ enabled: boolean;
317
486
  /**
318
- * Hetzner Cloud API key with read / write access
487
+ * Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.
319
488
  */
320
- apiKey: string;
489
+ apiKey?: string;
321
490
  };
322
491
  aws?: {
323
- enabled?: boolean;
492
+ enabled: boolean;
493
+ /**
494
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
495
+ */
496
+ controllerRoleArn?: string;
497
+ };
498
+ /**
499
+ * Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together.
500
+ */
501
+ constraints?: {
502
+ /**
503
+ * Allowed values for `karpenter.sh/capacity-type`.
504
+ */
505
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
506
+ /**
507
+ * Allowed values for `kubernetes.io/arch`.
508
+ */
509
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
510
+ /**
511
+ * Allowed values for `cfke.io/instance-family`.
512
+ */
513
+ 'cfke.io/instance-family'?: Array<'a1' | 'a2' | 'a3' | 'a4' | 'c1' | 'c2' | 'c2d' | 'c3' | 'c3d' | 'c4' | 'c4a' | 'c4d' | 'c5' | 'c5a' | 'c5ad' | 'c5d' | 'c5n' | 'c6a' | 'c6g' | 'c6gd' | 'c6gn' | 'c6i' | 'c6id' | 'c6in' | 'c7a' | 'c7g' | 'c7gd' | 'c7gn' | 'c7i' | 'c7i-flex' | 'c8g' | 'c8gd' | 'cax' | 'ccx' | 'cpx' | 'cx' | 'd2' | 'd3' | 'd3en' | 'dl1' | 'dl2q' | 'e2' | 'f1' | 'f2' | 'g1' | 'g2' | 'g4ad' | 'g4dn' | 'g5' | 'g5g' | 'g6' | 'g6e' | 'gr6' | 'h1' | 'h3' | 'hpc6a' | 'hpc6id' | 'hpc7a' | 'hpc7g' | 'i2' | 'i3' | 'i3en' | 'i4g' | 'i4i' | 'i7i' | 'i7ie' | 'i8g' | 'im4gn' | 'inf1' | 'inf2' | 'is4gen' | 'm1' | 'm2' | 'm3' | 'm4' | 'm5' | 'm5a' | 'm5ad' | 'm5d' | 'm5dn' | 'm5n' | 'm5zn' | 'm6a' | 'm6g' | 'm6gd' | 'm6i' | 'm6id' | 'm6idn' | 'm6in' | 'm7a' | 'm7g' | 'm7gd' | 'm7i' | 'm7i-flex' | 'm8g' | 'm8gd' | 'n1' | 'n2' | 'n2d' | 'n4' | 'p3' | 'p3dn' | 'p4d' | 'p4de' | 'p5' | 'p5e' | 'p5en' | 'p6-b200' | 'r3' | 'r4' | 'r5' | 'r5a' | 'r5ad' | 'r5b' | 'r5d' | 'r5dn' | 'r5n' | 'r6a' | 'r6g' | 'r6gd' | 'r6i' | 'r6id' | 'r6idn' | 'r6in' | 'r7a' | 'r7g' | 'r7gd' | 'r7i' | 'r7iz' | 'r8g' | 'r8gd' | 't2' | 't2a' | 't2d' | 't3' | 't3a' | 't4g' | 'trn1' | 'trn1n' | 'u-3tb1' | 'u-6tb1' | 'u7i-12tb' | 'u7i-6tb' | 'u7i-8tb' | 'u7in-16tb' | 'u7in-24tb' | 'u7in-32tb' | 'vt1' | 'x1' | 'x1e' | 'x2gd' | 'x2idn' | 'x2iedn' | 'x2iezn' | 'x4' | 'x8g' | 'z1d' | 'z3'>;
324
514
  /**
325
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
515
+ * Allowed values for `topology.kubernetes.io/region`.
326
516
  */
327
- controllerRoleArn: string;
517
+ 'topology.kubernetes.io/region'?: Array<'africa-south1' | 'ap-northeast-1' | 'ap-northeast-2' | 'ap-northeast-3' | 'ap-south-1' | 'ap-southeast-1' | 'ap-southeast-2' | 'ash' | 'asia-east1' | 'asia-east2' | 'asia-northeast1' | 'asia-northeast2' | 'asia-northeast3' | 'asia-south1' | 'asia-south2' | 'asia-southeast1' | 'asia-southeast2' | 'australia-southeast1' | 'australia-southeast2' | 'ca-central-1' | 'eu-central-1' | 'eu-central-2' | 'eu-north-1' | 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'europe-central2' | 'europe-north1' | 'europe-southwest1' | 'europe-west1' | 'europe-west10' | 'europe-west12' | 'europe-west2' | 'europe-west3' | 'europe-west4' | 'europe-west6' | 'europe-west8' | 'europe-west9' | 'fsn1' | 'hel1' | 'hil' | 'me-central1' | 'me-central2' | 'me-west1' | 'nbg1' | 'northamerica-northeast1' | 'northamerica-northeast2' | 'sa-east-1' | 'sin' | 'southamerica-east1' | 'southamerica-west1' | 'us-central1' | 'us-east-1' | 'us-east-2' | 'us-east1' | 'us-east4' | 'us-east5' | 'us-south1' | 'us-west-1' | 'us-west-2' | 'us-west1' | 'us-west2' | 'us-west3' | 'us-west4'>;
328
518
  };
519
+ /**
520
+ * Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).
521
+ */
522
+ scalingProfile?: 'aggressive' | 'conservative';
523
+ /**
524
+ * Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.
525
+ */
526
+ taints?: Array<{
527
+ /**
528
+ * Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.
529
+ */
530
+ key: string;
531
+ /**
532
+ * Taint value. Optional.
533
+ */
534
+ value?: string;
535
+ /**
536
+ * Taint effect.
537
+ */
538
+ effect: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
539
+ }>;
329
540
  /**
330
541
  * Unique identifier of the kubernetes fleet.
331
542
  */
332
543
  id: string;
333
544
  };
545
+ /**
546
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
547
+ */
334
548
  export type Fleet = {
335
549
  /**
336
550
  * Limits define a set of bounds for provisioning capacity.
337
551
  */
338
552
  limits?: {
339
553
  /**
340
- * CPU limit in cores.
554
+ * CPU limit in cores. Maximum 100,000.
341
555
  */
342
- cpu: number;
556
+ cpu?: number;
343
557
  };
344
558
  gcp?: {
345
- enabled?: boolean;
559
+ enabled: boolean;
346
560
  /**
347
- * Project GCP Project id to deploy instances into
561
+ * GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.
348
562
  */
349
- project: string;
563
+ project?: string;
350
564
  };
351
565
  hetzner?: {
352
- enabled?: boolean;
566
+ enabled: boolean;
353
567
  /**
354
- * Hetzner Cloud API key with read / write access
568
+ * Redacted Hetzner API token. Returned as 64 asterisks when a token is configured; omitted otherwise. The real value is never echoed by the API.
355
569
  */
356
- apiKey: string;
570
+ apiKey?: string;
357
571
  };
358
572
  aws?: {
359
- enabled?: boolean;
573
+ enabled: boolean;
574
+ /**
575
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
576
+ */
577
+ controllerRoleArn?: string;
578
+ };
579
+ /**
580
+ * Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together.
581
+ */
582
+ constraints: {
583
+ /**
584
+ * Allowed values for `karpenter.sh/capacity-type`.
585
+ */
586
+ 'karpenter.sh/capacity-type': Array<'on-demand' | 'spot'>;
587
+ /**
588
+ * Allowed values for `kubernetes.io/arch`.
589
+ */
590
+ 'kubernetes.io/arch': Array<'amd64' | 'arm64'>;
591
+ /**
592
+ * Allowed values for `cfke.io/instance-family`.
593
+ */
594
+ 'cfke.io/instance-family'?: Array<'a1' | 'a2' | 'a3' | 'a4' | 'c1' | 'c2' | 'c2d' | 'c3' | 'c3d' | 'c4' | 'c4a' | 'c4d' | 'c5' | 'c5a' | 'c5ad' | 'c5d' | 'c5n' | 'c6a' | 'c6g' | 'c6gd' | 'c6gn' | 'c6i' | 'c6id' | 'c6in' | 'c7a' | 'c7g' | 'c7gd' | 'c7gn' | 'c7i' | 'c7i-flex' | 'c8g' | 'c8gd' | 'cax' | 'ccx' | 'cpx' | 'cx' | 'd2' | 'd3' | 'd3en' | 'dl1' | 'dl2q' | 'e2' | 'f1' | 'f2' | 'g1' | 'g2' | 'g4ad' | 'g4dn' | 'g5' | 'g5g' | 'g6' | 'g6e' | 'gr6' | 'h1' | 'h3' | 'hpc6a' | 'hpc6id' | 'hpc7a' | 'hpc7g' | 'i2' | 'i3' | 'i3en' | 'i4g' | 'i4i' | 'i7i' | 'i7ie' | 'i8g' | 'im4gn' | 'inf1' | 'inf2' | 'is4gen' | 'm1' | 'm2' | 'm3' | 'm4' | 'm5' | 'm5a' | 'm5ad' | 'm5d' | 'm5dn' | 'm5n' | 'm5zn' | 'm6a' | 'm6g' | 'm6gd' | 'm6i' | 'm6id' | 'm6idn' | 'm6in' | 'm7a' | 'm7g' | 'm7gd' | 'm7i' | 'm7i-flex' | 'm8g' | 'm8gd' | 'n1' | 'n2' | 'n2d' | 'n4' | 'p3' | 'p3dn' | 'p4d' | 'p4de' | 'p5' | 'p5e' | 'p5en' | 'p6-b200' | 'r3' | 'r4' | 'r5' | 'r5a' | 'r5ad' | 'r5b' | 'r5d' | 'r5dn' | 'r5n' | 'r6a' | 'r6g' | 'r6gd' | 'r6i' | 'r6id' | 'r6idn' | 'r6in' | 'r7a' | 'r7g' | 'r7gd' | 'r7i' | 'r7iz' | 'r8g' | 'r8gd' | 't2' | 't2a' | 't2d' | 't3' | 't3a' | 't4g' | 'trn1' | 'trn1n' | 'u-3tb1' | 'u-6tb1' | 'u7i-12tb' | 'u7i-6tb' | 'u7i-8tb' | 'u7in-16tb' | 'u7in-24tb' | 'u7in-32tb' | 'vt1' | 'x1' | 'x1e' | 'x2gd' | 'x2idn' | 'x2iedn' | 'x2iezn' | 'x4' | 'x8g' | 'z1d' | 'z3'>;
360
595
  /**
361
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
596
+ * Allowed values for `topology.kubernetes.io/region`.
362
597
  */
363
- controllerRoleArn: string;
598
+ 'topology.kubernetes.io/region'?: Array<'africa-south1' | 'ap-northeast-1' | 'ap-northeast-2' | 'ap-northeast-3' | 'ap-south-1' | 'ap-southeast-1' | 'ap-southeast-2' | 'ash' | 'asia-east1' | 'asia-east2' | 'asia-northeast1' | 'asia-northeast2' | 'asia-northeast3' | 'asia-south1' | 'asia-south2' | 'asia-southeast1' | 'asia-southeast2' | 'australia-southeast1' | 'australia-southeast2' | 'ca-central-1' | 'eu-central-1' | 'eu-central-2' | 'eu-north-1' | 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'europe-central2' | 'europe-north1' | 'europe-southwest1' | 'europe-west1' | 'europe-west10' | 'europe-west12' | 'europe-west2' | 'europe-west3' | 'europe-west4' | 'europe-west6' | 'europe-west8' | 'europe-west9' | 'fsn1' | 'hel1' | 'hil' | 'me-central1' | 'me-central2' | 'me-west1' | 'nbg1' | 'northamerica-northeast1' | 'northamerica-northeast2' | 'sa-east-1' | 'sin' | 'southamerica-east1' | 'southamerica-west1' | 'us-central1' | 'us-east-1' | 'us-east-2' | 'us-east1' | 'us-east4' | 'us-east5' | 'us-south1' | 'us-west-1' | 'us-west-2' | 'us-west1' | 'us-west2' | 'us-west3' | 'us-west4'>;
364
599
  };
600
+ /**
601
+ * Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).
602
+ */
603
+ scalingProfile: 'aggressive' | 'conservative';
604
+ /**
605
+ * Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.
606
+ */
607
+ taints: Array<{
608
+ /**
609
+ * Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.
610
+ */
611
+ key: string;
612
+ /**
613
+ * Taint value. Optional.
614
+ */
615
+ value?: string;
616
+ /**
617
+ * Taint effect.
618
+ */
619
+ effect: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
620
+ }>;
365
621
  /**
366
622
  * Unique identifier of the kubernetes fleet.
367
623
  */
368
624
  id: string;
625
+ /**
626
+ * Indicates whether the fleet configuration is healthy.
627
+ */
628
+ ready: boolean;
629
+ /**
630
+ * Human-readable reason the fleet is not ready. Present only when `ready` is false.
631
+ */
632
+ status_message?: string;
633
+ /**
634
+ * Creation date and time of the fleet.
635
+ */
636
+ created_at: string;
637
+ /**
638
+ * Date and time the fleet was last updated.
639
+ */
640
+ updated_at: string;
369
641
  };
642
+ /**
643
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
644
+ */
370
645
  export type FleetUpdateInput = {
371
646
  /**
372
647
  * Limits define a set of bounds for provisioning capacity.
373
648
  */
374
649
  limits?: {
375
650
  /**
376
- * CPU limit in cores.
651
+ * CPU limit in cores. Maximum 100,000.
377
652
  */
378
- cpu: number;
653
+ cpu?: number;
379
654
  };
380
655
  gcp?: {
381
- enabled?: boolean;
656
+ enabled: boolean;
382
657
  /**
383
- * Project GCP Project id to deploy instances into
658
+ * GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.
384
659
  */
385
- project: string;
660
+ project?: string;
386
661
  };
387
662
  hetzner?: {
388
- enabled?: boolean;
663
+ enabled: boolean;
389
664
  /**
390
- * Hetzner Cloud API key with read / write access
665
+ * Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.
391
666
  */
392
- apiKey: string;
667
+ apiKey?: string;
393
668
  };
394
669
  aws?: {
395
- enabled?: boolean;
670
+ enabled: boolean;
671
+ /**
672
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
673
+ */
674
+ controllerRoleArn?: string;
675
+ };
676
+ /**
677
+ * Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together.
678
+ */
679
+ constraints?: {
680
+ /**
681
+ * Allowed values for `karpenter.sh/capacity-type`.
682
+ */
683
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
684
+ /**
685
+ * Allowed values for `kubernetes.io/arch`.
686
+ */
687
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
396
688
  /**
397
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
689
+ * Allowed values for `cfke.io/instance-family`.
398
690
  */
399
- controllerRoleArn: string;
691
+ 'cfke.io/instance-family'?: Array<'a1' | 'a2' | 'a3' | 'a4' | 'c1' | 'c2' | 'c2d' | 'c3' | 'c3d' | 'c4' | 'c4a' | 'c4d' | 'c5' | 'c5a' | 'c5ad' | 'c5d' | 'c5n' | 'c6a' | 'c6g' | 'c6gd' | 'c6gn' | 'c6i' | 'c6id' | 'c6in' | 'c7a' | 'c7g' | 'c7gd' | 'c7gn' | 'c7i' | 'c7i-flex' | 'c8g' | 'c8gd' | 'cax' | 'ccx' | 'cpx' | 'cx' | 'd2' | 'd3' | 'd3en' | 'dl1' | 'dl2q' | 'e2' | 'f1' | 'f2' | 'g1' | 'g2' | 'g4ad' | 'g4dn' | 'g5' | 'g5g' | 'g6' | 'g6e' | 'gr6' | 'h1' | 'h3' | 'hpc6a' | 'hpc6id' | 'hpc7a' | 'hpc7g' | 'i2' | 'i3' | 'i3en' | 'i4g' | 'i4i' | 'i7i' | 'i7ie' | 'i8g' | 'im4gn' | 'inf1' | 'inf2' | 'is4gen' | 'm1' | 'm2' | 'm3' | 'm4' | 'm5' | 'm5a' | 'm5ad' | 'm5d' | 'm5dn' | 'm5n' | 'm5zn' | 'm6a' | 'm6g' | 'm6gd' | 'm6i' | 'm6id' | 'm6idn' | 'm6in' | 'm7a' | 'm7g' | 'm7gd' | 'm7i' | 'm7i-flex' | 'm8g' | 'm8gd' | 'n1' | 'n2' | 'n2d' | 'n4' | 'p3' | 'p3dn' | 'p4d' | 'p4de' | 'p5' | 'p5e' | 'p5en' | 'p6-b200' | 'r3' | 'r4' | 'r5' | 'r5a' | 'r5ad' | 'r5b' | 'r5d' | 'r5dn' | 'r5n' | 'r6a' | 'r6g' | 'r6gd' | 'r6i' | 'r6id' | 'r6idn' | 'r6in' | 'r7a' | 'r7g' | 'r7gd' | 'r7i' | 'r7iz' | 'r8g' | 'r8gd' | 't2' | 't2a' | 't2d' | 't3' | 't3a' | 't4g' | 'trn1' | 'trn1n' | 'u-3tb1' | 'u-6tb1' | 'u7i-12tb' | 'u7i-6tb' | 'u7i-8tb' | 'u7in-16tb' | 'u7in-24tb' | 'u7in-32tb' | 'vt1' | 'x1' | 'x1e' | 'x2gd' | 'x2idn' | 'x2iedn' | 'x2iezn' | 'x4' | 'x8g' | 'z1d' | 'z3'>;
692
+ /**
693
+ * Allowed values for `topology.kubernetes.io/region`.
694
+ */
695
+ 'topology.kubernetes.io/region'?: Array<'africa-south1' | 'ap-northeast-1' | 'ap-northeast-2' | 'ap-northeast-3' | 'ap-south-1' | 'ap-southeast-1' | 'ap-southeast-2' | 'ash' | 'asia-east1' | 'asia-east2' | 'asia-northeast1' | 'asia-northeast2' | 'asia-northeast3' | 'asia-south1' | 'asia-south2' | 'asia-southeast1' | 'asia-southeast2' | 'australia-southeast1' | 'australia-southeast2' | 'ca-central-1' | 'eu-central-1' | 'eu-central-2' | 'eu-north-1' | 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'europe-central2' | 'europe-north1' | 'europe-southwest1' | 'europe-west1' | 'europe-west10' | 'europe-west12' | 'europe-west2' | 'europe-west3' | 'europe-west4' | 'europe-west6' | 'europe-west8' | 'europe-west9' | 'fsn1' | 'hel1' | 'hil' | 'me-central1' | 'me-central2' | 'me-west1' | 'nbg1' | 'northamerica-northeast1' | 'northamerica-northeast2' | 'sa-east-1' | 'sin' | 'southamerica-east1' | 'southamerica-west1' | 'us-central1' | 'us-east-1' | 'us-east-2' | 'us-east1' | 'us-east4' | 'us-east5' | 'us-south1' | 'us-west-1' | 'us-west-2' | 'us-west1' | 'us-west2' | 'us-west3' | 'us-west4'>;
400
696
  };
697
+ /**
698
+ * Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).
699
+ */
700
+ scalingProfile?: 'aggressive' | 'conservative';
701
+ /**
702
+ * Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.
703
+ */
704
+ taints?: Array<{
705
+ /**
706
+ * Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.
707
+ */
708
+ key: string;
709
+ /**
710
+ * Taint value. Optional.
711
+ */
712
+ value?: string;
713
+ /**
714
+ * Taint effect.
715
+ */
716
+ effect: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
717
+ }>;
718
+ };
719
+ export type InviteCreateInput = {
720
+ /**
721
+ * Email address of the user to invite.
722
+ */
723
+ email: string;
724
+ /**
725
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
726
+ */
727
+ role?: 'Administrator' | 'User';
401
728
  };
402
729
  export type Invite = {
403
730
  /**
@@ -420,285 +747,215 @@ export type Invite = {
420
747
  * Generated unique invite code.
421
748
  */
422
749
  code?: string;
423
- };
424
- export type Invoice = {
425
- /**
426
- * Unique identifier of the invoice. UUID v4 string in canonical form
427
- */
428
- id?: string;
429
750
  /**
430
- * Unique identifier of the organization. UUID v4 string in canonical form
751
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
431
752
  */
432
- organizationId?: string;
753
+ role?: 'Administrator' | 'User';
754
+ };
755
+ export type InvoicePaymentAttempt = {
433
756
  /**
434
- * Status of the invoice
757
+ * Identifier of the invoice.
435
758
  */
436
- status?: 'DRAFT' | 'COMMITTED' | 'VOID';
759
+ invoice_id: string;
437
760
  /**
438
- * Total amount of the invoice
761
+ * Invoice number. Null if the invoice has no number.
439
762
  */
440
- amount?: number;
763
+ number: string;
441
764
  /**
442
- * Currency of the invoice
765
+ * Amount outstanding when the charge was attempted, in the smallest currency unit.
443
766
  */
444
- currency?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GGP' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'IMP' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JEP' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SPL' | 'SRD' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TVD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWD' | 'BTC';
767
+ amount: number;
445
768
  /**
446
- * Total amount of credit adjustments
769
+ * Currency of the invoice.
447
770
  */
448
- creditAdj?: number;
771
+ currency: string;
449
772
  /**
450
- * Total amount of refund adjustments
773
+ * Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).
451
774
  */
452
- refundAdj?: number;
775
+ status: 'paid' | 'processing' | 'requires_action' | 'failed';
453
776
  /**
454
- * Date of the invoice
777
+ * Client secret used to complete customer authentication. Set only when `status` is `requires_action`.
455
778
  */
456
- invoiceDate?: string;
779
+ client_secret: string;
457
780
  /**
458
- * Target date of the invoice
781
+ * Decline code. Set only when `status` is `failed`.
459
782
  */
460
- targetDate?: string;
783
+ failure_code: string;
461
784
  /**
462
- * Number of the invoice
785
+ * Explanation of the decline, suitable for display. Set only when `status` is `failed`.
463
786
  */
464
- invoiceNumber?: string;
787
+ failure_message: string;
788
+ };
789
+ export type InvoicePaymentResult = {
465
790
  /**
466
- * Balance of the invoice
791
+ * Overall outcome: `paid` (nothing outstanding), `processing` (all accepted, not yet settled), `action_required` (one or more await customer authentication), `partially_paid`, `failed`, `nothing_due`, or `bank_transfer_due` (the organization pays by bank transfer; nothing was charged).
467
792
  */
468
- balance?: number;
793
+ code: 'paid' | 'processing' | 'action_required' | 'partially_paid' | 'failed' | 'nothing_due' | 'bank_transfer_due';
469
794
  /**
470
- * Bundle keys of the invoice
795
+ * Summary of the outcome, suitable for display.
471
796
  */
472
- bundleKeys?: string;
797
+ message: string;
473
798
  /**
474
- * Credits of the invoice
799
+ * One entry per invoice charged, oldest first.
475
800
  */
476
- credits?: Array<{
477
- /**
478
- * Unique identifier of the invoice item. UUID v4 string in canonical form
479
- */
480
- id?: string;
481
- /**
482
- * Unique identifier of the linked invoice item. UUID v4 string in canonical form
483
- */
484
- linkedInvoiceItemId?: string;
485
- /**
486
- * Name of the product
487
- */
488
- productName?: string;
489
- /**
490
- * Name of the plan
491
- */
492
- planName?: string;
493
- /**
494
- * Name of the phase
495
- */
496
- phaseName?: string;
497
- /**
498
- * Name of the usage
499
- */
500
- usageName?: string;
501
- /**
502
- * Pretty name of the product
503
- */
504
- prettyProductName?: string;
505
- /**
506
- * Pretty name of the plan
507
- */
508
- prettyPlanName?: string;
509
- /**
510
- * Pretty name of the phase
511
- */
512
- prettyPhaseName?: string;
513
- /**
514
- * Pretty name of the usage
515
- */
516
- prettyUsageName?: string;
517
- /**
518
- * Type of the invoice item
519
- */
520
- itemType?: 'EXTERNAL_CHARGE' | 'FIXED' | 'RECURRING' | 'REPAIR_ADJ' | 'CBA_ADJ' | 'CREDIT_ADJ' | 'ITEM_ADJ' | 'USAGE' | 'TAX' | 'PARENT_SUMMARY';
521
- /**
522
- * Description of the invoice item
523
- */
524
- description?: string;
525
- /**
526
- * Start date of the invoice item
527
- */
528
- startDate?: string;
801
+ results: Array<{
529
802
  /**
530
- * End date of the invoice item
803
+ * Identifier of the invoice.
531
804
  */
532
- endDate?: string;
805
+ invoice_id: string;
533
806
  /**
534
- * Amount of the invoice item
807
+ * Invoice number. Null if the invoice has no number.
535
808
  */
536
- amount?: number;
809
+ number: string;
537
810
  /**
538
- * Rate of the invoice item
811
+ * Amount outstanding when the charge was attempted, in the smallest currency unit.
539
812
  */
540
- rate?: number;
813
+ amount: number;
541
814
  /**
542
- * Currency of the invoice item
815
+ * Currency of the invoice.
543
816
  */
544
- currency?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GGP' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'IMP' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JEP' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SPL' | 'SRD' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TVD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWD' | 'BTC';
817
+ currency: string;
545
818
  /**
546
- * Quantity of the invoice item
819
+ * Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).
547
820
  */
548
- quantity?: number;
821
+ status: 'paid' | 'processing' | 'requires_action' | 'failed';
549
822
  /**
550
- * Details of the invoice item
823
+ * Client secret used to complete customer authentication. Set only when `status` is `requires_action`.
551
824
  */
552
- itemDetails?: string;
825
+ client_secret: string;
553
826
  /**
554
- * Effective date of the catalog
827
+ * Decline code. Set only when `status` is `failed`.
555
828
  */
556
- catalogEffectiveDate?: string;
829
+ failure_code: string;
557
830
  /**
558
- * Child items of the invoice item
831
+ * Explanation of the decline, suitable for display. Set only when `status` is `failed`.
559
832
  */
560
- childItems?: Array<Array<unknown> | boolean | number | {
561
- [key: string]: unknown;
562
- } | string>;
833
+ failure_message: string;
563
834
  }>;
835
+ };
836
+ export type Invoice = {
564
837
  /**
565
- * Items of the invoice
838
+ * Unique identifier of the invoice.
566
839
  */
567
- items?: Array<{
568
- /**
569
- * Unique identifier of the invoice item. UUID v4 string in canonical form
570
- */
571
- id?: string;
572
- /**
573
- * Unique identifier of the linked invoice item. UUID v4 string in canonical form
574
- */
575
- linkedInvoiceItemId?: string;
576
- /**
577
- * Name of the product
578
- */
579
- productName?: string;
580
- /**
581
- * Name of the plan
582
- */
583
- planName?: string;
584
- /**
585
- * Name of the phase
586
- */
587
- phaseName?: string;
588
- /**
589
- * Name of the usage
590
- */
591
- usageName?: string;
592
- /**
593
- * Pretty name of the product
594
- */
595
- prettyProductName?: string;
596
- /**
597
- * Pretty name of the plan
598
- */
599
- prettyPlanName?: string;
600
- /**
601
- * Pretty name of the phase
602
- */
603
- prettyPhaseName?: string;
604
- /**
605
- * Pretty name of the usage
606
- */
607
- prettyUsageName?: string;
608
- /**
609
- * Type of the invoice item
610
- */
611
- itemType?: 'EXTERNAL_CHARGE' | 'FIXED' | 'RECURRING' | 'REPAIR_ADJ' | 'CBA_ADJ' | 'CREDIT_ADJ' | 'ITEM_ADJ' | 'USAGE' | 'TAX' | 'PARENT_SUMMARY';
612
- /**
613
- * Description of the invoice item
614
- */
615
- description?: string;
616
- /**
617
- * Start date of the invoice item
618
- */
619
- startDate?: string;
620
- /**
621
- * End date of the invoice item
622
- */
623
- endDate?: string;
624
- /**
625
- * Amount of the invoice item
626
- */
627
- amount?: number;
628
- /**
629
- * Rate of the invoice item
630
- */
631
- rate?: number;
632
- /**
633
- * Currency of the invoice item
634
- */
635
- currency?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GGP' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'IMP' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JEP' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SPL' | 'SRD' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TVD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWD' | 'BTC';
636
- /**
637
- * Quantity of the invoice item
638
- */
639
- quantity?: number;
640
- /**
641
- * Details of the invoice item
642
- */
643
- itemDetails?: string;
644
- /**
645
- * Effective date of the catalog
646
- */
647
- catalogEffectiveDate?: string;
648
- /**
649
- * Child items of the invoice item
650
- */
651
- childItems?: Array<Array<unknown> | boolean | number | {
652
- [key: string]: unknown;
653
- } | string>;
654
- }>;
655
- };
656
- export type MarketplaceListing = {
840
+ id?: string;
841
+ number?: string;
657
842
  /**
658
- * Id of the chart listing
843
+ * Status of the invoice
659
844
  */
660
- id: string;
845
+ status?: string;
661
846
  /**
662
- * Name of the chart listing
847
+ * Total amount of the invoice
663
848
  */
664
- name: string;
849
+ total?: number;
850
+ /**
851
+ * Currency of the invoice
852
+ */
853
+ currency?: string;
665
854
  /**
666
- * Author of the chart listing
855
+ * Timestamp when the invoice was issued. ISO 8601 date string in the UTC timezone.
667
856
  */
668
- developer: string;
857
+ created: string;
669
858
  /**
670
- * Short description of the chart listing
859
+ * Billing period start timestamp. ISO 8601 date string in the UTC timezone.
671
860
  */
672
- description: string;
861
+ period_start: string;
673
862
  /**
674
- * Logo of the chart listing
863
+ * Billing period end timestamp. ISO 8601 date string in the UTC timezone.
675
864
  */
676
- logoUrl: string;
865
+ period_end: string;
866
+ invoice_pdf?: string;
867
+ };
868
+ export type MarketplaceListingFiles = {
869
+ /**
870
+ * Raw Chart.yaml content from the Helm chart
871
+ */
872
+ chartYaml?: string;
873
+ /**
874
+ * Raw values.yaml content from the Helm chart
875
+ */
876
+ valuesYaml?: string;
877
+ /**
878
+ * JSON schema for values.yaml as a string
879
+ */
880
+ valuesSchemaJson?: string;
881
+ };
882
+ export type MarketplaceListing = {
883
+ /**
884
+ * Name of the chart
885
+ */
886
+ name: string;
677
887
  /**
678
- * Long description of the chart listing
888
+ * Available versions of the chart
679
889
  */
680
- longDescription: string;
890
+ versions: Array<string>;
681
891
  /**
682
- * Tags of the chart
892
+ * Version channels for the chart
683
893
  */
684
- categories: Array<string>;
685
894
  version_channels: Array<string>;
686
- value_schemas: Array<{
895
+ /**
896
+ * Latest version of the chart
897
+ */
898
+ latestVersion: string;
899
+ /**
900
+ * Chart metadata
901
+ */
902
+ metadata?: {
687
903
  /**
688
- * Version of the chart.
904
+ * Chart name from metadata
905
+ */
906
+ name: string;
907
+ /**
908
+ * Chart version from metadata
689
909
  */
690
910
  version: string;
691
911
  /**
692
- * Schema of the chart values. JSON Schema as string
912
+ * Chart description
693
913
  */
694
- schema: string;
914
+ description?: string;
695
915
  /**
696
- * Schema of the chart values
916
+ * Application version
697
917
  */
698
- placeholder: string;
699
- }>;
918
+ appVersion?: string;
919
+ /**
920
+ * Helm API version
921
+ */
922
+ apiVersion?: string;
923
+ /**
924
+ * Chart keywords
925
+ */
926
+ keywords?: Array<string>;
927
+ /**
928
+ * Chart home URL
929
+ */
930
+ home?: string;
931
+ /**
932
+ * A URL to an SVG or PNG image to be used as an icon
933
+ */
934
+ icon?: string;
935
+ /**
936
+ * Chart source URLs
937
+ */
938
+ sources?: Array<string>;
939
+ /**
940
+ * Chart maintainers
941
+ */
942
+ maintainers?: Array<{
943
+ /**
944
+ * Maintainer name
945
+ */
946
+ name: string;
947
+ /**
948
+ * Maintainer email
949
+ */
950
+ email?: string;
951
+ }>;
952
+ };
700
953
  };
701
954
  export type OrganizationCreateInput = {
955
+ /**
956
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
957
+ */
958
+ type: 'business' | 'personal';
702
959
  /**
703
960
  * Email address used for billing as a string.
704
961
  */
@@ -720,6 +977,12 @@ export type OrganizationCreateInput = {
720
977
  */
721
978
  password: string;
722
979
  };
980
+ export type OrganizationCreateOutput = {
981
+ /**
982
+ * Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.
983
+ */
984
+ id: string;
985
+ };
723
986
  export type Organization = {
724
987
  /**
725
988
  * Unique identifier of the organization. UUID v4 string in canonical form
@@ -729,6 +992,10 @@ export type Organization = {
729
992
  * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
730
993
  */
731
994
  name?: string;
995
+ /**
996
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
997
+ */
998
+ type: 'business' | 'personal';
732
999
  /**
733
1000
  * Creation date of the organization. ISO 8601 date string in UTC timezone
734
1001
  */
@@ -753,6 +1020,14 @@ export type Organization = {
753
1020
  * Available number of Pro clusters that can be created.
754
1021
  */
755
1022
  pro_clusters_available: number;
1023
+ /**
1024
+ * Maximum number of Enterprise clusters that can be created.
1025
+ */
1026
+ enterprise_clusters_max: number;
1027
+ /**
1028
+ * Available number of Enterprise clusters that can be created.
1029
+ */
1030
+ enterprise_clusters_available: number;
756
1031
  /**
757
1032
  * Maximum number of fleets that can be created per cluster.
758
1033
  */
@@ -778,490 +1053,1488 @@ export type Organization = {
778
1053
  */
779
1054
  label: string;
780
1055
  }>;
1056
+ /**
1057
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
1058
+ */
1059
+ cfcr_storage_gb: number;
781
1060
  };
782
1061
  /**
783
1062
  * Status of the organization. Can be `active` or `closed`, or `suspended`.
784
1063
  */
785
1064
  status: 'active' | 'closed' | 'suspended';
1065
+ /**
1066
+ * Verification status of the organization, which determines the assigned quota. `none` when billing information is incomplete, `submitted` when billing information is complete but the organization is not yet verified, `verified` when the organization is verified.
1067
+ */
1068
+ verification: 'none' | 'submitted' | 'verified';
786
1069
  };
787
1070
  export type PaymentMethod = {
788
1071
  /**
789
- * Unique identifier of the organization. UUID v4 string in canonical form.
1072
+ * Payment method identifier. Stripe payment method id for cards/SEPA; the constant `bank_transfer` for the invoice/bank-transfer method. Used to set as default or delete the payment method.
790
1073
  */
791
1074
  id: string;
792
1075
  /**
793
- * Whether organization payment method was set up and ready to use for payments.
794
- */
795
- setup: boolean;
796
- /**
797
- * Payment method type type. Only `card` payments supported at the moment.
1076
+ * Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.
798
1077
  */
799
- type: 'card';
1078
+ type: 'card' | 'sepa_debit' | 'bank_transfer';
800
1079
  /**
801
- * Last 4 digits of the payment card number.
1080
+ * Last 4 digits of the payment card number, of the bank account (IBAN) for SEPA Direct Debit, or of the destination IBAN for bank transfer.
802
1081
  */
803
1082
  last4: string;
804
1083
  /**
805
- * Two-digit number representing the card's expiration month.
1084
+ * Two-digit number representing the card's expiration month. Null for SEPA Direct Debit and bank transfer.
806
1085
  */
807
1086
  exp_month: number;
808
1087
  /**
809
- * Four-digit number representing the card's expiration year.
1088
+ * Four-digit number representing the card's expiration year. May be in the past for an expired card still on file. Null for SEPA Direct Debit and bank transfer.
810
1089
  */
811
1090
  exp_year: number;
812
1091
  /**
813
- * Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
1092
+ * Payment card brand as reported by Stripe, e.g. `visa`, `mastercard`, `amex`, `cartes_bancaires`, or `unknown`. Null for SEPA Direct Debit and bank transfer.
814
1093
  */
815
- brand: 'amex' | 'diners' | 'discover' | 'eftpos_au' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
816
- };
817
- export type TokenCreateInput = {
1094
+ brand: string;
818
1095
  /**
819
- * Human readable access token name.
1096
+ * Full destination IBAN to send bank transfers to. Set only for `bank_transfer`; null otherwise. This is Cloudfleet's virtual receiving account, shown in full so the customer can pay into it.
820
1097
  */
821
- name: string;
1098
+ iban: string;
822
1099
  /**
823
- * Role assumed by the token.
1100
+ * BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.
824
1101
  */
825
- role: 'Administrator' | 'User';
826
- };
827
- export type Token = {
1102
+ bic: string;
828
1103
  /**
829
- * Human readable access token name.
1104
+ * Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.
830
1105
  */
831
- name: string;
1106
+ account_holder_name: string;
832
1107
  /**
833
- * Role assumed by the token.
1108
+ * Whether this payment method is the default used for invoices and active subscriptions. Always false for `bank_transfer` (it cannot be a Stripe default payment method).
834
1109
  */
835
- role: 'Administrator' | 'User';
1110
+ is_default: boolean;
1111
+ };
1112
+ export type PlatformQuota = {
836
1113
  /**
837
- * Generated unique identifier of the access token.
1114
+ * Maximum number of Basic clusters that can be created.
838
1115
  */
839
- id?: string;
1116
+ basic_clusters_max: number;
840
1117
  /**
841
- * Access token secret. Unmasked only during creation.
1118
+ * Available number of Basic clusters that can be created.
842
1119
  */
843
- secret?: string;
1120
+ basic_clusters_available: number;
844
1121
  /**
845
- * Creation date of the access token. ISO 8601 date string in UTC timezone
1122
+ * Maximum number of Pro clusters that can be created.
846
1123
  */
847
- date_created: string;
848
- };
849
- export type TokenUpdateInput = {
1124
+ pro_clusters_max: number;
850
1125
  /**
851
- * Human readable access token name.
1126
+ * Available number of Pro clusters that can be created.
852
1127
  */
853
- name?: string;
1128
+ pro_clusters_available: number;
854
1129
  /**
855
- * Role assumed by the token.
1130
+ * Maximum number of Enterprise clusters that can be created.
856
1131
  */
857
- role?: 'Administrator' | 'User';
858
- };
859
- export type Usage = {
1132
+ enterprise_clusters_max: number;
860
1133
  /**
861
- * Hour of the usage
1134
+ * Available number of Enterprise clusters that can be created.
862
1135
  */
863
- hour?: string;
1136
+ enterprise_clusters_available: number;
864
1137
  /**
865
- * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1138
+ * Maximum number of fleets that can be created per cluster.
866
1139
  */
867
- cluster_id: string;
1140
+ fleets_max: number;
868
1141
  /**
869
- * Tier of the cluster.
1142
+ * List of Cloudfleet cluster tiers available for the organization.
870
1143
  */
871
- cluster_tier: 'basic' | 'pro' | '';
1144
+ cluster_tiers: Array<string>;
872
1145
  /**
873
- * The product the usage is associated with
1146
+ * List of Cloudfleet control plane regions available for the organization.
874
1147
  */
875
- product: 'cfke_controlplane' | 'cfke_connected_nodes' | 'infra_compute' | 'infra_storage' | 'infra_loadbalancing' | 'infra_traffic' | 'cfcr_storage';
1148
+ regions: Array<string>;
876
1149
  /**
877
- * Name of the Kubernetes node
1150
+ * List of CFKE control plane versions available for the organization.
878
1151
  */
879
- node_name: string;
1152
+ versions: Array<{
1153
+ /**
1154
+ * Id of the control plane version. Used in API calls.
1155
+ */
1156
+ id: string;
1157
+ /**
1158
+ * Label of the control plane version. Used in frontent UI.
1159
+ */
1160
+ label: string;
1161
+ }>;
880
1162
  /**
881
- * SKU of the Kubernetes node
1163
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
882
1164
  */
883
- sku: string;
884
- cpu: number | '';
885
- price: number | '';
886
- value: number | '';
887
- total: number | '';
1165
+ cfcr_storage_gb: number;
888
1166
  };
889
- export type UserCreateInput = {
1167
+ export type RegistryRepository = {
890
1168
  /**
891
- * User email address.
1169
+ * Repository name.
892
1170
  */
893
- email: string;
1171
+ name: string;
894
1172
  /**
895
- * User first name.
1173
+ * Registry region.
896
1174
  */
897
- first_name: string;
1175
+ region: string;
898
1176
  /**
899
- * User last name.
1177
+ * Full URI of the repository.
900
1178
  */
901
- last_name: string;
1179
+ uri: string;
1180
+ };
1181
+ export type RegistryRepositoryWithTags = {
902
1182
  /**
903
- * Generated unique invite code.
1183
+ * Repository name.
904
1184
  */
905
- code: string;
1185
+ name: string;
906
1186
  /**
907
- * User password. Must be at least 8 characters long.
1187
+ * Registry region.
908
1188
  */
909
- password: string;
1189
+ region: string;
910
1190
  /**
911
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1191
+ * Full URI of the repository.
912
1192
  */
913
- status?: 'active' | 'inactive';
1193
+ uri: string;
914
1194
  /**
915
- * User role. Can be 'Administrator', 'User'.
1195
+ * Array of tags in the repository.
916
1196
  */
917
- role?: 'Administrator' | 'User';
918
- };
919
- export type User = {
1197
+ tags: Array<{
1198
+ /**
1199
+ * Tag name.
1200
+ */
1201
+ name: string;
1202
+ /**
1203
+ * Size of the tag in bytes.
1204
+ */
1205
+ size: number;
1206
+ /**
1207
+ * Media type of the manifest.
1208
+ */
1209
+ mediaType?: string;
1210
+ /**
1211
+ * Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).
1212
+ */
1213
+ platforms?: Array<string>;
1214
+ }>;
920
1215
  /**
921
- * User email address.
1216
+ * Total size of all tags in the repository in bytes.
922
1217
  */
923
- email: string;
1218
+ totalSize: number;
1219
+ };
1220
+ export type RegistryTag = {
924
1221
  /**
925
- * User first name.
1222
+ * Tag name.
926
1223
  */
927
- first_name: string;
1224
+ name: string;
928
1225
  /**
929
- * User last name.
1226
+ * Manifest digest for pulling by digest.
930
1227
  */
931
- last_name: string;
1228
+ digest: string;
932
1229
  /**
933
- * User role. Can be 'Administrator', 'User'.
1230
+ * Media type of the manifest.
934
1231
  */
935
- role: 'Administrator' | 'User';
1232
+ mediaType?: string;
936
1233
  /**
937
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1234
+ * Manifest config metadata.
938
1235
  */
939
- status: 'active' | 'inactive';
1236
+ config?: {
1237
+ /**
1238
+ * Size of the config in bytes.
1239
+ */
1240
+ size: number;
1241
+ };
940
1242
  /**
941
- * Unique identifier of the user. UUID v4 string in canonical form
1243
+ * Array of layer metadata.
942
1244
  */
943
- id: string;
1245
+ layers?: Array<{
1246
+ /**
1247
+ * Digest of the layer.
1248
+ */
1249
+ digest?: string;
1250
+ /**
1251
+ * Size of the layer in bytes.
1252
+ */
1253
+ size: number;
1254
+ }>;
944
1255
  /**
945
- * Creation date of the user. ISO 8601 date string in UTC timezone
1256
+ * Array of manifests for multi-arch images.
946
1257
  */
947
- date_created: string;
948
- };
949
- export type UserUpdateInput = {
1258
+ manifests?: Array<{
1259
+ /**
1260
+ * Digest of the manifest.
1261
+ */
1262
+ digest: string;
1263
+ /**
1264
+ * Platform information for the manifest.
1265
+ */
1266
+ platform?: {
1267
+ /**
1268
+ * Architecture of the platform.
1269
+ */
1270
+ architecture: string;
1271
+ /**
1272
+ * Operating system of the platform.
1273
+ */
1274
+ os: string;
1275
+ /**
1276
+ * Variant of the platform (e.g., v7, v8 for ARM).
1277
+ */
1278
+ variant?: string;
1279
+ };
1280
+ /**
1281
+ * Layers for this platform.
1282
+ */
1283
+ layers?: Array<{
1284
+ /**
1285
+ * Digest of the layer.
1286
+ */
1287
+ digest?: string;
1288
+ /**
1289
+ * Size of the layer in bytes.
1290
+ */
1291
+ size: number;
1292
+ }>;
1293
+ /**
1294
+ * Total size of this platform manifest in bytes.
1295
+ */
1296
+ size?: number;
1297
+ }>;
950
1298
  /**
951
- * User email address.
1299
+ * Total size of the tag in bytes.
952
1300
  */
953
- email?: string;
1301
+ size: number;
954
1302
  /**
955
- * User first name.
1303
+ * Registry region.
956
1304
  */
957
- first_name?: string;
1305
+ region: string;
958
1306
  /**
959
- * User last name.
1307
+ * Repository name.
960
1308
  */
961
- last_name?: string;
1309
+ repository: string;
962
1310
  /**
963
- * User role. Can be 'Administrator', 'User'.
1311
+ * Full URI of the tag.
964
1312
  */
965
- role?: 'Administrator' | 'User';
1313
+ uri: string;
1314
+ };
1315
+ export type RoadmapItemCreateInput = {
966
1316
  /**
967
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1317
+ * Your suggestion in one or two sentences. It is reviewed before it appears on the roadmap.
968
1318
  */
969
- status?: 'active' | 'inactive';
970
- };
971
- export type GetUsageData = {
972
- body?: never;
973
- path?: never;
974
- query?: never;
975
- url: '/billing/usage';
1319
+ text: string;
976
1320
  };
977
- export type GetUsageErrors = {
1321
+ export type RoadmapItem = {
978
1322
  /**
979
- * Not authenticated
1323
+ * Unique identifier of the roadmap item (Mongo ObjectId).
980
1324
  */
981
- 401: unknown;
982
- };
983
- export type GetUsageResponses = {
1325
+ id: string;
984
1326
  /**
985
- * An array of usage records.
1327
+ * Short description of the roadmap item.
986
1328
  */
987
- 200: Array<Usage>;
988
- };
989
- export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
990
- export type GetBalanceData = {
991
- body?: never;
992
- path?: never;
993
- query?: never;
994
- url: '/billing/balance';
995
- };
996
- export type GetBalanceResponses = {
1329
+ text: string;
997
1330
  /**
998
- * Current balance of the organization in USD as a floating-point number.
1331
+ * The caller's vote on this item: -1 (down), 1 (up), 2 (double up), or null if the caller has not voted.
999
1332
  */
1000
- 200: number;
1001
- };
1002
- export type GetBalanceResponse = GetBalanceResponses[keyof GetBalanceResponses];
1003
- export type GetPaymentMethodData = {
1004
- body?: never;
1005
- path?: never;
1006
- query?: never;
1007
- url: '/billing/payment-method';
1333
+ vote: -1 | 1 | 2;
1008
1334
  };
1009
- export type GetPaymentMethodErrors = {
1335
+ export type RoadmapVoteInput = {
1010
1336
  /**
1011
- * Returns 404 Not Found if the organization does not have a payment method set up.
1337
+ * Vote value: -1 (down), 1 (up), or 2 (double up).
1012
1338
  */
1013
- 404: unknown;
1339
+ value: -1 | 1 | 2;
1014
1340
  };
1015
- export type GetPaymentMethodResponses = {
1341
+ export type TicketAttachment = {
1016
1342
  /**
1017
- * Redacted payment card information.
1343
+ * Unique identifier of the attachment (Mongo ObjectId).
1018
1344
  */
1019
- 200: PaymentMethod;
1020
- };
1021
- export type GetPaymentMethodResponse = GetPaymentMethodResponses[keyof GetPaymentMethodResponses];
1022
- export type GetPaymentMethodSecretData = {
1023
- body?: never;
1345
+ id: string;
1346
+ /**
1347
+ * Original filename as uploaded.
1348
+ */
1349
+ filename: string;
1350
+ /**
1351
+ * MIME content type of the attachment.
1352
+ */
1353
+ content_type: string;
1354
+ /**
1355
+ * Size of the attachment in bytes.
1356
+ */
1357
+ size: number;
1358
+ };
1359
+ export type TicketCreateInput = {
1360
+ /**
1361
+ * Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.
1362
+ */
1363
+ category: 'billing' | 'technical' | 'general';
1364
+ /**
1365
+ * Initial message body in markdown. There is no separate subject — the first message body is the description.
1366
+ */
1367
+ body: string;
1368
+ /**
1369
+ * Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).
1370
+ */
1371
+ properties?: {
1372
+ [key: string]: unknown;
1373
+ };
1374
+ /**
1375
+ * Grant Cloudfleet support staff access to the organization's resources while the ticket is open. Access cannot be revoked; it ends when the ticket is closed.
1376
+ */
1377
+ grant_support_access?: boolean;
1378
+ };
1379
+ export type TicketMessageInput = {
1380
+ /**
1381
+ * Reply body in markdown.
1382
+ */
1383
+ body: string;
1384
+ };
1385
+ export type TicketMessage = {
1386
+ /**
1387
+ * Unique identifier of the message (Mongo ObjectId).
1388
+ */
1389
+ id: string;
1390
+ /**
1391
+ * Message type. Internal notes are filtered out of customer-facing responses.
1392
+ */
1393
+ type: 'customer_reply' | 'agent_reply';
1394
+ /**
1395
+ * Message body in markdown.
1396
+ */
1397
+ body: string;
1398
+ /**
1399
+ * First name of the author. Null when not provided.
1400
+ */
1401
+ author_first_name?: string;
1402
+ /**
1403
+ * Last name of the author. Null when not provided.
1404
+ */
1405
+ author_last_name?: string;
1406
+ /**
1407
+ * Attachments associated with this message.
1408
+ */
1409
+ attachments?: Array<{
1410
+ /**
1411
+ * Unique identifier of the attachment (Mongo ObjectId).
1412
+ */
1413
+ id: string;
1414
+ /**
1415
+ * Original filename as uploaded.
1416
+ */
1417
+ filename: string;
1418
+ /**
1419
+ * MIME content type of the attachment.
1420
+ */
1421
+ content_type: string;
1422
+ /**
1423
+ * Size of the attachment in bytes.
1424
+ */
1425
+ size: number;
1426
+ }>;
1427
+ /**
1428
+ * Creation date of the message. ISO 8601 UTC.
1429
+ */
1430
+ date_created: string;
1431
+ };
1432
+ export type Ticket = {
1433
+ /**
1434
+ * Unique identifier of the ticket (Mongo ObjectId).
1435
+ */
1436
+ id: string;
1437
+ /**
1438
+ * Current state of the ticket.
1439
+ */
1440
+ status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
1441
+ /**
1442
+ * Ticket category.
1443
+ */
1444
+ category: 'billing' | 'technical' | 'general';
1445
+ /**
1446
+ * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
1447
+ */
1448
+ summary: string;
1449
+ /**
1450
+ * Whether Cloudfleet support staff currently have access to the organization's resources. True once access is granted and until the ticket is closed.
1451
+ */
1452
+ support_access_granted: boolean;
1453
+ /**
1454
+ * When support access was granted. Null if it never was. Kept after the ticket is closed.
1455
+ */
1456
+ support_access_granted_at: string;
1457
+ /**
1458
+ * Closure timestamp. Null while the ticket is open.
1459
+ */
1460
+ closed_at?: string;
1461
+ /**
1462
+ * Creation date of the ticket. ISO 8601 UTC.
1463
+ */
1464
+ date_created: string;
1465
+ /**
1466
+ * Last update date of the ticket. ISO 8601 UTC.
1467
+ */
1468
+ date_updated: string;
1469
+ /**
1470
+ * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
1471
+ */
1472
+ messages?: Array<{
1473
+ /**
1474
+ * Unique identifier of the message (Mongo ObjectId).
1475
+ */
1476
+ id: string;
1477
+ /**
1478
+ * Message type. Internal notes are filtered out of customer-facing responses.
1479
+ */
1480
+ type: 'customer_reply' | 'agent_reply';
1481
+ /**
1482
+ * Message body in markdown.
1483
+ */
1484
+ body: string;
1485
+ /**
1486
+ * First name of the author. Null when not provided.
1487
+ */
1488
+ author_first_name?: string;
1489
+ /**
1490
+ * Last name of the author. Null when not provided.
1491
+ */
1492
+ author_last_name?: string;
1493
+ /**
1494
+ * Attachments associated with this message.
1495
+ */
1496
+ attachments?: Array<{
1497
+ /**
1498
+ * Unique identifier of the attachment (Mongo ObjectId).
1499
+ */
1500
+ id: string;
1501
+ /**
1502
+ * Original filename as uploaded.
1503
+ */
1504
+ filename: string;
1505
+ /**
1506
+ * MIME content type of the attachment.
1507
+ */
1508
+ content_type: string;
1509
+ /**
1510
+ * Size of the attachment in bytes.
1511
+ */
1512
+ size: number;
1513
+ }>;
1514
+ /**
1515
+ * Creation date of the message. ISO 8601 UTC.
1516
+ */
1517
+ date_created: string;
1518
+ }>;
1519
+ };
1520
+ export type TokenCreateInput = {
1521
+ /**
1522
+ * Human readable access token name.
1523
+ */
1524
+ name: string;
1525
+ /**
1526
+ * Role assumed by the token.
1527
+ */
1528
+ role: 'Administrator' | 'User';
1529
+ };
1530
+ export type Token = {
1531
+ /**
1532
+ * Human readable access token name.
1533
+ */
1534
+ name: string;
1535
+ /**
1536
+ * Role assumed by the token.
1537
+ */
1538
+ role: 'Administrator' | 'User';
1539
+ /**
1540
+ * Generated unique identifier of the access token.
1541
+ */
1542
+ id?: string;
1543
+ /**
1544
+ * Access token secret. Unmasked only during creation.
1545
+ */
1546
+ secret?: string;
1547
+ /**
1548
+ * Creation date of the access token. ISO 8601 date string in UTC timezone
1549
+ */
1550
+ date_created: string;
1551
+ };
1552
+ export type TokenUpdateInput = {
1553
+ /**
1554
+ * Human readable access token name.
1555
+ */
1556
+ name?: string;
1557
+ /**
1558
+ * Role assumed by the token.
1559
+ */
1560
+ role?: 'Administrator' | 'User';
1561
+ };
1562
+ export type UsageFacets = {
1563
+ /**
1564
+ * List of unique cluster IDs
1565
+ */
1566
+ cluster_id?: Array<string>;
1567
+ /**
1568
+ * List of unique products
1569
+ */
1570
+ product?: Array<'cfke_controlplane_basic' | 'cfke_controlplane_pro' | 'cfke_controlplane_enterprise' | 'cfke_connected_nodes_basic' | 'cfke_connected_nodes_pro' | 'cfke_connected_nodes_enterprise' | 'cfcr_storage'>;
1571
+ };
1572
+ export type UsageResponse = {
1573
+ /**
1574
+ * Usage data
1575
+ */
1576
+ data: Array<{
1577
+ /**
1578
+ * Hour of the usage
1579
+ */
1580
+ hour: string;
1581
+ /**
1582
+ * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1583
+ */
1584
+ cluster_id: string;
1585
+ /**
1586
+ * The product the usage is associated with
1587
+ */
1588
+ product: 'cfke_controlplane_basic' | 'cfke_controlplane_pro' | 'cfke_controlplane_enterprise' | 'cfke_connected_nodes_basic' | 'cfke_connected_nodes_pro' | 'cfke_connected_nodes_enterprise' | 'cfcr_storage';
1589
+ /**
1590
+ * Consumption
1591
+ */
1592
+ value: number;
1593
+ /**
1594
+ * Price per unit
1595
+ */
1596
+ price: number;
1597
+ /**
1598
+ * Total cost
1599
+ */
1600
+ total: number;
1601
+ }>;
1602
+ /**
1603
+ * Facets for filtering
1604
+ */
1605
+ facets: {
1606
+ /**
1607
+ * List of unique cluster IDs
1608
+ */
1609
+ cluster_id?: Array<string>;
1610
+ /**
1611
+ * List of unique products
1612
+ */
1613
+ product?: Array<'cfke_controlplane_basic' | 'cfke_controlplane_pro' | 'cfke_controlplane_enterprise' | 'cfke_connected_nodes_basic' | 'cfke_connected_nodes_pro' | 'cfke_connected_nodes_enterprise' | 'cfcr_storage'>;
1614
+ };
1615
+ };
1616
+ export type Usage = {
1617
+ /**
1618
+ * Hour of the usage
1619
+ */
1620
+ hour: string;
1621
+ /**
1622
+ * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1623
+ */
1624
+ cluster_id: string;
1625
+ /**
1626
+ * The product the usage is associated with
1627
+ */
1628
+ product: 'cfke_controlplane_basic' | 'cfke_controlplane_pro' | 'cfke_controlplane_enterprise' | 'cfke_connected_nodes_basic' | 'cfke_connected_nodes_pro' | 'cfke_connected_nodes_enterprise' | 'cfcr_storage';
1629
+ /**
1630
+ * Consumption
1631
+ */
1632
+ value: number;
1633
+ /**
1634
+ * Price per unit
1635
+ */
1636
+ price: number;
1637
+ /**
1638
+ * Total cost
1639
+ */
1640
+ total: number;
1641
+ };
1642
+ export type UserCreateInput = {
1643
+ /**
1644
+ * User email address.
1645
+ */
1646
+ email: string;
1647
+ /**
1648
+ * User first name.
1649
+ */
1650
+ first_name: string;
1651
+ /**
1652
+ * User last name.
1653
+ */
1654
+ last_name: string;
1655
+ /**
1656
+ * Generated unique invite code.
1657
+ */
1658
+ code: string;
1659
+ /**
1660
+ * User password. Must be at least 8 characters long.
1661
+ */
1662
+ password: string;
1663
+ };
1664
+ export type User = {
1665
+ /**
1666
+ * User email address.
1667
+ */
1668
+ email: string;
1669
+ /**
1670
+ * User first name.
1671
+ */
1672
+ first_name: string;
1673
+ /**
1674
+ * User last name.
1675
+ */
1676
+ last_name: string;
1677
+ /**
1678
+ * User role. Can be 'Administrator', 'User'.
1679
+ */
1680
+ role: 'Administrator' | 'User';
1681
+ /**
1682
+ * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1683
+ */
1684
+ status: 'active' | 'inactive';
1685
+ /**
1686
+ * Unique identifier of the user. UUID v4 string in canonical form
1687
+ */
1688
+ id: string;
1689
+ /**
1690
+ * Creation date of the user. ISO 8601 date string in UTC timezone
1691
+ */
1692
+ date_created: string;
1693
+ };
1694
+ export type UserUpdateInput = {
1695
+ /**
1696
+ * User email address.
1697
+ */
1698
+ email?: string;
1699
+ /**
1700
+ * User first name.
1701
+ */
1702
+ first_name?: string;
1703
+ /**
1704
+ * User last name.
1705
+ */
1706
+ last_name?: string;
1707
+ /**
1708
+ * User role. Can be 'Administrator', 'User'.
1709
+ */
1710
+ role?: 'Administrator' | 'User';
1711
+ /**
1712
+ * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1713
+ */
1714
+ status?: 'active' | 'inactive';
1715
+ };
1716
+ export type ListUserOrganizationsData = {
1717
+ body?: never;
1718
+ path: {
1719
+ /**
1720
+ * User email address.
1721
+ */
1722
+ email: string;
1723
+ };
1724
+ query?: never;
1725
+ url: '/users/organizations/{email}';
1726
+ };
1727
+ export type ListUserOrganizationsResponses = {
1728
+ /**
1729
+ * An array of organizations the user belongs to.
1730
+ */
1731
+ 200: Array<{
1732
+ /**
1733
+ * Unique identifier of the organization. UUID v4 string in canonical form
1734
+ */
1735
+ realm?: string;
1736
+ /**
1737
+ * Human-readable name of the organization
1738
+ */
1739
+ displayName?: string;
1740
+ }>;
1741
+ };
1742
+ export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
1743
+ export type ListUsersData = {
1744
+ body?: never;
1745
+ path?: never;
1746
+ query?: never;
1747
+ url: '/users';
1748
+ };
1749
+ export type ListUsersErrors = {
1750
+ /**
1751
+ * Not authenticated
1752
+ */
1753
+ 401: unknown;
1754
+ };
1755
+ export type ListUsersResponses = {
1756
+ /**
1757
+ * An array of users
1758
+ */
1759
+ 200: Array<User>;
1760
+ };
1761
+ export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
1762
+ export type CreateUserData = {
1763
+ body: UserCreateInput;
1764
+ path?: never;
1765
+ query?: never;
1766
+ url: '/users';
1767
+ };
1768
+ export type CreateUserResponses = {
1769
+ /**
1770
+ * Successfully created. Returns created user details.
1771
+ */
1772
+ 200: User;
1773
+ };
1774
+ export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
1775
+ export type DeleteUserData = {
1776
+ body?: never;
1777
+ path: {
1778
+ /**
1779
+ * Unique user identifier. UUID v4 string in canonical form
1780
+ */
1781
+ user_id: string;
1782
+ };
1783
+ query?: never;
1784
+ url: '/users/{user_id}';
1785
+ };
1786
+ export type DeleteUserErrors = {
1787
+ /**
1788
+ * Deleting own user is not allowed. Delete your organization instead.
1789
+ */
1790
+ 400: unknown;
1791
+ /**
1792
+ * Not authenticated
1793
+ */
1794
+ 401: unknown;
1795
+ };
1796
+ export type DeleteUserResponses = {
1797
+ /**
1798
+ * User profile information
1799
+ */
1800
+ 200: User;
1801
+ };
1802
+ export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
1803
+ export type GetUserData = {
1804
+ body?: never;
1805
+ path: {
1806
+ /**
1807
+ * Unique user identifier. UUID v4 string in canonical form
1808
+ */
1809
+ user_id: string;
1810
+ };
1811
+ query?: never;
1812
+ url: '/users/{user_id}';
1813
+ };
1814
+ export type GetUserErrors = {
1815
+ /**
1816
+ * Not authenticated
1817
+ */
1818
+ 401: unknown;
1819
+ };
1820
+ export type GetUserResponses = {
1821
+ /**
1822
+ * User profile information
1823
+ */
1824
+ 200: User;
1825
+ };
1826
+ export type GetUserResponse = GetUserResponses[keyof GetUserResponses];
1827
+ export type UpdateUserData = {
1828
+ body: UserUpdateInput;
1829
+ path: {
1830
+ /**
1831
+ * Unique user identifier. UUID v4 string in canonical form
1832
+ */
1833
+ user_id: string;
1834
+ };
1835
+ query?: never;
1836
+ url: '/users/{user_id}';
1837
+ };
1838
+ export type UpdateUserResponses = {
1839
+ /**
1840
+ * Successfully created. Returns created user details.
1841
+ */
1842
+ 200: User;
1843
+ };
1844
+ export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
1845
+ export type ListTokensData = {
1846
+ body?: never;
1847
+ path?: never;
1848
+ query?: never;
1849
+ url: '/tokens';
1850
+ };
1851
+ export type ListTokensErrors = {
1852
+ /**
1853
+ * Not authenticated
1854
+ */
1855
+ 401: unknown;
1856
+ };
1857
+ export type ListTokensResponses = {
1858
+ /**
1859
+ * Returns a list of access token details with masked secrets.
1860
+ */
1861
+ 200: Array<Token>;
1862
+ };
1863
+ export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1864
+ export type CreateTokenData = {
1865
+ body: TokenCreateInput;
1866
+ path?: never;
1867
+ query?: never;
1868
+ url: '/tokens';
1869
+ };
1870
+ export type CreateTokenErrors = {
1871
+ /**
1872
+ * Not authenticated
1873
+ */
1874
+ 401: unknown;
1875
+ };
1876
+ export type CreateTokenResponses = {
1877
+ /**
1878
+ * Successfully created. Returns created token details with unmasked/raw secret.
1879
+ */
1880
+ 200: Token;
1881
+ };
1882
+ export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1883
+ export type DeleteTokenData = {
1884
+ body?: never;
1885
+ path: {
1886
+ /**
1887
+ * Generated unique identifier of the access token.
1888
+ */
1889
+ token_id: string;
1890
+ };
1891
+ query?: never;
1892
+ url: '/tokens/{token_id}';
1893
+ };
1894
+ export type DeleteTokenResponses = {
1895
+ /**
1896
+ * Successfully deleted.
1897
+ */
1898
+ 200: unknown;
1899
+ };
1900
+ export type GetTokenData = {
1901
+ body?: never;
1902
+ path: {
1903
+ /**
1904
+ * Generated unique identifier of the access token.
1905
+ */
1906
+ token_id: string;
1907
+ };
1908
+ query?: never;
1909
+ url: '/tokens/{token_id}';
1910
+ };
1911
+ export type GetTokenErrors = {
1912
+ /**
1913
+ * Not authenticated
1914
+ */
1915
+ 401: unknown;
1916
+ };
1917
+ export type GetTokenResponses = {
1918
+ /**
1919
+ * Returns access token details with masked secret.
1920
+ */
1921
+ 200: Token;
1922
+ };
1923
+ export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
1924
+ export type UpdateTokenData = {
1925
+ body: TokenUpdateInput;
1926
+ path: {
1927
+ /**
1928
+ * Generated unique identifier of the access token.
1929
+ */
1930
+ token_id: string;
1931
+ };
1932
+ query?: never;
1933
+ url: '/tokens/{token_id}';
1934
+ };
1935
+ export type UpdateTokenErrors = {
1936
+ /**
1937
+ * Not authenticated
1938
+ */
1939
+ 401: unknown;
1940
+ };
1941
+ export type UpdateTokenResponses = {
1942
+ /**
1943
+ * Successfully updated. Returns updated token details with masked secret.
1944
+ */
1945
+ 200: Token;
1946
+ };
1947
+ export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
1948
+ export type RegenerateTokenData = {
1949
+ body?: never;
1950
+ path: {
1951
+ /**
1952
+ * Generated unique identifier of the access token.
1953
+ */
1954
+ token_id: string;
1955
+ };
1956
+ query?: never;
1957
+ url: '/tokens/{token_id}/secret';
1958
+ };
1959
+ export type RegenerateTokenErrors = {
1960
+ /**
1961
+ * Not authenticated
1962
+ */
1963
+ 401: unknown;
1964
+ };
1965
+ export type RegenerateTokenResponses = {
1966
+ /**
1967
+ * Successfully updated. Returns updated token details with unmasked / raw secret.
1968
+ */
1969
+ 200: Token;
1970
+ };
1971
+ export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
1972
+ export type ListTicketsData = {
1973
+ body?: never;
1974
+ path?: never;
1975
+ query?: never;
1976
+ url: '/tickets';
1977
+ };
1978
+ export type ListTicketsResponses = {
1979
+ /**
1980
+ * An array of tickets for the organization, newest first.
1981
+ */
1982
+ 200: Array<Ticket>;
1983
+ };
1984
+ export type ListTicketsResponse = ListTicketsResponses[keyof ListTicketsResponses];
1985
+ export type CreateTicketData = {
1986
+ body: {
1987
+ /**
1988
+ * JSON-encoded TicketCreateInput.
1989
+ */
1990
+ payload?: string;
1991
+ attachments?: Array<Blob | File>;
1992
+ };
1993
+ path?: never;
1994
+ query?: never;
1995
+ url: '/tickets';
1996
+ };
1997
+ export type CreateTicketResponses = {
1998
+ /**
1999
+ * Ticket created.
2000
+ */
2001
+ 200: Ticket;
2002
+ };
2003
+ export type CreateTicketResponse = CreateTicketResponses[keyof CreateTicketResponses];
2004
+ export type CloseTicketData = {
2005
+ body?: never;
2006
+ path: {
2007
+ ticket_id: string;
2008
+ };
2009
+ query?: never;
2010
+ url: '/tickets/{ticket_id}';
2011
+ };
2012
+ export type CloseTicketResponses = {
2013
+ /**
2014
+ * Ticket closed.
2015
+ */
2016
+ 200: Ticket;
2017
+ };
2018
+ export type CloseTicketResponse = CloseTicketResponses[keyof CloseTicketResponses];
2019
+ export type GetTicketData = {
2020
+ body?: never;
2021
+ path: {
2022
+ ticket_id: string;
2023
+ };
2024
+ query?: never;
2025
+ url: '/tickets/{ticket_id}';
2026
+ };
2027
+ export type GetTicketResponses = {
2028
+ /**
2029
+ * Ticket with messages (internal notes excluded).
2030
+ */
2031
+ 200: Ticket;
2032
+ };
2033
+ export type GetTicketResponse = GetTicketResponses[keyof GetTicketResponses];
2034
+ export type GrantTicketSupportAccessData = {
2035
+ body?: never;
2036
+ path: {
2037
+ ticket_id: string;
2038
+ };
2039
+ query?: never;
2040
+ url: '/tickets/{ticket_id}/support-access';
2041
+ };
2042
+ export type GrantTicketSupportAccessErrors = {
2043
+ /**
2044
+ * Ticket is closed. Open a new ticket instead.
2045
+ */
2046
+ 409: unknown;
2047
+ };
2048
+ export type GrantTicketSupportAccessResponses = {
2049
+ /**
2050
+ * Support access granted.
2051
+ */
2052
+ 200: Ticket;
2053
+ };
2054
+ export type GrantTicketSupportAccessResponse = GrantTicketSupportAccessResponses[keyof GrantTicketSupportAccessResponses];
2055
+ export type ReplyTicketData = {
2056
+ body: {
2057
+ /**
2058
+ * JSON-encoded TicketMessageInput.
2059
+ */
2060
+ payload?: string;
2061
+ attachments?: Array<Blob | File>;
2062
+ };
2063
+ path: {
2064
+ ticket_id: string;
2065
+ };
2066
+ query?: never;
2067
+ url: '/tickets/{ticket_id}/messages';
2068
+ };
2069
+ export type ReplyTicketErrors = {
2070
+ /**
2071
+ * Ticket is closed. Open a new ticket instead.
2072
+ */
2073
+ 409: unknown;
2074
+ };
2075
+ export type ReplyTicketResponses = {
2076
+ /**
2077
+ * Reply appended.
2078
+ */
2079
+ 200: TicketMessage;
2080
+ };
2081
+ export type ReplyTicketResponse = ReplyTicketResponses[keyof ReplyTicketResponses];
2082
+ export type GetTicketAttachmentData = {
2083
+ body?: never;
2084
+ path: {
2085
+ ticket_id: string;
2086
+ attachment_id: string;
2087
+ };
2088
+ query?: never;
2089
+ url: '/tickets/{ticket_id}/attachments/{attachment_id}';
2090
+ };
2091
+ export type GetTicketAttachmentResponses = {
2092
+ /**
2093
+ * Attachment binary stream.
2094
+ */
2095
+ 200: Blob | File;
2096
+ };
2097
+ export type GetTicketAttachmentResponse = GetTicketAttachmentResponses[keyof GetTicketAttachmentResponses];
2098
+ export type ListRoadmapData = {
2099
+ body?: never;
2100
+ path?: never;
2101
+ query?: never;
2102
+ url: '/roadmap';
2103
+ };
2104
+ export type ListRoadmapResponses = {
2105
+ /**
2106
+ * An array of roadmap items, newest first.
2107
+ */
2108
+ 200: Array<RoadmapItem>;
2109
+ };
2110
+ export type ListRoadmapResponse = ListRoadmapResponses[keyof ListRoadmapResponses];
2111
+ export type SuggestRoadmapData = {
2112
+ body: RoadmapItemCreateInput;
2113
+ path?: never;
2114
+ query?: never;
2115
+ url: '/roadmap';
2116
+ };
2117
+ export type SuggestRoadmapResponses = {
2118
+ /**
2119
+ * Suggestion submitted for review.
2120
+ */
2121
+ 200: RoadmapItem;
2122
+ };
2123
+ export type SuggestRoadmapResponse = SuggestRoadmapResponses[keyof SuggestRoadmapResponses];
2124
+ export type UnvoteRoadmapData = {
2125
+ body?: never;
2126
+ path: {
2127
+ item_id: string;
2128
+ };
2129
+ query?: never;
2130
+ url: '/roadmap/{item_id}/vote';
2131
+ };
2132
+ export type UnvoteRoadmapErrors = {
2133
+ /**
2134
+ * Roadmap item not found.
2135
+ */
2136
+ 404: unknown;
2137
+ };
2138
+ export type UnvoteRoadmapResponses = {
2139
+ /**
2140
+ * Vote removed. Returns the item without a vote.
2141
+ */
2142
+ 200: RoadmapItem;
2143
+ };
2144
+ export type UnvoteRoadmapResponse = UnvoteRoadmapResponses[keyof UnvoteRoadmapResponses];
2145
+ export type VoteRoadmapData = {
2146
+ body: RoadmapVoteInput;
2147
+ path: {
2148
+ item_id: string;
2149
+ };
2150
+ query?: never;
2151
+ url: '/roadmap/{item_id}/vote';
2152
+ };
2153
+ export type VoteRoadmapErrors = {
2154
+ /**
2155
+ * Roadmap item not found.
2156
+ */
2157
+ 404: unknown;
2158
+ };
2159
+ export type VoteRoadmapResponses = {
2160
+ /**
2161
+ * Vote saved. Returns the item with your vote.
2162
+ */
2163
+ 200: RoadmapItem;
2164
+ };
2165
+ export type VoteRoadmapResponse = VoteRoadmapResponses[keyof VoteRoadmapResponses];
2166
+ export type ListRepositoriesData = {
2167
+ body?: never;
1024
2168
  path?: never;
1025
2169
  query?: never;
1026
- url: '/billing/payment-method';
2170
+ url: '/registry';
1027
2171
  };
1028
- export type GetPaymentMethodSecretResponses = {
2172
+ export type ListRepositoriesErrors = {
1029
2173
  /**
1030
- * The client secret. Used for client-side retrieval using a publishable key. The client secret can be used to complete a payment from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.
1031
- *
2174
+ * Not authenticated
1032
2175
  */
1033
- 200: {
2176
+ 401: unknown;
2177
+ /**
2178
+ * Internal server error
2179
+ */
2180
+ 500: unknown;
2181
+ };
2182
+ export type ListRepositoriesResponses = {
2183
+ /**
2184
+ * List of repositories
2185
+ */
2186
+ 200: Array<RegistryRepository>;
2187
+ };
2188
+ export type ListRepositoriesResponse = ListRepositoriesResponses[keyof ListRepositoriesResponses];
2189
+ export type ListTagsData = {
2190
+ body?: never;
2191
+ path: {
1034
2192
  /**
1035
- * The client secret.
2193
+ * Region where the repository is located
1036
2194
  */
1037
- id?: string;
2195
+ region: string;
2196
+ /**
2197
+ * Name of the repository
2198
+ */
2199
+ repository: string;
1038
2200
  };
2201
+ query?: never;
2202
+ url: '/registry/{region}/{repository}';
1039
2203
  };
1040
- export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
1041
- export type ListInvoicesData = {
2204
+ export type ListTagsErrors = {
2205
+ /**
2206
+ * Not authenticated
2207
+ */
2208
+ 401: unknown;
2209
+ /**
2210
+ * Repository not found
2211
+ */
2212
+ 404: unknown;
2213
+ /**
2214
+ * Internal server error
2215
+ */
2216
+ 500: unknown;
2217
+ };
2218
+ export type ListTagsResponses = {
2219
+ /**
2220
+ * Repository with tags
2221
+ */
2222
+ 200: RegistryRepositoryWithTags;
2223
+ };
2224
+ export type ListTagsResponse = ListTagsResponses[keyof ListTagsResponses];
2225
+ export type DeleteTagData = {
1042
2226
  body?: never;
1043
- path?: never;
1044
- query: {
2227
+ path: {
2228
+ /**
2229
+ * Region where the repository is located
2230
+ */
2231
+ region: string;
1045
2232
  /**
1046
- * Start date for the usage. Date of oldest data point to retrieve.
2233
+ * Name of the repository
1047
2234
  */
1048
- start_date: string;
2235
+ repository: string;
1049
2236
  /**
1050
- * End date for the usage. Date of newest data point to retrieve.
2237
+ * Name of the tag
1051
2238
  */
1052
- end_date: string;
2239
+ tag: string;
1053
2240
  };
1054
- url: '/billing/invoices';
2241
+ query?: never;
2242
+ url: '/registry/{region}/{repository}/{tag}';
1055
2243
  };
1056
- export type ListInvoicesErrors = {
2244
+ export type DeleteTagErrors = {
1057
2245
  /**
1058
2246
  * Not authenticated
1059
2247
  */
1060
2248
  401: unknown;
2249
+ /**
2250
+ * Tag not found
2251
+ */
2252
+ 404: unknown;
2253
+ /**
2254
+ * Internal server error
2255
+ */
2256
+ 500: unknown;
1061
2257
  };
1062
- export type ListInvoicesResponses = {
2258
+ export type DeleteTagResponses = {
1063
2259
  /**
1064
- * An array of usage records.
2260
+ * Tag successfully deleted
1065
2261
  */
1066
- 200: Array<Invoice>;
2262
+ 200: unknown;
1067
2263
  };
1068
- export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
1069
- export type GetInvoiceData = {
2264
+ export type GetTagData = {
1070
2265
  body?: never;
1071
2266
  path: {
1072
2267
  /**
1073
- * Unique invoice identifier. UUID v4 string in canonical form
2268
+ * Region where the repository is located
1074
2269
  */
1075
- id: string;
2270
+ region: string;
2271
+ /**
2272
+ * Name of the repository
2273
+ */
2274
+ repository: string;
2275
+ /**
2276
+ * Name of the tag
2277
+ */
2278
+ tag: string;
1076
2279
  };
1077
2280
  query?: never;
1078
- url: '/billing/invoices/{id}';
2281
+ url: '/registry/{region}/{repository}/{tag}';
1079
2282
  };
1080
- export type GetInvoiceResponses = {
2283
+ export type GetTagErrors = {
1081
2284
  /**
1082
- * Returns a single Invoice HTML representation under `html` property.
2285
+ * Not authenticated
1083
2286
  */
1084
- 200: {
1085
- html?: string;
1086
- };
2287
+ 401: unknown;
2288
+ /**
2289
+ * Tag not found
2290
+ */
2291
+ 404: unknown;
2292
+ /**
2293
+ * Internal server error
2294
+ */
2295
+ 500: unknown;
1087
2296
  };
1088
- export type GetInvoiceResponse = GetInvoiceResponses[keyof GetInvoiceResponses];
1089
- export type GetContactData = {
2297
+ export type GetTagResponses = {
2298
+ /**
2299
+ * Tag details
2300
+ */
2301
+ 200: RegistryTag;
2302
+ };
2303
+ export type GetTagResponse = GetTagResponses[keyof GetTagResponses];
2304
+ export type GetOrganizationData = {
1090
2305
  body?: never;
1091
2306
  path?: never;
1092
2307
  query?: never;
1093
- url: '/billing/contact';
2308
+ url: '/organization';
1094
2309
  };
1095
- export type GetContactResponses = {
2310
+ export type GetOrganizationResponses = {
1096
2311
  /**
1097
- * Returns a single object containing organization contact and billing address details.
2312
+ * Returns a single object containing organization details.
1098
2313
  */
1099
- 200: BillingContact;
2314
+ 200: Organization;
1100
2315
  };
1101
- export type GetContactResponse = GetContactResponses[keyof GetContactResponses];
1102
- export type UpdateContactData = {
1103
- body: BillingContact;
2316
+ export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
2317
+ export type CreateOrganizationData = {
2318
+ body: OrganizationCreateInput;
1104
2319
  path?: never;
1105
2320
  query?: never;
1106
- url: '/billing/contact';
2321
+ url: '/organization';
1107
2322
  };
1108
- export type UpdateContactResponses = {
2323
+ export type CreateOrganizationResponses = {
1109
2324
  /**
1110
- * Successfully updated. Returns updated organization details.
2325
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
2326
+ *
1111
2327
  */
1112
- 200: BillingContact;
2328
+ 200: OrganizationCreateOutput;
1113
2329
  };
1114
- export type UpdateContactResponse = UpdateContactResponses[keyof UpdateContactResponses];
1115
- export type GetCreditsData = {
1116
- body?: never;
2330
+ export type CreateOrganizationResponse = CreateOrganizationResponses[keyof CreateOrganizationResponses];
2331
+ export type PostMcpData = {
2332
+ /**
2333
+ * JSON-RPC 2.0 request payload
2334
+ */
2335
+ body: {
2336
+ jsonrpc?: string;
2337
+ method?: string;
2338
+ id?: string | number;
2339
+ /**
2340
+ * Method-specific parameters
2341
+ */
2342
+ params?: {
2343
+ [key: string]: unknown;
2344
+ };
2345
+ };
1117
2346
  path?: never;
1118
2347
  query?: never;
1119
- url: '/billing/credits';
2348
+ url: '/mcp';
1120
2349
  };
1121
- export type GetCreditsErrors = {
2350
+ export type PostMcpErrors = {
1122
2351
  /**
1123
2352
  * Not authenticated
1124
2353
  */
1125
2354
  401: unknown;
1126
2355
  };
1127
- export type GetCreditsResponses = {
2356
+ export type PostMcpResponses = {
1128
2357
  /**
1129
- * An array of the applied promotional credits records.
2358
+ * JSON-RPC 2.0 success or error response
1130
2359
  */
1131
- 200: Array<BillingCredits>;
1132
- };
1133
- export type GetCreditsResponse = GetCreditsResponses[keyof GetCreditsResponses];
1134
- export type RedeemCreditsData = {
1135
- body: {
1136
- /**
1137
- * Promotional code to redeem
1138
- */
1139
- code?: string;
2360
+ 200: {
2361
+ jsonrpc?: string;
2362
+ id?: string | number;
2363
+ result?: {
2364
+ [key: string]: unknown;
2365
+ };
2366
+ error?: {
2367
+ code?: number;
2368
+ message?: string;
2369
+ };
1140
2370
  };
2371
+ };
2372
+ export type PostMcpResponse = PostMcpResponses[keyof PostMcpResponses];
2373
+ export type ListMarketplaceChartsData = {
2374
+ body?: never;
1141
2375
  path?: never;
1142
2376
  query?: never;
1143
- url: '/billing/credits';
2377
+ url: '/marketplace';
1144
2378
  };
1145
- export type RedeemCreditsErrors = {
2379
+ export type ListMarketplaceChartsErrors = {
1146
2380
  /**
1147
2381
  * Not authenticated
1148
2382
  */
1149
2383
  401: unknown;
1150
2384
  };
1151
- export type RedeemCreditsResponses = {
2385
+ export type ListMarketplaceChartsResponses = {
1152
2386
  /**
1153
- * Successfully created a new organization.
2387
+ * An array of chart listings in the marketplace.
1154
2388
  */
1155
- 200: unknown;
2389
+ 200: Array<MarketplaceListing>;
1156
2390
  };
1157
- export type ListChartsData = {
2391
+ export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
2392
+ export type GetMarketplaceChartFilesData = {
1158
2393
  body?: never;
1159
2394
  path: {
1160
2395
  /**
1161
- * Unique identifier of the cluster. UUID v4 string in canonical form
2396
+ * Name of the chart in the marketplace.
1162
2397
  */
1163
- cluster_id: string;
2398
+ chart_name: string;
2399
+ /**
2400
+ * Version channel pattern to match (e.g., "1.31.x-cfke.x" for latest 1.31 patch, "1.x.x-cfke.x" for latest 1.x minor).
2401
+ */
2402
+ version_channel: string;
1164
2403
  };
1165
2404
  query?: never;
1166
- url: '/clusters/{cluster_id}/charts';
2405
+ url: '/marketplace/{chart_name}/files/{version_channel}';
1167
2406
  };
1168
- export type ListChartsErrors = {
2407
+ export type GetMarketplaceChartFilesErrors = {
2408
+ /**
2409
+ * Chart not found or no version matches the channel
2410
+ */
2411
+ 404: unknown;
2412
+ };
2413
+ export type GetMarketplaceChartFilesResponses = {
2414
+ /**
2415
+ * Returns an object containing the chart files for the latest matching version.
2416
+ */
2417
+ 200: MarketplaceListingFiles;
2418
+ };
2419
+ export type GetMarketplaceChartFilesResponse = GetMarketplaceChartFilesResponses[keyof GetMarketplaceChartFilesResponses];
2420
+ export type ListInvitesData = {
2421
+ body?: never;
2422
+ path?: never;
2423
+ query?: never;
2424
+ url: '/invites';
2425
+ };
2426
+ export type ListInvitesErrors = {
1169
2427
  /**
1170
2428
  * Not authenticated
1171
2429
  */
1172
2430
  401: unknown;
1173
2431
  };
1174
- export type ListChartsResponses = {
2432
+ export type ListInvitesResponses = {
1175
2433
  /**
1176
- * An array of charts
2434
+ * An array of invites
1177
2435
  */
1178
- 200: Array<Chart>;
2436
+ 200: Array<Invite>;
1179
2437
  };
1180
- export type ListChartsResponse = ListChartsResponses[keyof ListChartsResponses];
1181
- export type CreateChartData = {
1182
- body: ChartCreateInput;
1183
- path: {
1184
- /**
1185
- * Unique identifier of the cluster. UUID v4 string in canonical form
1186
- */
1187
- cluster_id: string;
1188
- };
2438
+ export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
2439
+ export type CreateInviteData = {
2440
+ body: InviteCreateInput;
2441
+ path?: never;
1189
2442
  query?: never;
1190
- url: '/clusters/{cluster_id}/charts';
2443
+ url: '/invites';
1191
2444
  };
1192
- export type CreateChartResponses = {
2445
+ export type CreateInviteResponses = {
1193
2446
  /**
1194
- * Successfully created. Returns created Chart ID.
2447
+ * Successfully created. Returns created invite details.
1195
2448
  */
1196
- 200: string;
2449
+ 200: Invite;
1197
2450
  };
1198
- export type CreateChartResponse = CreateChartResponses[keyof CreateChartResponses];
1199
- export type DeleteChartData = {
2451
+ export type CreateInviteResponse = CreateInviteResponses[keyof CreateInviteResponses];
2452
+ export type GetInviteData = {
1200
2453
  body?: never;
1201
2454
  path: {
1202
2455
  /**
1203
- * Unique identifier of the cluster. UUID v4 string in canonical form
1204
- */
1205
- cluster_id: string;
1206
- /**
1207
- * Chart deployment name as the unique identifier of the chart.
2456
+ * Invitation code
1208
2457
  */
1209
- chart_name: string;
2458
+ code: string;
1210
2459
  };
1211
2460
  query?: never;
1212
- url: '/clusters/{cluster_id}/charts/{chart_name}';
2461
+ url: '/invites/{code}';
1213
2462
  };
1214
- export type DeleteChartResponses = {
2463
+ export type GetInviteResponses = {
1215
2464
  /**
1216
- * Successfully deleted.
2465
+ * The invitation code is valid. Returns the invited email and organization.
1217
2466
  */
1218
- 200: string;
2467
+ 200: {
2468
+ /**
2469
+ * Email address the invite was issued to.
2470
+ */
2471
+ email?: string;
2472
+ /**
2473
+ * Identifier of the organization the invite grants access to.
2474
+ */
2475
+ organization_id?: string;
2476
+ };
1219
2477
  };
1220
- export type DeleteChartResponse = DeleteChartResponses[keyof DeleteChartResponses];
1221
- export type GetChartData = {
2478
+ export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
2479
+ export type DeleteInviteData = {
1222
2480
  body?: never;
1223
2481
  path: {
1224
2482
  /**
1225
- * Unique identifier of the cluster. UUID v4 string in canonical form
1226
- */
1227
- cluster_id: string;
1228
- /**
1229
- * Chart deployment name as the unique identifier of the chart.
2483
+ * User email address
1230
2484
  */
1231
- chart_name: string;
2485
+ email: string;
1232
2486
  };
1233
2487
  query?: never;
1234
- url: '/clusters/{cluster_id}/charts/{chart_name}';
2488
+ url: '/invites/{email}';
1235
2489
  };
1236
- export type GetChartResponses = {
2490
+ export type DeleteInviteResponses = {
1237
2491
  /**
1238
- * Returns a single object containing chart details.
2492
+ * Successfully deleted.
1239
2493
  */
1240
- 200: Chart;
2494
+ 200: unknown;
1241
2495
  };
1242
- export type GetChartResponse = GetChartResponses[keyof GetChartResponses];
1243
- export type UpdateChartData = {
1244
- body: ChartUpdateInput;
2496
+ export type SendFeedbackData = {
2497
+ body: FeedbackCreateInput;
2498
+ path?: never;
2499
+ query?: never;
2500
+ url: '/feedback';
2501
+ };
2502
+ export type SendFeedbackErrors = {
2503
+ /**
2504
+ * Too much feedback from this organization in the last hour.
2505
+ */
2506
+ 429: unknown;
2507
+ };
2508
+ export type SendFeedbackResponses = {
2509
+ /**
2510
+ * Feedback received.
2511
+ */
2512
+ 200: Feedback;
2513
+ };
2514
+ export type SendFeedbackResponse = SendFeedbackResponses[keyof SendFeedbackResponses];
2515
+ export type QueryClusterData = {
2516
+ body?: never;
1245
2517
  path: {
1246
2518
  /**
1247
2519
  * Unique identifier of the cluster. UUID v4 string in canonical form
1248
2520
  */
1249
2521
  cluster_id: string;
1250
- /**
1251
- * Chart deployment name as the unique identifier of the chart.
1252
- */
1253
- chart_name: string;
1254
2522
  };
1255
2523
  query?: never;
1256
- url: '/clusters/{cluster_id}/charts/{chart_name}';
2524
+ url: '/clusters/{cluster_id}/query';
1257
2525
  };
1258
- export type UpdateChartResponses = {
2526
+ export type QueryClusterErrors = {
1259
2527
  /**
1260
- * Successfully updated.
2528
+ * Not authenticated
1261
2529
  */
1262
- 200: string;
2530
+ 401: unknown;
2531
+ };
2532
+ export type QueryClusterResponses = {
2533
+ /**
2534
+ * Kubernetes API response
2535
+ */
2536
+ 200: unknown;
1263
2537
  };
1264
- export type UpdateChartResponse = UpdateChartResponses[keyof UpdateChartResponses];
1265
2538
  export type ListFleetsData = {
1266
2539
  body?: never;
1267
2540
  path: {
@@ -1302,6 +2575,10 @@ export type CreateFleetErrors = {
1302
2575
  * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
1303
2576
  */
1304
2577
  402: string;
2578
+ /**
2579
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
2580
+ */
2581
+ 409: string;
1305
2582
  };
1306
2583
  export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
1307
2584
  export type CreateFleetResponses = {
@@ -1326,6 +2603,13 @@ export type DeleteFleetData = {
1326
2603
  query?: never;
1327
2604
  url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1328
2605
  };
2606
+ export type DeleteFleetErrors = {
2607
+ /**
2608
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
2609
+ */
2610
+ 409: string;
2611
+ };
2612
+ export type DeleteFleetError = DeleteFleetErrors[keyof DeleteFleetErrors];
1329
2613
  export type DeleteFleetResponses = {
1330
2614
  /**
1331
2615
  * Successfully deleted.
@@ -1375,6 +2659,10 @@ export type UpdateFleetErrors = {
1375
2659
  * Organization must have a valid payment method configured to access this endpoint.
1376
2660
  */
1377
2661
  402: string;
2662
+ /**
2663
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
2664
+ */
2665
+ 409: string;
1378
2666
  };
1379
2667
  export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
1380
2668
  export type UpdateFleetResponses = {
@@ -1384,7 +2672,7 @@ export type UpdateFleetResponses = {
1384
2672
  200: string;
1385
2673
  };
1386
2674
  export type UpdateFleetResponse = UpdateFleetResponses[keyof UpdateFleetResponses];
1387
- export type QueryClusterData = {
2675
+ export type ListChartsData = {
1388
2676
  body?: never;
1389
2677
  path: {
1390
2678
  /**
@@ -1393,528 +2681,516 @@ export type QueryClusterData = {
1393
2681
  cluster_id: string;
1394
2682
  };
1395
2683
  query?: never;
1396
- url: '/clusters/{cluster_id}/query';
1397
- };
1398
- export type QueryClusterErrors = {
1399
- /**
1400
- * Not authenticated
1401
- */
1402
- 401: unknown;
1403
- };
1404
- export type QueryClusterResponses = {
1405
- /**
1406
- * Kubernetes API response
1407
- */
1408
- 200: unknown;
1409
- };
1410
- export type ListClustersData = {
1411
- body?: never;
1412
- path?: never;
1413
- query?: never;
1414
- url: '/clusters';
2684
+ url: '/clusters/{cluster_id}/charts';
1415
2685
  };
1416
- export type ListClustersErrors = {
2686
+ export type ListChartsErrors = {
1417
2687
  /**
1418
2688
  * Not authenticated
1419
2689
  */
1420
2690
  401: unknown;
1421
2691
  };
1422
- export type ListClustersResponses = {
2692
+ export type ListChartsResponses = {
1423
2693
  /**
1424
- * An array of clusters
2694
+ * An array of charts
1425
2695
  */
1426
- 200: Array<Cluster>;
2696
+ 200: Array<Chart>;
1427
2697
  };
1428
- export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
1429
- export type CreateClusterData = {
1430
- body: ClusterCreateInput;
1431
- path?: never;
2698
+ export type ListChartsResponse = ListChartsResponses[keyof ListChartsResponses];
2699
+ export type CreateChartData = {
2700
+ body: ChartCreateInput;
2701
+ path: {
2702
+ /**
2703
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2704
+ */
2705
+ cluster_id: string;
2706
+ };
1432
2707
  query?: never;
1433
- url: '/clusters';
2708
+ url: '/clusters/{cluster_id}/charts';
1434
2709
  };
1435
- export type CreateClusterErrors = {
2710
+ export type CreateChartErrors = {
1436
2711
  /**
1437
- * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
2712
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
1438
2713
  */
1439
- 402: string;
2714
+ 409: string;
1440
2715
  };
1441
- export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
1442
- export type CreateClusterResponses = {
2716
+ export type CreateChartError = CreateChartErrors[keyof CreateChartErrors];
2717
+ export type CreateChartResponses = {
1443
2718
  /**
1444
- * Successfully created. Returns created Cluster ID.
2719
+ * Successfully created. Returns created Chart ID.
1445
2720
  */
1446
2721
  200: string;
1447
2722
  };
1448
- export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
1449
- export type DeleteClusterData = {
2723
+ export type CreateChartResponse = CreateChartResponses[keyof CreateChartResponses];
2724
+ export type DeleteChartData = {
1450
2725
  body?: never;
1451
2726
  path: {
1452
2727
  /**
1453
2728
  * Unique identifier of the cluster. UUID v4 string in canonical form
1454
2729
  */
1455
2730
  cluster_id: string;
2731
+ /**
2732
+ * Chart deployment name as the unique identifier of the chart.
2733
+ */
2734
+ chart_name: string;
1456
2735
  };
1457
2736
  query?: never;
1458
- url: '/clusters/{cluster_id}';
2737
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1459
2738
  };
1460
- export type DeleteClusterResponses = {
2739
+ export type DeleteChartErrors = {
2740
+ /**
2741
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
2742
+ */
2743
+ 409: string;
2744
+ };
2745
+ export type DeleteChartError = DeleteChartErrors[keyof DeleteChartErrors];
2746
+ export type DeleteChartResponses = {
1461
2747
  /**
1462
2748
  * Successfully deleted.
1463
2749
  */
1464
2750
  200: string;
1465
2751
  };
1466
- export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
1467
- export type GetClusterData = {
2752
+ export type DeleteChartResponse = DeleteChartResponses[keyof DeleteChartResponses];
2753
+ export type GetChartData = {
1468
2754
  body?: never;
1469
2755
  path: {
1470
2756
  /**
1471
2757
  * Unique identifier of the cluster. UUID v4 string in canonical form
1472
2758
  */
1473
2759
  cluster_id: string;
1474
- };
1475
- query?: never;
1476
- url: '/clusters/{cluster_id}';
1477
- };
1478
- export type GetClusterResponses = {
1479
- /**
1480
- * Returns a single object containing cluster details.
1481
- */
1482
- 200: Cluster;
1483
- };
1484
- export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
1485
- export type UpdateClusterData = {
1486
- body: ClusterUpdateInput;
1487
- path: {
1488
2760
  /**
1489
- * Unique identifier of the cluster. UUID v4 string in canonical form
2761
+ * Chart deployment name as the unique identifier of the chart.
1490
2762
  */
1491
- cluster_id: string;
2763
+ chart_name: string;
1492
2764
  };
1493
2765
  query?: never;
1494
- url: '/clusters/{cluster_id}';
2766
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1495
2767
  };
1496
- export type UpdateClusterResponses = {
2768
+ export type GetChartResponses = {
1497
2769
  /**
1498
- * Successfully updated. Returns updated cluster details.
2770
+ * Returns a single object containing chart details.
1499
2771
  */
1500
- 200: Cluster;
2772
+ 200: Chart;
1501
2773
  };
1502
- export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
1503
- export type GetJoinInformationData = {
1504
- body?: never;
2774
+ export type GetChartResponse = GetChartResponses[keyof GetChartResponses];
2775
+ export type UpdateChartData = {
2776
+ body: ChartUpdateInput;
1505
2777
  path: {
1506
2778
  /**
1507
2779
  * Unique identifier of the cluster. UUID v4 string in canonical form
1508
2780
  */
1509
2781
  cluster_id: string;
2782
+ /**
2783
+ * Chart deployment name as the unique identifier of the chart.
2784
+ */
2785
+ chart_name: string;
1510
2786
  };
1511
2787
  query?: never;
1512
- url: '/clusters/{cluster_id}/join_information';
2788
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1513
2789
  };
1514
- export type GetJoinInformationErrors = {
2790
+ export type UpdateChartErrors = {
1515
2791
  /**
1516
- * Not authenticated
2792
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
1517
2793
  */
1518
- 401: unknown;
2794
+ 409: string;
1519
2795
  };
1520
- export type GetJoinInformationResponses = {
2796
+ export type UpdateChartError = UpdateChartErrors[keyof UpdateChartErrors];
2797
+ export type UpdateChartResponses = {
1521
2798
  /**
1522
- * An object of cluster join information
2799
+ * Successfully updated.
1523
2800
  */
1524
- 200: Cluster;
2801
+ 200: string;
1525
2802
  };
1526
- export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
1527
- export type ListInvitesData = {
2803
+ export type UpdateChartResponse = UpdateChartResponses[keyof UpdateChartResponses];
2804
+ export type ListClustersData = {
1528
2805
  body?: never;
1529
2806
  path?: never;
1530
2807
  query?: never;
1531
- url: '/invites';
2808
+ url: '/clusters';
1532
2809
  };
1533
- export type ListInvitesErrors = {
2810
+ export type ListClustersErrors = {
1534
2811
  /**
1535
2812
  * Not authenticated
1536
2813
  */
1537
2814
  401: unknown;
1538
2815
  };
1539
- export type ListInvitesResponses = {
2816
+ export type ListClustersResponses = {
1540
2817
  /**
1541
- * An array of invites
2818
+ * An array of clusters
1542
2819
  */
1543
- 200: Array<Invite>;
2820
+ 200: Array<Cluster>;
1544
2821
  };
1545
- export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
1546
- export type CreateInviteData = {
1547
- body: {
1548
- /**
1549
- * User email address
1550
- */
1551
- email?: string;
1552
- };
2822
+ export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
2823
+ export type CreateClusterData = {
2824
+ body: ClusterCreateInput;
1553
2825
  path?: never;
1554
2826
  query?: never;
1555
- url: '/invites';
2827
+ url: '/clusters';
1556
2828
  };
1557
- export type CreateInviteResponses = {
2829
+ export type CreateClusterErrors = {
1558
2830
  /**
1559
- * Successfully created. Returns created invite details.
2831
+ * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
1560
2832
  */
1561
- 200: Invite;
1562
- };
1563
- export type CreateInviteResponse = CreateInviteResponses[keyof CreateInviteResponses];
1564
- export type GetInviteData = {
1565
- body?: never;
1566
- path: {
1567
- /**
1568
- * Invitation code
1569
- */
1570
- code: string;
1571
- };
1572
- query?: never;
1573
- url: '/invites/{code}';
2833
+ 402: string;
1574
2834
  };
1575
- export type GetInviteResponses = {
2835
+ export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
2836
+ export type CreateClusterResponses = {
1576
2837
  /**
1577
- * Returns a single object containing invite details.
2838
+ * Successfully created. Returns created Cluster ID.
1578
2839
  */
1579
- 200: Invite;
2840
+ 200: string;
1580
2841
  };
1581
- export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
1582
- export type DeleteInviteData = {
2842
+ export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
2843
+ export type DeleteClusterData = {
1583
2844
  body?: never;
1584
2845
  path: {
1585
2846
  /**
1586
- * User email address
2847
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1587
2848
  */
1588
- email: string;
2849
+ cluster_id: string;
1589
2850
  };
1590
2851
  query?: never;
1591
- url: '/invites/{email}';
2852
+ url: '/clusters/{cluster_id}';
1592
2853
  };
1593
- export type DeleteInviteResponses = {
2854
+ export type DeleteClusterErrors = {
1594
2855
  /**
1595
- * Successfully deleted.
2856
+ * Cluster not found; it does not exist or has already been deleted.
1596
2857
  */
1597
- 200: unknown;
1598
- };
1599
- export type ListMarketplaceChartsData = {
1600
- body?: never;
1601
- path?: never;
1602
- query?: never;
1603
- url: '/marketplace';
1604
- };
1605
- export type ListMarketplaceChartsErrors = {
2858
+ 404: unknown;
1606
2859
  /**
1607
- * Not authenticated
2860
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
1608
2861
  */
1609
- 401: unknown;
2862
+ 409: string;
2863
+ /**
2864
+ * Transient failure tearing down the cluster; retry the request.
2865
+ */
2866
+ 503: unknown;
1610
2867
  };
1611
- export type ListMarketplaceChartsResponses = {
2868
+ export type DeleteClusterError = DeleteClusterErrors[keyof DeleteClusterErrors];
2869
+ export type DeleteClusterResponses = {
1612
2870
  /**
1613
- * An array of chart listings in the marketplace.
2871
+ * Successfully deleted. The cluster has been torn down.
1614
2872
  */
1615
- 200: Array<MarketplaceListing>;
2873
+ 200: string;
1616
2874
  };
1617
- export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
1618
- export type GetMarketplaceChartData = {
2875
+ export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
2876
+ export type GetClusterData = {
1619
2877
  body?: never;
1620
2878
  path: {
1621
2879
  /**
1622
- * Unique identifier of the chart listing in the marketplace.
2880
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1623
2881
  */
1624
- listing_id: string;
2882
+ cluster_id: string;
1625
2883
  };
1626
2884
  query?: never;
1627
- url: '/marketplace/{listing_id}';
2885
+ url: '/clusters/{cluster_id}';
1628
2886
  };
1629
- export type GetMarketplaceChartResponses = {
2887
+ export type GetClusterResponses = {
1630
2888
  /**
1631
- * Returns an object containing the chart listing details.
2889
+ * Returns a single object containing cluster details.
1632
2890
  */
1633
- 200: MarketplaceListing;
2891
+ 200: Cluster;
1634
2892
  };
1635
- export type GetMarketplaceChartResponse = GetMarketplaceChartResponses[keyof GetMarketplaceChartResponses];
1636
- export type GetOrganizationData = {
1637
- body?: never;
1638
- path?: never;
2893
+ export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
2894
+ export type UpdateClusterData = {
2895
+ body: ClusterUpdateInput;
2896
+ path: {
2897
+ /**
2898
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2899
+ */
2900
+ cluster_id: string;
2901
+ };
1639
2902
  query?: never;
1640
- url: '/organization';
2903
+ url: '/clusters/{cluster_id}';
1641
2904
  };
1642
- export type GetOrganizationResponses = {
2905
+ export type UpdateClusterErrors = {
1643
2906
  /**
1644
- * Returns a single object containing organization details.
2907
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
1645
2908
  */
1646
- 200: Organization;
2909
+ 409: string;
1647
2910
  };
1648
- export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
1649
- export type CreateOrganizationData = {
1650
- body: OrganizationCreateInput;
1651
- path?: never;
1652
- query?: never;
1653
- url: '/organization';
1654
- };
1655
- export type CreateOrganizationResponses = {
2911
+ export type UpdateClusterError = UpdateClusterErrors[keyof UpdateClusterErrors];
2912
+ export type UpdateClusterResponses = {
1656
2913
  /**
1657
- * Successfully created a new organization.
2914
+ * Successfully updated. Returns updated cluster details.
1658
2915
  */
1659
- 200: unknown;
2916
+ 200: Cluster;
1660
2917
  };
1661
- export type ListTokensData = {
2918
+ export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
2919
+ export type GetJoinInformationData = {
1662
2920
  body?: never;
1663
- path?: never;
2921
+ path: {
2922
+ /**
2923
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2924
+ */
2925
+ cluster_id: string;
2926
+ };
1664
2927
  query?: never;
1665
- url: '/tokens';
2928
+ url: '/clusters/{cluster_id}/join_information';
1666
2929
  };
1667
- export type ListTokensErrors = {
2930
+ export type GetJoinInformationErrors = {
1668
2931
  /**
1669
2932
  * Not authenticated
1670
2933
  */
1671
2934
  401: unknown;
2935
+ /**
2936
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
2937
+ */
2938
+ 409: string;
2939
+ /**
2940
+ * The cluster runs on Cloudfleet data plane v2 and the calling client did not declare the dataplane-v2 capability, so it cannot provision a node for it. Upgrade the Cloudfleet CLI or Terraform provider.
2941
+ */
2942
+ 426: string;
1672
2943
  };
1673
- export type ListTokensResponses = {
2944
+ export type GetJoinInformationError = GetJoinInformationErrors[keyof GetJoinInformationErrors];
2945
+ export type GetJoinInformationResponses = {
1674
2946
  /**
1675
- * Returns a list of access token details with masked secrets.
2947
+ * An object of cluster join information
1676
2948
  */
1677
- 200: Array<Token>;
2949
+ 200: ClusterJoinInformation;
1678
2950
  };
1679
- export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1680
- export type CreateTokenData = {
1681
- body: TokenCreateInput;
2951
+ export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
2952
+ export type GetUsageData = {
2953
+ body?: never;
1682
2954
  path?: never;
1683
- query?: never;
1684
- url: '/tokens';
2955
+ query?: {
2956
+ /**
2957
+ * Time granularity for usage aggregation - hourly (Past 48 hours aggregated by hour), daily (Past 30 days aggregated by day), monthly (Past 12 months aggregated by month)
2958
+ */
2959
+ granularity?: 'hourly' | 'daily' | 'monthly';
2960
+ };
2961
+ url: '/billing/usage';
1685
2962
  };
1686
- export type CreateTokenErrors = {
2963
+ export type GetUsageErrors = {
1687
2964
  /**
1688
2965
  * Not authenticated
1689
2966
  */
1690
2967
  401: unknown;
1691
2968
  };
1692
- export type CreateTokenResponses = {
2969
+ export type GetUsageResponses = {
1693
2970
  /**
1694
- * Successfully created. Returns created token details with unmasked/raw secret.
2971
+ * Usage data with facets for filtering
1695
2972
  */
1696
- 200: Token;
2973
+ 200: UsageResponse;
1697
2974
  };
1698
- export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1699
- export type DeleteTokenData = {
2975
+ export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
2976
+ export type GetPaymentMethodSecretData = {
1700
2977
  body?: never;
1701
- path: {
1702
- /**
1703
- * Generated unique identifier of the access token.
1704
- */
1705
- token_id: string;
1706
- };
2978
+ path?: never;
1707
2979
  query?: never;
1708
- url: '/tokens/{token_id}';
2980
+ url: '/billing/payment-method';
1709
2981
  };
1710
- export type DeleteTokenResponses = {
2982
+ export type GetPaymentMethodSecretResponses = {
1711
2983
  /**
1712
- * Successfully deleted.
2984
+ * The client secret. Used for client-side retrieval using a publishable key. The client secret can be used to complete a payment from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.
2985
+ *
1713
2986
  */
1714
- 200: unknown;
1715
- };
1716
- export type GetTokenData = {
1717
- body?: never;
1718
- path: {
2987
+ 200: {
1719
2988
  /**
1720
- * Generated unique identifier of the access token.
2989
+ * The client secret.
1721
2990
  */
1722
- token_id: string;
2991
+ id?: string;
1723
2992
  };
2993
+ };
2994
+ export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
2995
+ export type ListPaymentMethodsData = {
2996
+ body?: never;
2997
+ path?: never;
1724
2998
  query?: never;
1725
- url: '/tokens/{token_id}';
2999
+ url: '/billing/payment-methods';
1726
3000
  };
1727
- export type GetTokenErrors = {
3001
+ export type ListPaymentMethodsErrors = {
1728
3002
  /**
1729
3003
  * Not authenticated
1730
3004
  */
1731
3005
  401: unknown;
1732
3006
  };
1733
- export type GetTokenResponses = {
3007
+ export type ListPaymentMethodsResponses = {
1734
3008
  /**
1735
- * Returns access token details with masked secret.
3009
+ * An array of payment methods.
1736
3010
  */
1737
- 200: Token;
3011
+ 200: Array<PaymentMethod>;
1738
3012
  };
1739
- export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
1740
- export type UpdateTokenData = {
1741
- body: TokenUpdateInput;
3013
+ export type ListPaymentMethodsResponse = ListPaymentMethodsResponses[keyof ListPaymentMethodsResponses];
3014
+ export type SetDefaultPaymentMethodData = {
3015
+ body?: never;
1742
3016
  path: {
1743
3017
  /**
1744
- * Generated unique identifier of the access token.
3018
+ * Stripe payment method identifier.
1745
3019
  */
1746
- token_id: string;
3020
+ paymentMethodId: string;
1747
3021
  };
1748
3022
  query?: never;
1749
- url: '/tokens/{token_id}';
3023
+ url: '/billing/payment-methods/{paymentMethodId}/default';
1750
3024
  };
1751
- export type UpdateTokenErrors = {
3025
+ export type SetDefaultPaymentMethodErrors = {
3026
+ /**
3027
+ * The bank transfer payment method cannot be set as the default.
3028
+ */
3029
+ 400: unknown;
1752
3030
  /**
1753
3031
  * Not authenticated
1754
3032
  */
1755
3033
  401: unknown;
3034
+ /**
3035
+ * Payment method not found.
3036
+ */
3037
+ 404: unknown;
1756
3038
  };
1757
- export type UpdateTokenResponses = {
3039
+ export type SetDefaultPaymentMethodResponses = {
1758
3040
  /**
1759
- * Successfully updated. Returns updated token details with masked secret.
3041
+ * Default payment method updated.
1760
3042
  */
1761
- 200: Token;
3043
+ 204: void;
1762
3044
  };
1763
- export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
1764
- export type RegenerateTokenData = {
3045
+ export type SetDefaultPaymentMethodResponse = SetDefaultPaymentMethodResponses[keyof SetDefaultPaymentMethodResponses];
3046
+ export type DeletePaymentMethodData = {
1765
3047
  body?: never;
1766
3048
  path: {
1767
3049
  /**
1768
- * Generated unique identifier of the access token.
3050
+ * Stripe payment method identifier.
1769
3051
  */
1770
- token_id: string;
3052
+ paymentMethodId: string;
1771
3053
  };
1772
3054
  query?: never;
1773
- url: '/tokens/{token_id}/secret';
3055
+ url: '/billing/payment-methods/{paymentMethodId}';
1774
3056
  };
1775
- export type RegenerateTokenErrors = {
3057
+ export type DeletePaymentMethodErrors = {
3058
+ /**
3059
+ * The bank transfer payment method cannot be removed.
3060
+ */
3061
+ 400: unknown;
1776
3062
  /**
1777
3063
  * Not authenticated
1778
3064
  */
1779
3065
  401: unknown;
1780
- };
1781
- export type RegenerateTokenResponses = {
1782
3066
  /**
1783
- * Successfully updated. Returns updated token details with unmasked / raw secret.
3067
+ * Payment method not found.
1784
3068
  */
1785
- 200: Token;
1786
- };
1787
- export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
1788
- export type ListUserOrganizationsData = {
1789
- body?: never;
1790
- path: {
1791
- /**
1792
- * User email address.
1793
- */
1794
- email: string;
1795
- };
1796
- query?: never;
1797
- url: '/users/organizations/{email}';
3069
+ 404: unknown;
3070
+ /**
3071
+ * Cannot delete the only remaining payment method.
3072
+ */
3073
+ 409: unknown;
1798
3074
  };
1799
- export type ListUserOrganizationsResponses = {
3075
+ export type DeletePaymentMethodResponses = {
1800
3076
  /**
1801
- * An array of organizations the user belongs to.
3077
+ * Payment method deleted.
1802
3078
  */
1803
- 200: Array<{
1804
- /**
1805
- * Unique identifier of the organization. UUID v4 string in canonical form
1806
- */
1807
- realm?: string;
1808
- /**
1809
- * Human-readable name of the organization
1810
- */
1811
- displayName?: string;
1812
- }>;
3079
+ 204: void;
1813
3080
  };
1814
- export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
1815
- export type ListUsersData = {
3081
+ export type DeletePaymentMethodResponse = DeletePaymentMethodResponses[keyof DeletePaymentMethodResponses];
3082
+ export type ListInvoicesData = {
1816
3083
  body?: never;
1817
3084
  path?: never;
1818
3085
  query?: never;
1819
- url: '/users';
3086
+ url: '/billing/invoices';
1820
3087
  };
1821
- export type ListUsersErrors = {
3088
+ export type ListInvoicesErrors = {
1822
3089
  /**
1823
3090
  * Not authenticated
1824
3091
  */
1825
3092
  401: unknown;
1826
3093
  };
1827
- export type ListUsersResponses = {
3094
+ export type ListInvoicesResponses = {
1828
3095
  /**
1829
- * An array of users
3096
+ * An array of usage records.
1830
3097
  */
1831
- 200: Array<User>;
3098
+ 200: Array<Invoice>;
1832
3099
  };
1833
- export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
1834
- export type CreateUserData = {
1835
- body: UserCreateInput;
3100
+ export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
3101
+ export type PayOpenInvoicesData = {
3102
+ body?: never;
1836
3103
  path?: never;
1837
3104
  query?: never;
1838
- url: '/users';
3105
+ url: '/billing/invoices/pay';
1839
3106
  };
1840
- export type CreateUserResponses = {
3107
+ export type PayOpenInvoicesErrors = {
1841
3108
  /**
1842
- * Successfully created. Returns created user details.
3109
+ * The organization has no payment method that can be charged.
1843
3110
  */
1844
- 200: User;
3111
+ 400: unknown;
3112
+ /**
3113
+ * Not authenticated
3114
+ */
3115
+ 401: unknown;
3116
+ /**
3117
+ * Too many payment attempts for this organization.
3118
+ */
3119
+ 429: unknown;
1845
3120
  };
1846
- export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
1847
- export type DeleteUserData = {
3121
+ export type PayOpenInvoicesResponses = {
3122
+ /**
3123
+ * The outcome of the attempt.
3124
+ */
3125
+ 200: InvoicePaymentResult;
3126
+ };
3127
+ export type PayOpenInvoicesResponse = PayOpenInvoicesResponses[keyof PayOpenInvoicesResponses];
3128
+ export type GetContactData = {
1848
3129
  body?: never;
1849
- path: {
1850
- /**
1851
- * Unique user identifier. UUID v4 string in canonical form
1852
- */
1853
- user_id: string;
1854
- };
3130
+ path?: never;
1855
3131
  query?: never;
1856
- url: '/users/{user_id}';
3132
+ url: '/billing/contact';
1857
3133
  };
1858
- export type DeleteUserErrors = {
1859
- /**
1860
- * Deleting own user is not allowed. Delete your organization instead.
1861
- */
1862
- 400: unknown;
3134
+ export type GetContactResponses = {
1863
3135
  /**
1864
- * Not authenticated
3136
+ * Returns a single object containing organization contact and billing address details.
1865
3137
  */
1866
- 401: unknown;
3138
+ 200: BillingContact;
1867
3139
  };
1868
- export type DeleteUserResponses = {
3140
+ export type GetContactResponse = GetContactResponses[keyof GetContactResponses];
3141
+ export type UpdateContactData = {
3142
+ body: BillingContact;
3143
+ path?: never;
3144
+ query?: never;
3145
+ url: '/billing/contact';
3146
+ };
3147
+ export type UpdateContactResponses = {
1869
3148
  /**
1870
- * User profile information
3149
+ * Successfully updated. Returns updated organization details.
1871
3150
  */
1872
- 200: User;
3151
+ 200: BillingContact;
1873
3152
  };
1874
- export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
1875
- export type GetUserData = {
3153
+ export type UpdateContactResponse = UpdateContactResponses[keyof UpdateContactResponses];
3154
+ export type GetCreditsData = {
1876
3155
  body?: never;
1877
- path: {
1878
- /**
1879
- * Unique user identifier. UUID v4 string in canonical form
1880
- */
1881
- user_id: string;
1882
- };
3156
+ path?: never;
1883
3157
  query?: never;
1884
- url: '/users/{user_id}';
3158
+ url: '/billing/credits';
1885
3159
  };
1886
- export type GetUserErrors = {
3160
+ export type GetCreditsErrors = {
1887
3161
  /**
1888
3162
  * Not authenticated
1889
3163
  */
1890
3164
  401: unknown;
1891
3165
  };
1892
- export type GetUserResponses = {
3166
+ export type GetCreditsResponses = {
1893
3167
  /**
1894
- * User profile information
3168
+ * An array of the applied promotional credits records.
1895
3169
  */
1896
- 200: User;
3170
+ 200: Array<BillingCredits>;
1897
3171
  };
1898
- export type GetUserResponse = GetUserResponses[keyof GetUserResponses];
1899
- export type UpdateUserData = {
1900
- body: UserUpdateInput;
1901
- path: {
3172
+ export type GetCreditsResponse = GetCreditsResponses[keyof GetCreditsResponses];
3173
+ export type RedeemCreditsData = {
3174
+ body: {
1902
3175
  /**
1903
- * Unique user identifier. UUID v4 string in canonical form
3176
+ * Promotional code to redeem
1904
3177
  */
1905
- user_id: string;
3178
+ code?: string;
1906
3179
  };
3180
+ path?: never;
1907
3181
  query?: never;
1908
- url: '/users/{user_id}';
3182
+ url: '/billing/credits';
1909
3183
  };
1910
- export type UpdateUserResponses = {
3184
+ export type RedeemCreditsErrors = {
1911
3185
  /**
1912
- * Successfully created. Returns created user details.
3186
+ * Not authenticated
1913
3187
  */
1914
- 200: User;
3188
+ 401: unknown;
1915
3189
  };
1916
- export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
1917
- export type ClientOptions = {
1918
- baseUrl: 'https://api.cloudfleet.ai/v1' | (string & {});
3190
+ export type RedeemCreditsResponses = {
3191
+ /**
3192
+ * Successfully created a new organization.
3193
+ */
3194
+ 200: unknown;
1919
3195
  };
1920
3196
  //# sourceMappingURL=types.gen.d.ts.map