@cloudfleet/sdk 0.0.1-9c683a8 → 0.0.1-9d04e01

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.
@@ -2,6 +2,10 @@ export type ClientOptions = {
2
2
  baseUrl: 'https://api.cloudfleet.ai/v1' | (string & {});
3
3
  };
4
4
  export type BillingContact = {
5
+ /**
6
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
7
+ */
8
+ type: 'business' | 'personal';
5
9
  /**
6
10
  * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
7
11
  */
@@ -49,7 +53,7 @@ export type BillingContact = {
49
53
  /**
50
54
  * Type of the tax ID.
51
55
  */
52
- 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' | '';
53
57
  };
54
58
  export type BillingCredits = {
55
59
  /**
@@ -129,9 +133,9 @@ export type Chart = {
129
133
  */
130
134
  chart: string;
131
135
  /**
132
- * Status of the chart deployment.
136
+ * Status of the chart deployment (Flux HelmRelease Ready condition reason, e.g. InstallSucceeded, UpgradeFailed, Progressing).
133
137
  */
134
- status: 'InstallSucceeded' | 'InstallFailed' | 'UpgradeSucceeded' | 'UpgradeFailed' | 'TestSucceeded' | 'TestFailed' | 'RollbackSucceeded' | 'RollbackFailed' | 'UninstallSucceeded' | 'UninstallFailed' | 'ArtifactFailed' | 'DependencyNotReady' | 'Progressing' | 'SourceNotReady';
138
+ status: string;
135
139
  /**
136
140
  * Current version of the chart deployment.
137
141
  */
@@ -159,6 +163,9 @@ export type ChartUpdateInput = {
159
163
  */
160
164
  version_channel: string;
161
165
  };
166
+ /**
167
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
168
+ */
162
169
  export type ClusterCreateInput = {
163
170
  /**
164
171
  * Name of the cluster.
@@ -167,15 +174,61 @@ export type ClusterCreateInput = {
167
174
  /**
168
175
  * Tier of the cluster.
169
176
  */
170
- tier: 'basic' | 'pro';
177
+ tier?: 'basic' | 'pro' | 'enterprise';
178
+ /**
179
+ * Version of the kubernetes cluster.
180
+ */
181
+ version_channel?: string;
171
182
  /**
172
- * Cloudfleet control plane region. One of "staging-1a", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.
183
+ * Release channel for the cluster's control plane.
173
184
  */
174
- region?: 'staging-1a' | 'northamerica-central-1' | 'europe-central-1a' | 'northamerica-central-1a';
185
+ release_channel?: 'rapid' | 'stable' | 'extended';
175
186
  /**
176
- * Version of the kubernetes cluster.
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.
177
205
  */
178
- version_channel?: '1.x.x-cfke.x' | '1.31.x-cfke.x' | '1.32.x-cfke.x' | '1.33.x-cfke.x';
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
+ };
179
232
  };
180
233
  export type ClusterJoinInformation = {
181
234
  /**
@@ -190,10 +243,18 @@ export type ClusterJoinInformation = {
190
243
  * Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.
191
244
  */
192
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;
193
250
  /**
194
251
  * Authentication key for the cluster.
195
252
  */
196
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;
197
258
  /**
198
259
  * Bootstrap token for the cluster.
199
260
  */
@@ -237,6 +298,9 @@ export type ClusterJoinInformation = {
237
298
  gcp_workload_identity_provider: string;
238
299
  };
239
300
  };
301
+ /**
302
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
303
+ */
240
304
  export type Cluster = {
241
305
  /**
242
306
  * Name of the cluster.
@@ -245,20 +309,71 @@ export type Cluster = {
245
309
  /**
246
310
  * Tier of the cluster.
247
311
  */
248
- tier: 'basic' | 'pro';
312
+ tier: 'basic' | 'pro' | 'enterprise';
313
+ /**
314
+ * Version of the kubernetes cluster.
315
+ */
316
+ version_channel: string;
317
+ /**
318
+ * Release channel for the cluster's control plane.
319
+ */
320
+ release_channel: 'rapid' | 'stable' | 'extended';
321
+ /**
322
+ * Cluster feature toggles.
323
+ */
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;
249
342
  /**
250
- * Cloudfleet control plane region. One of "staging-1a", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.
343
+ * Cluster networking configuration. Immutable after creation.
251
344
  */
252
- region?: 'staging-1a' | 'northamerica-central-1' | 'europe-central-1a' | 'northamerica-central-1a';
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
+ };
253
367
  /**
254
368
  * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
255
369
  */
256
370
  id: string;
257
371
  /**
258
- * Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.
372
+ * Status of the cluster.
259
373
  */
260
- status: 'active' | 'disabled' | 'deleted' | 'creating' | 'deployed' | 'failed' | 'updating';
374
+ status: 'creating' | 'deployed' | 'updating' | 'disabled';
261
375
  endpoint?: string | '';
376
+ endpoint_public?: string | '';
262
377
  /**
263
378
  * Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.
264
379
  */
@@ -278,129 +393,310 @@ export type Cluster = {
278
393
  /**
279
394
  * Indicates if the cluster is ready to be used.
280
395
  */
281
- ready?: boolean;
282
- /**
283
- * Version of the kubernetes cluster.
284
- */
285
- version_channel?: string;
396
+ ready: boolean;
286
397
  };
398
+ /**
399
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
400
+ */
287
401
  export type ClusterUpdateInput = {
288
402
  /**
289
403
  * Name of the cluster.
290
404
  */
291
- name?: string;
405
+ name: string;
292
406
  /**
293
407
  * Tier of the cluster.
294
408
  */
295
- tier: 'basic' | 'pro';
409
+ tier?: 'basic' | 'pro' | 'enterprise';
296
410
  /**
297
411
  * Version of the kubernetes cluster.
298
412
  */
299
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
+ };
300
435
  };
436
+ /**
437
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
438
+ */
301
439
  export type FleetCreateInput = {
302
440
  /**
303
441
  * Limits define a set of bounds for provisioning capacity.
304
442
  */
305
443
  limits?: {
306
444
  /**
307
- * CPU limit in cores.
445
+ * CPU limit in cores. Maximum 100,000.
308
446
  */
309
- cpu: number;
447
+ cpu?: number;
310
448
  };
311
449
  gcp?: {
312
- enabled?: boolean;
450
+ enabled: boolean;
313
451
  /**
314
- * Project GCP Project id to deploy instances into
452
+ * 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.
315
453
  */
316
- project: string;
454
+ project?: string;
317
455
  };
318
456
  hetzner?: {
319
- enabled?: boolean;
457
+ enabled: boolean;
320
458
  /**
321
- * Hetzner Cloud API key with read / write access
459
+ * 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.
322
460
  */
323
- apiKey: string;
461
+ apiKey?: string;
324
462
  };
325
463
  aws?: {
326
- enabled?: boolean;
464
+ enabled: boolean;
465
+ /**
466
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
467
+ */
468
+ controllerRoleArn?: string;
469
+ };
470
+ /**
471
+ * 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.
472
+ */
473
+ constraints?: {
474
+ /**
475
+ * Allowed values for `karpenter.sh/capacity-type`.
476
+ */
477
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
327
478
  /**
328
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
479
+ * Allowed values for `kubernetes.io/arch`.
329
480
  */
330
- controllerRoleArn: string;
481
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
482
+ /**
483
+ * Allowed values for `cfke.io/instance-family`.
484
+ */
485
+ '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'>;
486
+ /**
487
+ * Allowed values for `topology.kubernetes.io/region`.
488
+ */
489
+ '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'>;
331
490
  };
491
+ /**
492
+ * 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`).
493
+ */
494
+ scalingProfile?: 'aggressive' | 'conservative';
495
+ /**
496
+ * 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.
497
+ */
498
+ taints?: Array<{
499
+ /**
500
+ * 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.
501
+ */
502
+ key: string;
503
+ /**
504
+ * Taint value. Optional.
505
+ */
506
+ value?: string;
507
+ /**
508
+ * Taint effect.
509
+ */
510
+ effect: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
511
+ }>;
332
512
  /**
333
513
  * Unique identifier of the kubernetes fleet.
334
514
  */
335
515
  id: string;
336
516
  };
517
+ /**
518
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
519
+ */
337
520
  export type Fleet = {
338
521
  /**
339
522
  * Limits define a set of bounds for provisioning capacity.
340
523
  */
341
524
  limits?: {
342
525
  /**
343
- * CPU limit in cores.
526
+ * CPU limit in cores. Maximum 100,000.
344
527
  */
345
- cpu: number;
528
+ cpu?: number;
346
529
  };
347
530
  gcp?: {
348
- enabled?: boolean;
531
+ enabled: boolean;
349
532
  /**
350
- * Project GCP Project id to deploy instances into
533
+ * 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.
351
534
  */
352
- project: string;
535
+ project?: string;
353
536
  };
354
537
  hetzner?: {
355
- enabled?: boolean;
538
+ enabled: boolean;
356
539
  /**
357
- * Hetzner Cloud API key with read / write access
540
+ * Redacted Hetzner API token. Returned as 64 asterisks when a token is configured; omitted otherwise. The real value is never echoed by the API.
358
541
  */
359
- apiKey: string;
542
+ apiKey?: string;
360
543
  };
361
544
  aws?: {
362
- enabled?: boolean;
545
+ enabled: boolean;
546
+ /**
547
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
548
+ */
549
+ controllerRoleArn?: string;
550
+ };
551
+ /**
552
+ * 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.
553
+ */
554
+ constraints: {
555
+ /**
556
+ * Allowed values for `karpenter.sh/capacity-type`.
557
+ */
558
+ 'karpenter.sh/capacity-type': Array<'on-demand' | 'spot'>;
559
+ /**
560
+ * Allowed values for `kubernetes.io/arch`.
561
+ */
562
+ 'kubernetes.io/arch': Array<'amd64' | 'arm64'>;
363
563
  /**
364
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
564
+ * Allowed values for `cfke.io/instance-family`.
365
565
  */
366
- controllerRoleArn: string;
566
+ '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'>;
567
+ /**
568
+ * Allowed values for `topology.kubernetes.io/region`.
569
+ */
570
+ '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'>;
367
571
  };
572
+ /**
573
+ * 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`).
574
+ */
575
+ scalingProfile: 'aggressive' | 'conservative';
576
+ /**
577
+ * 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.
578
+ */
579
+ taints: Array<{
580
+ /**
581
+ * 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.
582
+ */
583
+ key: string;
584
+ /**
585
+ * Taint value. Optional.
586
+ */
587
+ value?: string;
588
+ /**
589
+ * Taint effect.
590
+ */
591
+ effect: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
592
+ }>;
368
593
  /**
369
594
  * Unique identifier of the kubernetes fleet.
370
595
  */
371
596
  id: string;
597
+ /**
598
+ * Indicates whether the fleet configuration is healthy.
599
+ */
600
+ ready: boolean;
601
+ /**
602
+ * Human-readable reason the fleet is not ready. Present only when `ready` is false.
603
+ */
604
+ status_message?: string;
605
+ /**
606
+ * Creation date and time of the fleet.
607
+ */
608
+ created_at: string;
609
+ /**
610
+ * Date and time the fleet was last updated.
611
+ */
612
+ updated_at: string;
372
613
  };
614
+ /**
615
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
616
+ */
373
617
  export type FleetUpdateInput = {
374
618
  /**
375
619
  * Limits define a set of bounds for provisioning capacity.
376
620
  */
377
621
  limits?: {
378
622
  /**
379
- * CPU limit in cores.
623
+ * CPU limit in cores. Maximum 100,000.
380
624
  */
381
- cpu: number;
625
+ cpu?: number;
382
626
  };
383
627
  gcp?: {
384
- enabled?: boolean;
628
+ enabled: boolean;
385
629
  /**
386
- * Project GCP Project id to deploy instances into
630
+ * 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.
387
631
  */
388
- project: string;
632
+ project?: string;
389
633
  };
390
634
  hetzner?: {
391
- enabled?: boolean;
635
+ enabled: boolean;
392
636
  /**
393
- * Hetzner Cloud API key with read / write access
637
+ * 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.
394
638
  */
395
- apiKey: string;
639
+ apiKey?: string;
396
640
  };
397
641
  aws?: {
398
- enabled?: boolean;
642
+ enabled: boolean;
643
+ /**
644
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
645
+ */
646
+ controllerRoleArn?: string;
647
+ };
648
+ /**
649
+ * 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.
650
+ */
651
+ constraints?: {
652
+ /**
653
+ * Allowed values for `karpenter.sh/capacity-type`.
654
+ */
655
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
656
+ /**
657
+ * Allowed values for `kubernetes.io/arch`.
658
+ */
659
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
660
+ /**
661
+ * Allowed values for `cfke.io/instance-family`.
662
+ */
663
+ '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'>;
399
664
  /**
400
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
665
+ * Allowed values for `topology.kubernetes.io/region`.
401
666
  */
402
- controllerRoleArn: string;
667
+ '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'>;
403
668
  };
669
+ /**
670
+ * 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`).
671
+ */
672
+ scalingProfile?: 'aggressive' | 'conservative';
673
+ /**
674
+ * 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.
675
+ */
676
+ taints?: Array<{
677
+ /**
678
+ * 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.
679
+ */
680
+ key: string;
681
+ /**
682
+ * Taint value. Optional.
683
+ */
684
+ value?: string;
685
+ /**
686
+ * Taint effect.
687
+ */
688
+ effect: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
689
+ }>;
690
+ };
691
+ export type InviteCreateInput = {
692
+ /**
693
+ * Email address of the user to invite.
694
+ */
695
+ email: string;
696
+ /**
697
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
698
+ */
699
+ role?: 'Administrator' | 'User';
404
700
  };
405
701
  export type Invite = {
406
702
  /**
@@ -423,6 +719,91 @@ export type Invite = {
423
719
  * Generated unique invite code.
424
720
  */
425
721
  code?: string;
722
+ /**
723
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
724
+ */
725
+ role?: 'Administrator' | 'User';
726
+ };
727
+ export type InvoicePaymentAttempt = {
728
+ /**
729
+ * Identifier of the invoice.
730
+ */
731
+ invoice_id: string;
732
+ /**
733
+ * Invoice number. Null if the invoice has no number.
734
+ */
735
+ number: string;
736
+ /**
737
+ * Amount outstanding when the charge was attempted, in the smallest currency unit.
738
+ */
739
+ amount: number;
740
+ /**
741
+ * Currency of the invoice.
742
+ */
743
+ currency: string;
744
+ /**
745
+ * Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).
746
+ */
747
+ status: 'paid' | 'processing' | 'requires_action' | 'failed';
748
+ /**
749
+ * Client secret used to complete customer authentication. Set only when `status` is `requires_action`.
750
+ */
751
+ client_secret: string;
752
+ /**
753
+ * Decline code. Set only when `status` is `failed`.
754
+ */
755
+ failure_code: string;
756
+ /**
757
+ * Explanation of the decline, suitable for display. Set only when `status` is `failed`.
758
+ */
759
+ failure_message: string;
760
+ };
761
+ export type InvoicePaymentResult = {
762
+ /**
763
+ * 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).
764
+ */
765
+ code: 'paid' | 'processing' | 'action_required' | 'partially_paid' | 'failed' | 'nothing_due' | 'bank_transfer_due';
766
+ /**
767
+ * Summary of the outcome, suitable for display.
768
+ */
769
+ message: string;
770
+ /**
771
+ * One entry per invoice charged, oldest first.
772
+ */
773
+ results: Array<{
774
+ /**
775
+ * Identifier of the invoice.
776
+ */
777
+ invoice_id: string;
778
+ /**
779
+ * Invoice number. Null if the invoice has no number.
780
+ */
781
+ number: string;
782
+ /**
783
+ * Amount outstanding when the charge was attempted, in the smallest currency unit.
784
+ */
785
+ amount: number;
786
+ /**
787
+ * Currency of the invoice.
788
+ */
789
+ currency: string;
790
+ /**
791
+ * Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).
792
+ */
793
+ status: 'paid' | 'processing' | 'requires_action' | 'failed';
794
+ /**
795
+ * Client secret used to complete customer authentication. Set only when `status` is `requires_action`.
796
+ */
797
+ client_secret: string;
798
+ /**
799
+ * Decline code. Set only when `status` is `failed`.
800
+ */
801
+ failure_code: string;
802
+ /**
803
+ * Explanation of the decline, suitable for display. Set only when `status` is `failed`.
804
+ */
805
+ failure_message: string;
806
+ }>;
426
807
  };
427
808
  export type Invoice = {
428
809
  /**
@@ -543,6 +924,10 @@ export type MarketplaceListing = {
543
924
  };
544
925
  };
545
926
  export type OrganizationCreateInput = {
927
+ /**
928
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
929
+ */
930
+ type: 'business' | 'personal';
546
931
  /**
547
932
  * Email address used for billing as a string.
548
933
  */
@@ -564,6 +949,12 @@ export type OrganizationCreateInput = {
564
949
  */
565
950
  password: string;
566
951
  };
952
+ export type OrganizationCreateOutput = {
953
+ /**
954
+ * Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.
955
+ */
956
+ id: string;
957
+ };
567
958
  export type Organization = {
568
959
  /**
569
960
  * Unique identifier of the organization. UUID v4 string in canonical form
@@ -573,6 +964,10 @@ export type Organization = {
573
964
  * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
574
965
  */
575
966
  name?: string;
967
+ /**
968
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
969
+ */
970
+ type: 'business' | 'personal';
576
971
  /**
577
972
  * Creation date of the organization. ISO 8601 date string in UTC timezone
578
973
  */
@@ -597,6 +992,14 @@ export type Organization = {
597
992
  * Available number of Pro clusters that can be created.
598
993
  */
599
994
  pro_clusters_available: number;
995
+ /**
996
+ * Maximum number of Enterprise clusters that can be created.
997
+ */
998
+ enterprise_clusters_max: number;
999
+ /**
1000
+ * Available number of Enterprise clusters that can be created.
1001
+ */
1002
+ enterprise_clusters_available: number;
600
1003
  /**
601
1004
  * Maximum number of fleets that can be created per cluster.
602
1005
  */
@@ -631,36 +1034,52 @@ export type Organization = {
631
1034
  * Status of the organization. Can be `active` or `closed`, or `suspended`.
632
1035
  */
633
1036
  status: 'active' | 'closed' | 'suspended';
1037
+ /**
1038
+ * 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.
1039
+ */
1040
+ verification: 'none' | 'submitted' | 'verified';
634
1041
  };
635
1042
  export type PaymentMethod = {
636
1043
  /**
637
- * Unique identifier of the organization. UUID v4 string in canonical form.
1044
+ * 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.
638
1045
  */
639
1046
  id: string;
640
1047
  /**
641
- * Whether organization payment method was set up and ready to use for payments.
642
- */
643
- setup: boolean;
644
- /**
645
- * Payment method type type. Only `card` payments supported at the moment.
1048
+ * Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.
646
1049
  */
647
- type: 'card';
1050
+ type: 'card' | 'sepa_debit' | 'bank_transfer';
648
1051
  /**
649
- * Last 4 digits of the payment card number.
1052
+ * 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.
650
1053
  */
651
1054
  last4: string;
652
1055
  /**
653
- * Two-digit number representing the card's expiration month.
1056
+ * Two-digit number representing the card's expiration month. Null for SEPA Direct Debit and bank transfer.
654
1057
  */
655
1058
  exp_month: number;
656
1059
  /**
657
- * Four-digit number representing the card's expiration year.
1060
+ * 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.
658
1061
  */
659
1062
  exp_year: number;
660
1063
  /**
661
- * Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
1064
+ * Payment card brand as reported by Stripe, e.g. `visa`, `mastercard`, `amex`, `cartes_bancaires`, or `unknown`. Null for SEPA Direct Debit and bank transfer.
1065
+ */
1066
+ brand: string;
1067
+ /**
1068
+ * 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.
1069
+ */
1070
+ iban: string;
1071
+ /**
1072
+ * BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.
1073
+ */
1074
+ bic: string;
1075
+ /**
1076
+ * Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.
1077
+ */
1078
+ account_holder_name: string;
1079
+ /**
1080
+ * 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).
662
1081
  */
663
- brand: 'amex' | 'diners' | 'discover' | 'eftpos_au' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
1082
+ is_default: boolean;
664
1083
  };
665
1084
  export type PlatformQuota = {
666
1085
  /**
@@ -679,6 +1098,14 @@ export type PlatformQuota = {
679
1098
  * Available number of Pro clusters that can be created.
680
1099
  */
681
1100
  pro_clusters_available: number;
1101
+ /**
1102
+ * Maximum number of Enterprise clusters that can be created.
1103
+ */
1104
+ enterprise_clusters_max: number;
1105
+ /**
1106
+ * Available number of Enterprise clusters that can be created.
1107
+ */
1108
+ enterprise_clusters_available: number;
682
1109
  /**
683
1110
  * Maximum number of fleets that can be created per cluster.
684
1111
  */
@@ -857,33 +1284,238 @@ export type RegistryTag = {
857
1284
  */
858
1285
  uri: string;
859
1286
  };
860
- export type TokenCreateInput = {
861
- /**
862
- * Human readable access token name.
863
- */
864
- name: string;
1287
+ export type RoadmapItemCreateInput = {
865
1288
  /**
866
- * Role assumed by the token.
1289
+ * Your suggestion in one or two sentences. It is reviewed before it appears on the roadmap.
867
1290
  */
868
- role: 'Administrator' | 'User';
1291
+ text: string;
869
1292
  };
870
- export type Token = {
1293
+ export type RoadmapItem = {
871
1294
  /**
872
- * Human readable access token name.
1295
+ * Unique identifier of the roadmap item (Mongo ObjectId).
873
1296
  */
874
- name: string;
1297
+ id: string;
875
1298
  /**
876
- * Role assumed by the token.
1299
+ * Short description of the roadmap item.
877
1300
  */
878
- role: 'Administrator' | 'User';
1301
+ text: string;
879
1302
  /**
880
- * Generated unique identifier of the access token.
1303
+ * The caller's vote on this item: -1 (down), 1 (up), 2 (double up), or null if the caller has not voted.
881
1304
  */
882
- id?: string;
1305
+ vote: -1 | 1 | 2;
1306
+ };
1307
+ export type RoadmapVoteInput = {
883
1308
  /**
884
- * Access token secret. Unmasked only during creation.
1309
+ * Vote value: -1 (down), 1 (up), or 2 (double up).
885
1310
  */
886
- secret?: string;
1311
+ value: -1 | 1 | 2;
1312
+ };
1313
+ export type TicketAttachment = {
1314
+ /**
1315
+ * Unique identifier of the attachment (Mongo ObjectId).
1316
+ */
1317
+ id: string;
1318
+ /**
1319
+ * Original filename as uploaded.
1320
+ */
1321
+ filename: string;
1322
+ /**
1323
+ * MIME content type of the attachment.
1324
+ */
1325
+ content_type: string;
1326
+ /**
1327
+ * Size of the attachment in bytes.
1328
+ */
1329
+ size: number;
1330
+ };
1331
+ export type TicketCreateInput = {
1332
+ /**
1333
+ * Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.
1334
+ */
1335
+ category: 'billing' | 'technical' | 'general';
1336
+ /**
1337
+ * Initial message body in markdown. There is no separate subject — the first message body is the description.
1338
+ */
1339
+ body: string;
1340
+ /**
1341
+ * Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).
1342
+ */
1343
+ properties?: {
1344
+ [key: string]: unknown;
1345
+ };
1346
+ /**
1347
+ * 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.
1348
+ */
1349
+ grant_support_access?: boolean;
1350
+ };
1351
+ export type TicketMessageInput = {
1352
+ /**
1353
+ * Reply body in markdown.
1354
+ */
1355
+ body: string;
1356
+ };
1357
+ export type TicketMessage = {
1358
+ /**
1359
+ * Unique identifier of the message (Mongo ObjectId).
1360
+ */
1361
+ id: string;
1362
+ /**
1363
+ * Message type. Internal notes are filtered out of customer-facing responses.
1364
+ */
1365
+ type: 'customer_reply' | 'agent_reply';
1366
+ /**
1367
+ * Message body in markdown.
1368
+ */
1369
+ body: string;
1370
+ /**
1371
+ * First name of the author. Null when not provided.
1372
+ */
1373
+ author_first_name?: string;
1374
+ /**
1375
+ * Last name of the author. Null when not provided.
1376
+ */
1377
+ author_last_name?: string;
1378
+ /**
1379
+ * Attachments associated with this message.
1380
+ */
1381
+ attachments?: Array<{
1382
+ /**
1383
+ * Unique identifier of the attachment (Mongo ObjectId).
1384
+ */
1385
+ id: string;
1386
+ /**
1387
+ * Original filename as uploaded.
1388
+ */
1389
+ filename: string;
1390
+ /**
1391
+ * MIME content type of the attachment.
1392
+ */
1393
+ content_type: string;
1394
+ /**
1395
+ * Size of the attachment in bytes.
1396
+ */
1397
+ size: number;
1398
+ }>;
1399
+ /**
1400
+ * Creation date of the message. ISO 8601 UTC.
1401
+ */
1402
+ date_created: string;
1403
+ };
1404
+ export type Ticket = {
1405
+ /**
1406
+ * Unique identifier of the ticket (Mongo ObjectId).
1407
+ */
1408
+ id: string;
1409
+ /**
1410
+ * Current state of the ticket.
1411
+ */
1412
+ status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
1413
+ /**
1414
+ * Ticket category.
1415
+ */
1416
+ category: 'billing' | 'technical' | 'general';
1417
+ /**
1418
+ * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
1419
+ */
1420
+ summary: string;
1421
+ /**
1422
+ * Whether Cloudfleet support staff currently have access to the organization's resources. True once access is granted and until the ticket is closed.
1423
+ */
1424
+ support_access_granted: boolean;
1425
+ /**
1426
+ * When support access was granted. Null if it never was. Kept after the ticket is closed.
1427
+ */
1428
+ support_access_granted_at: string;
1429
+ /**
1430
+ * Closure timestamp. Null while the ticket is open.
1431
+ */
1432
+ closed_at?: string;
1433
+ /**
1434
+ * Creation date of the ticket. ISO 8601 UTC.
1435
+ */
1436
+ date_created: string;
1437
+ /**
1438
+ * Last update date of the ticket. ISO 8601 UTC.
1439
+ */
1440
+ date_updated: string;
1441
+ /**
1442
+ * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
1443
+ */
1444
+ messages?: Array<{
1445
+ /**
1446
+ * Unique identifier of the message (Mongo ObjectId).
1447
+ */
1448
+ id: string;
1449
+ /**
1450
+ * Message type. Internal notes are filtered out of customer-facing responses.
1451
+ */
1452
+ type: 'customer_reply' | 'agent_reply';
1453
+ /**
1454
+ * Message body in markdown.
1455
+ */
1456
+ body: string;
1457
+ /**
1458
+ * First name of the author. Null when not provided.
1459
+ */
1460
+ author_first_name?: string;
1461
+ /**
1462
+ * Last name of the author. Null when not provided.
1463
+ */
1464
+ author_last_name?: string;
1465
+ /**
1466
+ * Attachments associated with this message.
1467
+ */
1468
+ attachments?: Array<{
1469
+ /**
1470
+ * Unique identifier of the attachment (Mongo ObjectId).
1471
+ */
1472
+ id: string;
1473
+ /**
1474
+ * Original filename as uploaded.
1475
+ */
1476
+ filename: string;
1477
+ /**
1478
+ * MIME content type of the attachment.
1479
+ */
1480
+ content_type: string;
1481
+ /**
1482
+ * Size of the attachment in bytes.
1483
+ */
1484
+ size: number;
1485
+ }>;
1486
+ /**
1487
+ * Creation date of the message. ISO 8601 UTC.
1488
+ */
1489
+ date_created: string;
1490
+ }>;
1491
+ };
1492
+ export type TokenCreateInput = {
1493
+ /**
1494
+ * Human readable access token name.
1495
+ */
1496
+ name: string;
1497
+ /**
1498
+ * Role assumed by the token.
1499
+ */
1500
+ role: 'Administrator' | 'User';
1501
+ };
1502
+ export type Token = {
1503
+ /**
1504
+ * Human readable access token name.
1505
+ */
1506
+ name: string;
1507
+ /**
1508
+ * Role assumed by the token.
1509
+ */
1510
+ role: 'Administrator' | 'User';
1511
+ /**
1512
+ * Generated unique identifier of the access token.
1513
+ */
1514
+ id?: string;
1515
+ /**
1516
+ * Access token secret. Unmasked only during creation.
1517
+ */
1518
+ secret?: string;
887
1519
  /**
888
1520
  * Creation date of the access token. ISO 8601 date string in UTC timezone
889
1521
  */
@@ -907,7 +1539,7 @@ export type UsageFacets = {
907
1539
  /**
908
1540
  * List of unique products
909
1541
  */
910
- product?: Array<string>;
1542
+ 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'>;
911
1543
  };
912
1544
  export type UsageResponse = {
913
1545
  /**
@@ -925,7 +1557,7 @@ export type UsageResponse = {
925
1557
  /**
926
1558
  * The product the usage is associated with
927
1559
  */
928
- product: string;
1560
+ product: 'cfke_controlplane_basic' | 'cfke_controlplane_pro' | 'cfke_controlplane_enterprise' | 'cfke_connected_nodes_basic' | 'cfke_connected_nodes_pro' | 'cfke_connected_nodes_enterprise' | 'cfcr_storage';
929
1561
  /**
930
1562
  * Consumption
931
1563
  */
@@ -950,7 +1582,7 @@ export type UsageResponse = {
950
1582
  /**
951
1583
  * List of unique products
952
1584
  */
953
- product?: Array<string>;
1585
+ 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'>;
954
1586
  };
955
1587
  };
956
1588
  export type Usage = {
@@ -965,7 +1597,7 @@ export type Usage = {
965
1597
  /**
966
1598
  * The product the usage is associated with
967
1599
  */
968
- product: string;
1600
+ product: 'cfke_controlplane_basic' | 'cfke_controlplane_pro' | 'cfke_controlplane_enterprise' | 'cfke_connected_nodes_basic' | 'cfke_connected_nodes_pro' | 'cfke_connected_nodes_enterprise' | 'cfcr_storage';
969
1601
  /**
970
1602
  * Consumption
971
1603
  */
@@ -1000,14 +1632,6 @@ export type UserCreateInput = {
1000
1632
  * User password. Must be at least 8 characters long.
1001
1633
  */
1002
1634
  password: string;
1003
- /**
1004
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1005
- */
1006
- status?: 'active' | 'inactive';
1007
- /**
1008
- * User role. Can be 'Administrator', 'User'.
1009
- */
1010
- role?: 'Administrator' | 'User';
1011
1635
  };
1012
1636
  export type User = {
1013
1637
  /**
@@ -1061,549 +1685,710 @@ export type UserUpdateInput = {
1061
1685
  */
1062
1686
  status?: 'active' | 'inactive';
1063
1687
  };
1064
- export type GetUsageData = {
1688
+ export type ListUserOrganizationsData = {
1065
1689
  body?: never;
1066
- path?: never;
1067
- query?: {
1690
+ path: {
1068
1691
  /**
1069
- * 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)
1692
+ * User email address.
1070
1693
  */
1071
- granularity?: 'hourly' | 'daily' | 'monthly';
1694
+ email: string;
1072
1695
  };
1073
- url: '/billing/usage';
1074
- };
1075
- export type GetUsageErrors = {
1076
- /**
1077
- * Not authenticated
1078
- */
1079
- 401: unknown;
1696
+ query?: never;
1697
+ url: '/users/organizations/{email}';
1080
1698
  };
1081
- export type GetUsageResponses = {
1699
+ export type ListUserOrganizationsResponses = {
1082
1700
  /**
1083
- * Usage data with facets for filtering
1701
+ * An array of organizations the user belongs to.
1084
1702
  */
1085
- 200: UsageResponse;
1703
+ 200: Array<{
1704
+ /**
1705
+ * Unique identifier of the organization. UUID v4 string in canonical form
1706
+ */
1707
+ realm?: string;
1708
+ /**
1709
+ * Human-readable name of the organization
1710
+ */
1711
+ displayName?: string;
1712
+ }>;
1086
1713
  };
1087
- export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
1088
- export type GetPaymentMethodData = {
1714
+ export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
1715
+ export type ListUsersData = {
1089
1716
  body?: never;
1090
1717
  path?: never;
1091
1718
  query?: never;
1092
- url: '/billing/payment-method';
1719
+ url: '/users';
1093
1720
  };
1094
- export type GetPaymentMethodErrors = {
1721
+ export type ListUsersErrors = {
1095
1722
  /**
1096
- * Returns 404 Not Found if the organization does not have a payment method set up.
1723
+ * Not authenticated
1097
1724
  */
1098
- 404: unknown;
1725
+ 401: unknown;
1099
1726
  };
1100
- export type GetPaymentMethodResponses = {
1727
+ export type ListUsersResponses = {
1101
1728
  /**
1102
- * Redacted payment card information.
1729
+ * An array of users
1103
1730
  */
1104
- 200: PaymentMethod;
1731
+ 200: Array<User>;
1105
1732
  };
1106
- export type GetPaymentMethodResponse = GetPaymentMethodResponses[keyof GetPaymentMethodResponses];
1107
- export type GetPaymentMethodSecretData = {
1108
- body?: never;
1733
+ export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
1734
+ export type CreateUserData = {
1735
+ body: UserCreateInput;
1109
1736
  path?: never;
1110
1737
  query?: never;
1111
- url: '/billing/payment-method';
1738
+ url: '/users';
1112
1739
  };
1113
- export type GetPaymentMethodSecretResponses = {
1740
+ export type CreateUserResponses = {
1114
1741
  /**
1115
- * 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.
1116
- *
1742
+ * Successfully created. Returns created user details.
1117
1743
  */
1118
- 200: {
1744
+ 200: User;
1745
+ };
1746
+ export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
1747
+ export type DeleteUserData = {
1748
+ body?: never;
1749
+ path: {
1119
1750
  /**
1120
- * The client secret.
1751
+ * Unique user identifier. UUID v4 string in canonical form
1121
1752
  */
1122
- id?: string;
1753
+ user_id: string;
1123
1754
  };
1124
- };
1125
- export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
1126
- export type ListInvoicesData = {
1127
- body?: never;
1128
- path?: never;
1129
1755
  query?: never;
1130
- url: '/billing/invoices';
1756
+ url: '/users/{user_id}';
1131
1757
  };
1132
- export type ListInvoicesErrors = {
1758
+ export type DeleteUserErrors = {
1759
+ /**
1760
+ * Deleting own user is not allowed. Delete your organization instead.
1761
+ */
1762
+ 400: unknown;
1133
1763
  /**
1134
1764
  * Not authenticated
1135
1765
  */
1136
1766
  401: unknown;
1137
1767
  };
1138
- export type ListInvoicesResponses = {
1768
+ export type DeleteUserResponses = {
1139
1769
  /**
1140
- * An array of usage records.
1770
+ * User profile information
1141
1771
  */
1142
- 200: Array<Invoice>;
1772
+ 200: User;
1143
1773
  };
1144
- export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
1145
- export type GetContactData = {
1774
+ export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
1775
+ export type GetUserData = {
1146
1776
  body?: never;
1147
- path?: never;
1777
+ path: {
1778
+ /**
1779
+ * Unique user identifier. UUID v4 string in canonical form
1780
+ */
1781
+ user_id: string;
1782
+ };
1148
1783
  query?: never;
1149
- url: '/billing/contact';
1784
+ url: '/users/{user_id}';
1150
1785
  };
1151
- export type GetContactResponses = {
1786
+ export type GetUserErrors = {
1152
1787
  /**
1153
- * Returns a single object containing organization contact and billing address details.
1788
+ * Not authenticated
1154
1789
  */
1155
- 200: BillingContact;
1156
- };
1157
- export type GetContactResponse = GetContactResponses[keyof GetContactResponses];
1158
- export type UpdateContactData = {
1159
- body: BillingContact;
1160
- path?: never;
1161
- query?: never;
1162
- url: '/billing/contact';
1790
+ 401: unknown;
1163
1791
  };
1164
- export type UpdateContactResponses = {
1792
+ export type GetUserResponses = {
1165
1793
  /**
1166
- * Successfully updated. Returns updated organization details.
1794
+ * User profile information
1167
1795
  */
1168
- 200: BillingContact;
1796
+ 200: User;
1169
1797
  };
1170
- export type UpdateContactResponse = UpdateContactResponses[keyof UpdateContactResponses];
1171
- export type GetCreditsData = {
1798
+ export type GetUserResponse = GetUserResponses[keyof GetUserResponses];
1799
+ export type UpdateUserData = {
1800
+ body: UserUpdateInput;
1801
+ path: {
1802
+ /**
1803
+ * Unique user identifier. UUID v4 string in canonical form
1804
+ */
1805
+ user_id: string;
1806
+ };
1807
+ query?: never;
1808
+ url: '/users/{user_id}';
1809
+ };
1810
+ export type UpdateUserResponses = {
1811
+ /**
1812
+ * Successfully created. Returns created user details.
1813
+ */
1814
+ 200: User;
1815
+ };
1816
+ export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
1817
+ export type ListTokensData = {
1172
1818
  body?: never;
1173
1819
  path?: never;
1174
1820
  query?: never;
1175
- url: '/billing/credits';
1821
+ url: '/tokens';
1176
1822
  };
1177
- export type GetCreditsErrors = {
1823
+ export type ListTokensErrors = {
1178
1824
  /**
1179
1825
  * Not authenticated
1180
1826
  */
1181
1827
  401: unknown;
1182
1828
  };
1183
- export type GetCreditsResponses = {
1829
+ export type ListTokensResponses = {
1184
1830
  /**
1185
- * An array of the applied promotional credits records.
1831
+ * Returns a list of access token details with masked secrets.
1186
1832
  */
1187
- 200: Array<BillingCredits>;
1833
+ 200: Array<Token>;
1188
1834
  };
1189
- export type GetCreditsResponse = GetCreditsResponses[keyof GetCreditsResponses];
1190
- export type RedeemCreditsData = {
1191
- body: {
1192
- /**
1193
- * Promotional code to redeem
1194
- */
1195
- code?: string;
1196
- };
1835
+ export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1836
+ export type CreateTokenData = {
1837
+ body: TokenCreateInput;
1197
1838
  path?: never;
1198
1839
  query?: never;
1199
- url: '/billing/credits';
1840
+ url: '/tokens';
1200
1841
  };
1201
- export type RedeemCreditsErrors = {
1842
+ export type CreateTokenErrors = {
1202
1843
  /**
1203
1844
  * Not authenticated
1204
1845
  */
1205
1846
  401: unknown;
1206
1847
  };
1207
- export type RedeemCreditsResponses = {
1848
+ export type CreateTokenResponses = {
1208
1849
  /**
1209
- * Successfully created a new organization.
1850
+ * Successfully created. Returns created token details with unmasked/raw secret.
1851
+ */
1852
+ 200: Token;
1853
+ };
1854
+ export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1855
+ export type DeleteTokenData = {
1856
+ body?: never;
1857
+ path: {
1858
+ /**
1859
+ * Generated unique identifier of the access token.
1860
+ */
1861
+ token_id: string;
1862
+ };
1863
+ query?: never;
1864
+ url: '/tokens/{token_id}';
1865
+ };
1866
+ export type DeleteTokenResponses = {
1867
+ /**
1868
+ * Successfully deleted.
1210
1869
  */
1211
1870
  200: unknown;
1212
1871
  };
1213
- export type ListChartsData = {
1872
+ export type GetTokenData = {
1214
1873
  body?: never;
1215
1874
  path: {
1216
1875
  /**
1217
- * Unique identifier of the cluster. UUID v4 string in canonical form
1876
+ * Generated unique identifier of the access token.
1218
1877
  */
1219
- cluster_id: string;
1878
+ token_id: string;
1220
1879
  };
1221
1880
  query?: never;
1222
- url: '/clusters/{cluster_id}/charts';
1881
+ url: '/tokens/{token_id}';
1223
1882
  };
1224
- export type ListChartsErrors = {
1883
+ export type GetTokenErrors = {
1225
1884
  /**
1226
1885
  * Not authenticated
1227
1886
  */
1228
1887
  401: unknown;
1229
1888
  };
1230
- export type ListChartsResponses = {
1889
+ export type GetTokenResponses = {
1231
1890
  /**
1232
- * An array of charts
1891
+ * Returns access token details with masked secret.
1233
1892
  */
1234
- 200: Array<Chart>;
1893
+ 200: Token;
1235
1894
  };
1236
- export type ListChartsResponse = ListChartsResponses[keyof ListChartsResponses];
1237
- export type CreateChartData = {
1238
- body: ChartCreateInput;
1895
+ export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
1896
+ export type UpdateTokenData = {
1897
+ body: TokenUpdateInput;
1239
1898
  path: {
1240
1899
  /**
1241
- * Unique identifier of the cluster. UUID v4 string in canonical form
1900
+ * Generated unique identifier of the access token.
1242
1901
  */
1243
- cluster_id: string;
1902
+ token_id: string;
1244
1903
  };
1245
1904
  query?: never;
1246
- url: '/clusters/{cluster_id}/charts';
1905
+ url: '/tokens/{token_id}';
1247
1906
  };
1248
- export type CreateChartResponses = {
1907
+ export type UpdateTokenErrors = {
1249
1908
  /**
1250
- * Successfully created. Returns created Chart ID.
1909
+ * Not authenticated
1251
1910
  */
1252
- 200: string;
1911
+ 401: unknown;
1253
1912
  };
1254
- export type CreateChartResponse = CreateChartResponses[keyof CreateChartResponses];
1255
- export type DeleteChartData = {
1913
+ export type UpdateTokenResponses = {
1914
+ /**
1915
+ * Successfully updated. Returns updated token details with masked secret.
1916
+ */
1917
+ 200: Token;
1918
+ };
1919
+ export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
1920
+ export type RegenerateTokenData = {
1256
1921
  body?: never;
1257
1922
  path: {
1258
1923
  /**
1259
- * Unique identifier of the cluster. UUID v4 string in canonical form
1260
- */
1261
- cluster_id: string;
1262
- /**
1263
- * Chart deployment name as the unique identifier of the chart.
1924
+ * Generated unique identifier of the access token.
1264
1925
  */
1265
- chart_name: string;
1926
+ token_id: string;
1266
1927
  };
1267
1928
  query?: never;
1268
- url: '/clusters/{cluster_id}/charts/{chart_name}';
1929
+ url: '/tokens/{token_id}/secret';
1269
1930
  };
1270
- export type DeleteChartResponses = {
1931
+ export type RegenerateTokenErrors = {
1271
1932
  /**
1272
- * Successfully deleted.
1933
+ * Not authenticated
1273
1934
  */
1274
- 200: string;
1935
+ 401: unknown;
1275
1936
  };
1276
- export type DeleteChartResponse = DeleteChartResponses[keyof DeleteChartResponses];
1277
- export type GetChartData = {
1937
+ export type RegenerateTokenResponses = {
1938
+ /**
1939
+ * Successfully updated. Returns updated token details with unmasked / raw secret.
1940
+ */
1941
+ 200: Token;
1942
+ };
1943
+ export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
1944
+ export type ListTicketsData = {
1278
1945
  body?: never;
1279
- path: {
1280
- /**
1281
- * Unique identifier of the cluster. UUID v4 string in canonical form
1282
- */
1283
- cluster_id: string;
1284
- /**
1285
- * Chart deployment name as the unique identifier of the chart.
1286
- */
1287
- chart_name: string;
1288
- };
1946
+ path?: never;
1289
1947
  query?: never;
1290
- url: '/clusters/{cluster_id}/charts/{chart_name}';
1948
+ url: '/tickets';
1291
1949
  };
1292
- export type GetChartResponses = {
1950
+ export type ListTicketsResponses = {
1293
1951
  /**
1294
- * Returns a single object containing chart details.
1952
+ * An array of tickets for the organization, newest first.
1295
1953
  */
1296
- 200: Chart;
1954
+ 200: Array<Ticket>;
1297
1955
  };
1298
- export type GetChartResponse = GetChartResponses[keyof GetChartResponses];
1299
- export type UpdateChartData = {
1300
- body: ChartUpdateInput;
1301
- path: {
1302
- /**
1303
- * Unique identifier of the cluster. UUID v4 string in canonical form
1304
- */
1305
- cluster_id: string;
1956
+ export type ListTicketsResponse = ListTicketsResponses[keyof ListTicketsResponses];
1957
+ export type CreateTicketData = {
1958
+ body: {
1306
1959
  /**
1307
- * Chart deployment name as the unique identifier of the chart.
1960
+ * JSON-encoded TicketCreateInput.
1308
1961
  */
1309
- chart_name: string;
1962
+ payload?: string;
1963
+ attachments?: Array<Blob | File>;
1310
1964
  };
1965
+ path?: never;
1311
1966
  query?: never;
1312
- url: '/clusters/{cluster_id}/charts/{chart_name}';
1967
+ url: '/tickets';
1313
1968
  };
1314
- export type UpdateChartResponses = {
1969
+ export type CreateTicketResponses = {
1315
1970
  /**
1316
- * Successfully updated.
1971
+ * Ticket created.
1317
1972
  */
1318
- 200: string;
1973
+ 200: Ticket;
1319
1974
  };
1320
- export type UpdateChartResponse = UpdateChartResponses[keyof UpdateChartResponses];
1321
- export type ListFleetsData = {
1975
+ export type CreateTicketResponse = CreateTicketResponses[keyof CreateTicketResponses];
1976
+ export type CloseTicketData = {
1322
1977
  body?: never;
1323
1978
  path: {
1324
- /**
1325
- * Unique identifier of the cluster. UUID v4 string in canonical form
1326
- */
1327
- cluster_id: string;
1979
+ ticket_id: string;
1328
1980
  };
1329
1981
  query?: never;
1330
- url: '/clusters/{cluster_id}/fleets';
1982
+ url: '/tickets/{ticket_id}';
1331
1983
  };
1332
- export type ListFleetsErrors = {
1984
+ export type CloseTicketResponses = {
1333
1985
  /**
1334
- * Not authenticated
1986
+ * Ticket closed.
1335
1987
  */
1336
- 401: unknown;
1988
+ 200: Ticket;
1337
1989
  };
1338
- export type ListFleetsResponses = {
1990
+ export type CloseTicketResponse = CloseTicketResponses[keyof CloseTicketResponses];
1991
+ export type GetTicketData = {
1992
+ body?: never;
1993
+ path: {
1994
+ ticket_id: string;
1995
+ };
1996
+ query?: never;
1997
+ url: '/tickets/{ticket_id}';
1998
+ };
1999
+ export type GetTicketResponses = {
1339
2000
  /**
1340
- * An array of fleets
2001
+ * Ticket with messages (internal notes excluded).
1341
2002
  */
1342
- 200: Array<Fleet>;
2003
+ 200: Ticket;
1343
2004
  };
1344
- export type ListFleetsResponse = ListFleetsResponses[keyof ListFleetsResponses];
1345
- export type CreateFleetData = {
1346
- body: FleetCreateInput;
2005
+ export type GetTicketResponse = GetTicketResponses[keyof GetTicketResponses];
2006
+ export type GrantTicketSupportAccessData = {
2007
+ body?: never;
1347
2008
  path: {
1348
- /**
1349
- * Unique identifier of the cluster. UUID v4 string in canonical form
1350
- */
1351
- cluster_id: string;
2009
+ ticket_id: string;
1352
2010
  };
1353
2011
  query?: never;
1354
- url: '/clusters/{cluster_id}/fleets';
2012
+ url: '/tickets/{ticket_id}/support-access';
1355
2013
  };
1356
- export type CreateFleetErrors = {
2014
+ export type GrantTicketSupportAccessErrors = {
1357
2015
  /**
1358
- * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
2016
+ * Ticket is closed. Open a new ticket instead.
1359
2017
  */
1360
- 402: string;
2018
+ 409: unknown;
1361
2019
  };
1362
- export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
1363
- export type CreateFleetResponses = {
2020
+ export type GrantTicketSupportAccessResponses = {
1364
2021
  /**
1365
- * Successfully created. Returns created Fleet ID.
2022
+ * Support access granted.
1366
2023
  */
1367
- 200: string;
2024
+ 200: Ticket;
1368
2025
  };
1369
- export type CreateFleetResponse = CreateFleetResponses[keyof CreateFleetResponses];
1370
- export type DeleteFleetData = {
1371
- body?: never;
1372
- path: {
1373
- /**
1374
- * Unique identifier of the cluster. UUID v4 string in canonical form
1375
- */
1376
- cluster_id: string;
2026
+ export type GrantTicketSupportAccessResponse = GrantTicketSupportAccessResponses[keyof GrantTicketSupportAccessResponses];
2027
+ export type ReplyTicketData = {
2028
+ body: {
1377
2029
  /**
1378
- * Unique identifier of the fleet. UUID v4 string in canonical form
2030
+ * JSON-encoded TicketMessageInput.
1379
2031
  */
1380
- fleet_name: string;
2032
+ payload?: string;
2033
+ attachments?: Array<Blob | File>;
2034
+ };
2035
+ path: {
2036
+ ticket_id: string;
1381
2037
  };
1382
2038
  query?: never;
1383
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2039
+ url: '/tickets/{ticket_id}/messages';
1384
2040
  };
1385
- export type DeleteFleetResponses = {
2041
+ export type ReplyTicketErrors = {
1386
2042
  /**
1387
- * Successfully deleted.
2043
+ * Ticket is closed. Open a new ticket instead.
1388
2044
  */
1389
- 200: string;
2045
+ 409: unknown;
1390
2046
  };
1391
- export type DeleteFleetResponse = DeleteFleetResponses[keyof DeleteFleetResponses];
1392
- export type GetFleetData = {
2047
+ export type ReplyTicketResponses = {
2048
+ /**
2049
+ * Reply appended.
2050
+ */
2051
+ 200: TicketMessage;
2052
+ };
2053
+ export type ReplyTicketResponse = ReplyTicketResponses[keyof ReplyTicketResponses];
2054
+ export type GetTicketAttachmentData = {
1393
2055
  body?: never;
1394
2056
  path: {
1395
- /**
1396
- * Unique identifier of the cluster. UUID v4 string in canonical form
1397
- */
1398
- cluster_id: string;
1399
- /**
1400
- * Unique identifier of the fleet. UUID v4 string in canonical form
1401
- */
1402
- fleet_name: string;
2057
+ ticket_id: string;
2058
+ attachment_id: string;
1403
2059
  };
1404
2060
  query?: never;
1405
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2061
+ url: '/tickets/{ticket_id}/attachments/{attachment_id}';
1406
2062
  };
1407
- export type GetFleetResponses = {
2063
+ export type GetTicketAttachmentResponses = {
1408
2064
  /**
1409
- * Returns a single object containing fleet details.
2065
+ * Attachment binary stream.
1410
2066
  */
1411
- 200: Fleet;
2067
+ 200: Blob | File;
1412
2068
  };
1413
- export type GetFleetResponse = GetFleetResponses[keyof GetFleetResponses];
1414
- export type UpdateFleetData = {
1415
- body: FleetUpdateInput;
1416
- path: {
1417
- /**
1418
- * Unique identifier of the cluster. UUID v4 string in canonical form
1419
- */
1420
- cluster_id: string;
1421
- /**
1422
- * Unique identifier of the fleet. UUID v4 string in canonical form
1423
- */
1424
- fleet_name: string;
1425
- };
2069
+ export type GetTicketAttachmentResponse = GetTicketAttachmentResponses[keyof GetTicketAttachmentResponses];
2070
+ export type ListRoadmapData = {
2071
+ body?: never;
2072
+ path?: never;
1426
2073
  query?: never;
1427
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2074
+ url: '/roadmap';
1428
2075
  };
1429
- export type UpdateFleetErrors = {
2076
+ export type ListRoadmapResponses = {
1430
2077
  /**
1431
- * Organization must have a valid payment method configured to access this endpoint.
2078
+ * An array of roadmap items, newest first.
1432
2079
  */
1433
- 402: string;
2080
+ 200: Array<RoadmapItem>;
1434
2081
  };
1435
- export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
1436
- export type UpdateFleetResponses = {
2082
+ export type ListRoadmapResponse = ListRoadmapResponses[keyof ListRoadmapResponses];
2083
+ export type SuggestRoadmapData = {
2084
+ body: RoadmapItemCreateInput;
2085
+ path?: never;
2086
+ query?: never;
2087
+ url: '/roadmap';
2088
+ };
2089
+ export type SuggestRoadmapResponses = {
1437
2090
  /**
1438
- * Successfully updated.
2091
+ * Suggestion submitted for review.
1439
2092
  */
1440
- 200: string;
2093
+ 200: RoadmapItem;
1441
2094
  };
1442
- export type UpdateFleetResponse = UpdateFleetResponses[keyof UpdateFleetResponses];
1443
- export type QueryClusterData = {
2095
+ export type SuggestRoadmapResponse = SuggestRoadmapResponses[keyof SuggestRoadmapResponses];
2096
+ export type UnvoteRoadmapData = {
1444
2097
  body?: never;
1445
2098
  path: {
1446
- /**
1447
- * Unique identifier of the cluster. UUID v4 string in canonical form
1448
- */
1449
- cluster_id: string;
2099
+ item_id: string;
1450
2100
  };
1451
2101
  query?: never;
1452
- url: '/clusters/{cluster_id}/query';
2102
+ url: '/roadmap/{item_id}/vote';
1453
2103
  };
1454
- export type QueryClusterErrors = {
2104
+ export type UnvoteRoadmapErrors = {
1455
2105
  /**
1456
- * Not authenticated
2106
+ * Roadmap item not found.
1457
2107
  */
1458
- 401: unknown;
2108
+ 404: unknown;
1459
2109
  };
1460
- export type QueryClusterResponses = {
2110
+ export type UnvoteRoadmapResponses = {
1461
2111
  /**
1462
- * Kubernetes API response
2112
+ * Vote removed. Returns the item without a vote.
1463
2113
  */
1464
- 200: unknown;
2114
+ 200: RoadmapItem;
1465
2115
  };
1466
- export type ListClustersData = {
1467
- body?: never;
1468
- path?: never;
2116
+ export type UnvoteRoadmapResponse = UnvoteRoadmapResponses[keyof UnvoteRoadmapResponses];
2117
+ export type VoteRoadmapData = {
2118
+ body: RoadmapVoteInput;
2119
+ path: {
2120
+ item_id: string;
2121
+ };
1469
2122
  query?: never;
1470
- url: '/clusters';
2123
+ url: '/roadmap/{item_id}/vote';
1471
2124
  };
1472
- export type ListClustersErrors = {
2125
+ export type VoteRoadmapErrors = {
1473
2126
  /**
1474
- * Not authenticated
2127
+ * Roadmap item not found.
1475
2128
  */
1476
- 401: unknown;
2129
+ 404: unknown;
1477
2130
  };
1478
- export type ListClustersResponses = {
2131
+ export type VoteRoadmapResponses = {
1479
2132
  /**
1480
- * An array of clusters
2133
+ * Vote saved. Returns the item with your vote.
1481
2134
  */
1482
- 200: Array<Cluster>;
2135
+ 200: RoadmapItem;
1483
2136
  };
1484
- export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
1485
- export type CreateClusterData = {
1486
- body: ClusterCreateInput;
2137
+ export type VoteRoadmapResponse = VoteRoadmapResponses[keyof VoteRoadmapResponses];
2138
+ export type ListRepositoriesData = {
2139
+ body?: never;
1487
2140
  path?: never;
1488
2141
  query?: never;
1489
- url: '/clusters';
2142
+ url: '/registry';
1490
2143
  };
1491
- export type CreateClusterErrors = {
2144
+ export type ListRepositoriesErrors = {
1492
2145
  /**
1493
- * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
2146
+ * Not authenticated
1494
2147
  */
1495
- 402: string;
2148
+ 401: unknown;
2149
+ /**
2150
+ * Internal server error
2151
+ */
2152
+ 500: unknown;
1496
2153
  };
1497
- export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
1498
- export type CreateClusterResponses = {
2154
+ export type ListRepositoriesResponses = {
1499
2155
  /**
1500
- * Successfully created. Returns created Cluster ID.
2156
+ * List of repositories
1501
2157
  */
1502
- 200: string;
2158
+ 200: Array<RegistryRepository>;
1503
2159
  };
1504
- export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
1505
- export type DeleteClusterData = {
2160
+ export type ListRepositoriesResponse = ListRepositoriesResponses[keyof ListRepositoriesResponses];
2161
+ export type ListTagsData = {
1506
2162
  body?: never;
1507
2163
  path: {
1508
2164
  /**
1509
- * Unique identifier of the cluster. UUID v4 string in canonical form
2165
+ * Region where the repository is located
1510
2166
  */
1511
- cluster_id: string;
2167
+ region: string;
2168
+ /**
2169
+ * Name of the repository
2170
+ */
2171
+ repository: string;
1512
2172
  };
1513
2173
  query?: never;
1514
- url: '/clusters/{cluster_id}';
2174
+ url: '/registry/{region}/{repository}';
1515
2175
  };
1516
- export type DeleteClusterResponses = {
2176
+ export type ListTagsErrors = {
1517
2177
  /**
1518
- * Successfully deleted.
2178
+ * Not authenticated
1519
2179
  */
1520
- 200: string;
2180
+ 401: unknown;
2181
+ /**
2182
+ * Repository not found
2183
+ */
2184
+ 404: unknown;
2185
+ /**
2186
+ * Internal server error
2187
+ */
2188
+ 500: unknown;
1521
2189
  };
1522
- export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
1523
- export type GetClusterData = {
2190
+ export type ListTagsResponses = {
2191
+ /**
2192
+ * Repository with tags
2193
+ */
2194
+ 200: RegistryRepositoryWithTags;
2195
+ };
2196
+ export type ListTagsResponse = ListTagsResponses[keyof ListTagsResponses];
2197
+ export type DeleteTagData = {
1524
2198
  body?: never;
1525
2199
  path: {
1526
2200
  /**
1527
- * Unique identifier of the cluster. UUID v4 string in canonical form
2201
+ * Region where the repository is located
1528
2202
  */
1529
- cluster_id: string;
2203
+ region: string;
2204
+ /**
2205
+ * Name of the repository
2206
+ */
2207
+ repository: string;
2208
+ /**
2209
+ * Name of the tag
2210
+ */
2211
+ tag: string;
1530
2212
  };
1531
2213
  query?: never;
1532
- url: '/clusters/{cluster_id}';
2214
+ url: '/registry/{region}/{repository}/{tag}';
1533
2215
  };
1534
- export type GetClusterResponses = {
2216
+ export type DeleteTagErrors = {
1535
2217
  /**
1536
- * Returns a single object containing cluster details.
2218
+ * Not authenticated
1537
2219
  */
1538
- 200: Cluster;
2220
+ 401: unknown;
2221
+ /**
2222
+ * Tag not found
2223
+ */
2224
+ 404: unknown;
2225
+ /**
2226
+ * Internal server error
2227
+ */
2228
+ 500: unknown;
1539
2229
  };
1540
- export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
1541
- export type UpdateClusterData = {
1542
- body: ClusterUpdateInput;
2230
+ export type DeleteTagResponses = {
2231
+ /**
2232
+ * Tag successfully deleted
2233
+ */
2234
+ 200: unknown;
2235
+ };
2236
+ export type GetTagData = {
2237
+ body?: never;
1543
2238
  path: {
1544
2239
  /**
1545
- * Unique identifier of the cluster. UUID v4 string in canonical form
2240
+ * Region where the repository is located
1546
2241
  */
1547
- cluster_id: string;
2242
+ region: string;
2243
+ /**
2244
+ * Name of the repository
2245
+ */
2246
+ repository: string;
2247
+ /**
2248
+ * Name of the tag
2249
+ */
2250
+ tag: string;
1548
2251
  };
1549
2252
  query?: never;
1550
- url: '/clusters/{cluster_id}';
2253
+ url: '/registry/{region}/{repository}/{tag}';
1551
2254
  };
1552
- export type UpdateClusterResponses = {
2255
+ export type GetTagErrors = {
1553
2256
  /**
1554
- * Successfully updated. Returns updated cluster details.
2257
+ * Not authenticated
1555
2258
  */
1556
- 200: Cluster;
2259
+ 401: unknown;
2260
+ /**
2261
+ * Tag not found
2262
+ */
2263
+ 404: unknown;
2264
+ /**
2265
+ * Internal server error
2266
+ */
2267
+ 500: unknown;
1557
2268
  };
1558
- export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
1559
- export type GetClusterCaData = {
2269
+ export type GetTagResponses = {
2270
+ /**
2271
+ * Tag details
2272
+ */
2273
+ 200: RegistryTag;
2274
+ };
2275
+ export type GetTagResponse = GetTagResponses[keyof GetTagResponses];
2276
+ export type GetOrganizationData = {
1560
2277
  body?: never;
1561
- path: {
2278
+ path?: never;
2279
+ query?: never;
2280
+ url: '/organization';
2281
+ };
2282
+ export type GetOrganizationResponses = {
2283
+ /**
2284
+ * Returns a single object containing organization details.
2285
+ */
2286
+ 200: Organization;
2287
+ };
2288
+ export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
2289
+ export type CreateOrganizationData = {
2290
+ body: OrganizationCreateInput;
2291
+ path?: never;
2292
+ query?: never;
2293
+ url: '/organization';
2294
+ };
2295
+ export type CreateOrganizationResponses = {
2296
+ /**
2297
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
2298
+ *
2299
+ */
2300
+ 200: OrganizationCreateOutput;
2301
+ };
2302
+ export type CreateOrganizationResponse = CreateOrganizationResponses[keyof CreateOrganizationResponses];
2303
+ export type PostMcpData = {
2304
+ /**
2305
+ * JSON-RPC 2.0 request payload
2306
+ */
2307
+ body: {
2308
+ jsonrpc?: string;
2309
+ method?: string;
2310
+ id?: string | number;
1562
2311
  /**
1563
- * Unique identifier of the cluster. UUID v4 string in canonical form
2312
+ * Method-specific parameters
1564
2313
  */
1565
- cluster_id: string;
2314
+ params?: {
2315
+ [key: string]: unknown;
2316
+ };
1566
2317
  };
2318
+ path?: never;
1567
2319
  query?: never;
1568
- url: '/clusters/{cluster_id}/ca';
2320
+ url: '/mcp';
1569
2321
  };
1570
- export type GetClusterCaErrors = {
2322
+ export type PostMcpErrors = {
1571
2323
  /**
1572
- * Cluster not found, or its certificate authority is not available yet.
2324
+ * Not authenticated
1573
2325
  */
1574
- 404: unknown;
2326
+ 401: unknown;
1575
2327
  };
1576
- export type GetClusterCaResponses = {
2328
+ export type PostMcpResponses = {
1577
2329
  /**
1578
- * PEM-encoded certificate authority of the cluster.
2330
+ * JSON-RPC 2.0 success or error response
1579
2331
  */
1580
- 200: string;
2332
+ 200: {
2333
+ jsonrpc?: string;
2334
+ id?: string | number;
2335
+ result?: {
2336
+ [key: string]: unknown;
2337
+ };
2338
+ error?: {
2339
+ code?: number;
2340
+ message?: string;
2341
+ };
2342
+ };
1581
2343
  };
1582
- export type GetClusterCaResponse = GetClusterCaResponses[keyof GetClusterCaResponses];
1583
- export type GetJoinInformationData = {
2344
+ export type PostMcpResponse = PostMcpResponses[keyof PostMcpResponses];
2345
+ export type ListMarketplaceChartsData = {
2346
+ body?: never;
2347
+ path?: never;
2348
+ query?: never;
2349
+ url: '/marketplace';
2350
+ };
2351
+ export type ListMarketplaceChartsErrors = {
2352
+ /**
2353
+ * Not authenticated
2354
+ */
2355
+ 401: unknown;
2356
+ };
2357
+ export type ListMarketplaceChartsResponses = {
2358
+ /**
2359
+ * An array of chart listings in the marketplace.
2360
+ */
2361
+ 200: Array<MarketplaceListing>;
2362
+ };
2363
+ export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
2364
+ export type GetMarketplaceChartFilesData = {
1584
2365
  body?: never;
1585
2366
  path: {
1586
2367
  /**
1587
- * Unique identifier of the cluster. UUID v4 string in canonical form
2368
+ * Name of the chart in the marketplace.
1588
2369
  */
1589
- cluster_id: string;
2370
+ chart_name: string;
2371
+ /**
2372
+ * 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).
2373
+ */
2374
+ version_channel: string;
1590
2375
  };
1591
2376
  query?: never;
1592
- url: '/clusters/{cluster_id}/join_information';
2377
+ url: '/marketplace/{chart_name}/files/{version_channel}';
1593
2378
  };
1594
- export type GetJoinInformationErrors = {
2379
+ export type GetMarketplaceChartFilesErrors = {
1595
2380
  /**
1596
- * Not authenticated
2381
+ * Chart not found or no version matches the channel
1597
2382
  */
1598
- 401: unknown;
2383
+ 404: unknown;
1599
2384
  };
1600
- export type GetJoinInformationResponses = {
2385
+ export type GetMarketplaceChartFilesResponses = {
1601
2386
  /**
1602
- * An object of cluster join information
2387
+ * Returns an object containing the chart files for the latest matching version.
1603
2388
  */
1604
- 200: ClusterJoinInformation;
2389
+ 200: MarketplaceListingFiles;
1605
2390
  };
1606
- export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
2391
+ export type GetMarketplaceChartFilesResponse = GetMarketplaceChartFilesResponses[keyof GetMarketplaceChartFilesResponses];
1607
2392
  export type ListInvitesData = {
1608
2393
  body?: never;
1609
2394
  path?: never;
@@ -1624,12 +2409,7 @@ export type ListInvitesResponses = {
1624
2409
  };
1625
2410
  export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
1626
2411
  export type CreateInviteData = {
1627
- body: {
1628
- /**
1629
- * User email address
1630
- */
1631
- email?: string;
1632
- };
2412
+ body: InviteCreateInput;
1633
2413
  path?: never;
1634
2414
  query?: never;
1635
2415
  url: '/invites';
@@ -1654,534 +2434,716 @@ export type GetInviteData = {
1654
2434
  };
1655
2435
  export type GetInviteResponses = {
1656
2436
  /**
1657
- * Returns a single object containing invite details.
2437
+ * The invitation code is valid. Returns the invited email and organization.
1658
2438
  */
1659
- 200: Invite;
2439
+ 200: {
2440
+ /**
2441
+ * Email address the invite was issued to.
2442
+ */
2443
+ email?: string;
2444
+ /**
2445
+ * Identifier of the organization the invite grants access to.
2446
+ */
2447
+ organization_id?: string;
2448
+ };
1660
2449
  };
1661
2450
  export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
1662
2451
  export type DeleteInviteData = {
1663
2452
  body?: never;
1664
2453
  path: {
1665
2454
  /**
1666
- * User email address
2455
+ * User email address
2456
+ */
2457
+ email: string;
2458
+ };
2459
+ query?: never;
2460
+ url: '/invites/{email}';
2461
+ };
2462
+ export type DeleteInviteResponses = {
2463
+ /**
2464
+ * Successfully deleted.
2465
+ */
2466
+ 200: unknown;
2467
+ };
2468
+ export type QueryClusterData = {
2469
+ body?: never;
2470
+ path: {
2471
+ /**
2472
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2473
+ */
2474
+ cluster_id: string;
2475
+ };
2476
+ query?: never;
2477
+ url: '/clusters/{cluster_id}/query';
2478
+ };
2479
+ export type QueryClusterErrors = {
2480
+ /**
2481
+ * Not authenticated
2482
+ */
2483
+ 401: unknown;
2484
+ };
2485
+ export type QueryClusterResponses = {
2486
+ /**
2487
+ * Kubernetes API response
2488
+ */
2489
+ 200: unknown;
2490
+ };
2491
+ export type ListFleetsData = {
2492
+ body?: never;
2493
+ path: {
2494
+ /**
2495
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2496
+ */
2497
+ cluster_id: string;
2498
+ };
2499
+ query?: never;
2500
+ url: '/clusters/{cluster_id}/fleets';
2501
+ };
2502
+ export type ListFleetsErrors = {
2503
+ /**
2504
+ * Not authenticated
2505
+ */
2506
+ 401: unknown;
2507
+ };
2508
+ export type ListFleetsResponses = {
2509
+ /**
2510
+ * An array of fleets
2511
+ */
2512
+ 200: Array<Fleet>;
2513
+ };
2514
+ export type ListFleetsResponse = ListFleetsResponses[keyof ListFleetsResponses];
2515
+ export type CreateFleetData = {
2516
+ body: FleetCreateInput;
2517
+ path: {
2518
+ /**
2519
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2520
+ */
2521
+ cluster_id: string;
2522
+ };
2523
+ query?: never;
2524
+ url: '/clusters/{cluster_id}/fleets';
2525
+ };
2526
+ export type CreateFleetErrors = {
2527
+ /**
2528
+ * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
2529
+ */
2530
+ 402: string;
2531
+ /**
2532
+ * 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.
2533
+ */
2534
+ 409: string;
2535
+ };
2536
+ export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
2537
+ export type CreateFleetResponses = {
2538
+ /**
2539
+ * Successfully created. Returns created Fleet ID.
2540
+ */
2541
+ 200: string;
2542
+ };
2543
+ export type CreateFleetResponse = CreateFleetResponses[keyof CreateFleetResponses];
2544
+ export type DeleteFleetData = {
2545
+ body?: never;
2546
+ path: {
2547
+ /**
2548
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2549
+ */
2550
+ cluster_id: string;
2551
+ /**
2552
+ * Unique identifier of the fleet. UUID v4 string in canonical form
2553
+ */
2554
+ fleet_name: string;
2555
+ };
2556
+ query?: never;
2557
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2558
+ };
2559
+ export type DeleteFleetErrors = {
2560
+ /**
2561
+ * 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.
2562
+ */
2563
+ 409: string;
2564
+ };
2565
+ export type DeleteFleetError = DeleteFleetErrors[keyof DeleteFleetErrors];
2566
+ export type DeleteFleetResponses = {
2567
+ /**
2568
+ * Successfully deleted.
2569
+ */
2570
+ 200: string;
2571
+ };
2572
+ export type DeleteFleetResponse = DeleteFleetResponses[keyof DeleteFleetResponses];
2573
+ export type GetFleetData = {
2574
+ body?: never;
2575
+ path: {
2576
+ /**
2577
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2578
+ */
2579
+ cluster_id: string;
2580
+ /**
2581
+ * Unique identifier of the fleet. UUID v4 string in canonical form
2582
+ */
2583
+ fleet_name: string;
2584
+ };
2585
+ query?: never;
2586
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2587
+ };
2588
+ export type GetFleetResponses = {
2589
+ /**
2590
+ * Returns a single object containing fleet details.
2591
+ */
2592
+ 200: Fleet;
2593
+ };
2594
+ export type GetFleetResponse = GetFleetResponses[keyof GetFleetResponses];
2595
+ export type UpdateFleetData = {
2596
+ body: FleetUpdateInput;
2597
+ path: {
2598
+ /**
2599
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2600
+ */
2601
+ cluster_id: string;
2602
+ /**
2603
+ * Unique identifier of the fleet. UUID v4 string in canonical form
2604
+ */
2605
+ fleet_name: string;
2606
+ };
2607
+ query?: never;
2608
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2609
+ };
2610
+ export type UpdateFleetErrors = {
2611
+ /**
2612
+ * Organization must have a valid payment method configured to access this endpoint.
2613
+ */
2614
+ 402: string;
2615
+ /**
2616
+ * 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.
2617
+ */
2618
+ 409: string;
2619
+ };
2620
+ export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
2621
+ export type UpdateFleetResponses = {
2622
+ /**
2623
+ * Successfully updated.
2624
+ */
2625
+ 200: string;
2626
+ };
2627
+ export type UpdateFleetResponse = UpdateFleetResponses[keyof UpdateFleetResponses];
2628
+ export type ListChartsData = {
2629
+ body?: never;
2630
+ path: {
2631
+ /**
2632
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2633
+ */
2634
+ cluster_id: string;
2635
+ };
2636
+ query?: never;
2637
+ url: '/clusters/{cluster_id}/charts';
2638
+ };
2639
+ export type ListChartsErrors = {
2640
+ /**
2641
+ * Not authenticated
2642
+ */
2643
+ 401: unknown;
2644
+ };
2645
+ export type ListChartsResponses = {
2646
+ /**
2647
+ * An array of charts
2648
+ */
2649
+ 200: Array<Chart>;
2650
+ };
2651
+ export type ListChartsResponse = ListChartsResponses[keyof ListChartsResponses];
2652
+ export type CreateChartData = {
2653
+ body: ChartCreateInput;
2654
+ path: {
2655
+ /**
2656
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1667
2657
  */
1668
- email: string;
2658
+ cluster_id: string;
1669
2659
  };
1670
2660
  query?: never;
1671
- url: '/invites/{email}';
2661
+ url: '/clusters/{cluster_id}/charts';
1672
2662
  };
1673
- export type DeleteInviteResponses = {
2663
+ export type CreateChartErrors = {
1674
2664
  /**
1675
- * Successfully deleted.
2665
+ * 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.
1676
2666
  */
1677
- 200: unknown;
2667
+ 409: string;
1678
2668
  };
1679
- export type ListMarketplaceChartsData = {
2669
+ export type CreateChartError = CreateChartErrors[keyof CreateChartErrors];
2670
+ export type CreateChartResponses = {
2671
+ /**
2672
+ * Successfully created. Returns created Chart ID.
2673
+ */
2674
+ 200: string;
2675
+ };
2676
+ export type CreateChartResponse = CreateChartResponses[keyof CreateChartResponses];
2677
+ export type DeleteChartData = {
1680
2678
  body?: never;
1681
- path?: never;
2679
+ path: {
2680
+ /**
2681
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2682
+ */
2683
+ cluster_id: string;
2684
+ /**
2685
+ * Chart deployment name as the unique identifier of the chart.
2686
+ */
2687
+ chart_name: string;
2688
+ };
1682
2689
  query?: never;
1683
- url: '/marketplace';
2690
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1684
2691
  };
1685
- export type ListMarketplaceChartsErrors = {
2692
+ export type DeleteChartErrors = {
1686
2693
  /**
1687
- * Not authenticated
2694
+ * 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.
1688
2695
  */
1689
- 401: unknown;
2696
+ 409: string;
1690
2697
  };
1691
- export type ListMarketplaceChartsResponses = {
2698
+ export type DeleteChartError = DeleteChartErrors[keyof DeleteChartErrors];
2699
+ export type DeleteChartResponses = {
1692
2700
  /**
1693
- * An array of chart listings in the marketplace.
2701
+ * Successfully deleted.
1694
2702
  */
1695
- 200: Array<MarketplaceListing>;
2703
+ 200: string;
1696
2704
  };
1697
- export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
1698
- export type GetMarketplaceChartFilesData = {
2705
+ export type DeleteChartResponse = DeleteChartResponses[keyof DeleteChartResponses];
2706
+ export type GetChartData = {
1699
2707
  body?: never;
1700
2708
  path: {
1701
2709
  /**
1702
- * Name of the chart in the marketplace.
2710
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1703
2711
  */
1704
- chart_name: string;
2712
+ cluster_id: string;
1705
2713
  /**
1706
- * 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).
2714
+ * Chart deployment name as the unique identifier of the chart.
1707
2715
  */
1708
- version_channel: string;
2716
+ chart_name: string;
1709
2717
  };
1710
2718
  query?: never;
1711
- url: '/marketplace/{chart_name}/files/{version_channel}';
1712
- };
1713
- export type GetMarketplaceChartFilesErrors = {
1714
- /**
1715
- * Chart not found or no version matches the channel
1716
- */
1717
- 404: unknown;
2719
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1718
2720
  };
1719
- export type GetMarketplaceChartFilesResponses = {
2721
+ export type GetChartResponses = {
1720
2722
  /**
1721
- * Returns an object containing the chart files for the latest matching version.
2723
+ * Returns a single object containing chart details.
1722
2724
  */
1723
- 200: MarketplaceListingFiles;
2725
+ 200: Chart;
1724
2726
  };
1725
- export type GetMarketplaceChartFilesResponse = GetMarketplaceChartFilesResponses[keyof GetMarketplaceChartFilesResponses];
1726
- export type PostMcpData = {
1727
- /**
1728
- * JSON-RPC 2.0 request payload
1729
- */
1730
- body: {
1731
- jsonrpc?: string;
1732
- method?: string;
1733
- id?: string | number;
2727
+ export type GetChartResponse = GetChartResponses[keyof GetChartResponses];
2728
+ export type UpdateChartData = {
2729
+ body: ChartUpdateInput;
2730
+ path: {
1734
2731
  /**
1735
- * Method-specific parameters
2732
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1736
2733
  */
1737
- params?: {
1738
- [key: string]: unknown;
1739
- };
2734
+ cluster_id: string;
2735
+ /**
2736
+ * Chart deployment name as the unique identifier of the chart.
2737
+ */
2738
+ chart_name: string;
1740
2739
  };
1741
- path?: never;
1742
2740
  query?: never;
1743
- url: '/mcp';
2741
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1744
2742
  };
1745
- export type PostMcpErrors = {
2743
+ export type UpdateChartErrors = {
1746
2744
  /**
1747
- * Not authenticated
2745
+ * 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.
1748
2746
  */
1749
- 401: unknown;
2747
+ 409: string;
1750
2748
  };
1751
- export type PostMcpResponses = {
2749
+ export type UpdateChartError = UpdateChartErrors[keyof UpdateChartErrors];
2750
+ export type UpdateChartResponses = {
1752
2751
  /**
1753
- * JSON-RPC 2.0 success or error response
2752
+ * Successfully updated.
1754
2753
  */
1755
- 200: {
1756
- jsonrpc?: string;
1757
- id?: string | number;
1758
- result?: {
1759
- [key: string]: unknown;
1760
- };
1761
- error?: {
1762
- code?: number;
1763
- message?: string;
1764
- };
1765
- };
2754
+ 200: string;
1766
2755
  };
1767
- export type PostMcpResponse = PostMcpResponses[keyof PostMcpResponses];
1768
- export type GetOrganizationData = {
2756
+ export type UpdateChartResponse = UpdateChartResponses[keyof UpdateChartResponses];
2757
+ export type ListClustersData = {
1769
2758
  body?: never;
1770
2759
  path?: never;
1771
2760
  query?: never;
1772
- url: '/organization';
2761
+ url: '/clusters';
1773
2762
  };
1774
- export type GetOrganizationResponses = {
2763
+ export type ListClustersErrors = {
1775
2764
  /**
1776
- * Returns a single object containing organization details.
2765
+ * Not authenticated
1777
2766
  */
1778
- 200: Organization;
1779
- };
1780
- export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
1781
- export type CreateOrganizationData = {
1782
- body: OrganizationCreateInput;
1783
- path?: never;
1784
- query?: never;
1785
- url: '/organization';
2767
+ 401: unknown;
1786
2768
  };
1787
- export type CreateOrganizationResponses = {
2769
+ export type ListClustersResponses = {
1788
2770
  /**
1789
- * Successfully created a new organization.
2771
+ * An array of clusters
1790
2772
  */
1791
- 200: unknown;
2773
+ 200: Array<Cluster>;
1792
2774
  };
1793
- export type ListRepositoriesData = {
1794
- body?: never;
2775
+ export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
2776
+ export type CreateClusterData = {
2777
+ body: ClusterCreateInput;
1795
2778
  path?: never;
1796
2779
  query?: never;
1797
- url: '/registry';
2780
+ url: '/clusters';
1798
2781
  };
1799
- export type ListRepositoriesErrors = {
1800
- /**
1801
- * Not authenticated
1802
- */
1803
- 401: unknown;
2782
+ export type CreateClusterErrors = {
1804
2783
  /**
1805
- * Internal server error
2784
+ * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
1806
2785
  */
1807
- 500: unknown;
2786
+ 402: string;
1808
2787
  };
1809
- export type ListRepositoriesResponses = {
2788
+ export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
2789
+ export type CreateClusterResponses = {
1810
2790
  /**
1811
- * List of repositories
2791
+ * Successfully created. Returns created Cluster ID.
1812
2792
  */
1813
- 200: Array<RegistryRepository>;
2793
+ 200: string;
1814
2794
  };
1815
- export type ListRepositoriesResponse = ListRepositoriesResponses[keyof ListRepositoriesResponses];
1816
- export type ListTagsData = {
2795
+ export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
2796
+ export type DeleteClusterData = {
1817
2797
  body?: never;
1818
2798
  path: {
1819
2799
  /**
1820
- * Region where the repository is located
1821
- */
1822
- region: string;
1823
- /**
1824
- * Name of the repository
2800
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1825
2801
  */
1826
- repository: string;
2802
+ cluster_id: string;
1827
2803
  };
1828
2804
  query?: never;
1829
- url: '/registry/{region}/{repository}';
2805
+ url: '/clusters/{cluster_id}';
1830
2806
  };
1831
- export type ListTagsErrors = {
2807
+ export type DeleteClusterErrors = {
1832
2808
  /**
1833
- * Not authenticated
2809
+ * Cluster not found; it does not exist or has already been deleted.
1834
2810
  */
1835
- 401: unknown;
2811
+ 404: unknown;
1836
2812
  /**
1837
- * Repository not found
2813
+ * 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.
1838
2814
  */
1839
- 404: unknown;
2815
+ 409: string;
1840
2816
  /**
1841
- * Internal server error
2817
+ * Transient failure tearing down the cluster; retry the request.
1842
2818
  */
1843
- 500: unknown;
2819
+ 503: unknown;
1844
2820
  };
1845
- export type ListTagsResponses = {
2821
+ export type DeleteClusterError = DeleteClusterErrors[keyof DeleteClusterErrors];
2822
+ export type DeleteClusterResponses = {
1846
2823
  /**
1847
- * Repository with tags
2824
+ * Successfully deleted. The cluster has been torn down.
1848
2825
  */
1849
- 200: RegistryRepositoryWithTags;
2826
+ 200: string;
1850
2827
  };
1851
- export type ListTagsResponse = ListTagsResponses[keyof ListTagsResponses];
1852
- export type DeleteTagData = {
2828
+ export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
2829
+ export type GetClusterData = {
1853
2830
  body?: never;
1854
2831
  path: {
1855
2832
  /**
1856
- * Region where the repository is located
1857
- */
1858
- region: string;
1859
- /**
1860
- * Name of the repository
1861
- */
1862
- repository: string;
1863
- /**
1864
- * Name of the tag
2833
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1865
2834
  */
1866
- tag: string;
2835
+ cluster_id: string;
1867
2836
  };
1868
2837
  query?: never;
1869
- url: '/registry/{region}/{repository}/{tag}';
2838
+ url: '/clusters/{cluster_id}';
1870
2839
  };
1871
- export type DeleteTagErrors = {
1872
- /**
1873
- * Not authenticated
1874
- */
1875
- 401: unknown;
2840
+ export type GetClusterResponses = {
1876
2841
  /**
1877
- * Tag not found
2842
+ * Returns a single object containing cluster details.
1878
2843
  */
1879
- 404: unknown;
2844
+ 200: Cluster;
2845
+ };
2846
+ export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
2847
+ export type UpdateClusterData = {
2848
+ body: ClusterUpdateInput;
2849
+ path: {
2850
+ /**
2851
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2852
+ */
2853
+ cluster_id: string;
2854
+ };
2855
+ query?: never;
2856
+ url: '/clusters/{cluster_id}';
2857
+ };
2858
+ export type UpdateClusterErrors = {
1880
2859
  /**
1881
- * Internal server error
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.
1882
2861
  */
1883
- 500: unknown;
2862
+ 409: string;
1884
2863
  };
1885
- export type DeleteTagResponses = {
2864
+ export type UpdateClusterError = UpdateClusterErrors[keyof UpdateClusterErrors];
2865
+ export type UpdateClusterResponses = {
1886
2866
  /**
1887
- * Tag successfully deleted
2867
+ * Successfully updated. Returns updated cluster details.
1888
2868
  */
1889
- 200: unknown;
2869
+ 200: Cluster;
1890
2870
  };
1891
- export type GetTagData = {
2871
+ export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
2872
+ export type GetJoinInformationData = {
1892
2873
  body?: never;
1893
2874
  path: {
1894
2875
  /**
1895
- * Region where the repository is located
1896
- */
1897
- region: string;
1898
- /**
1899
- * Name of the repository
1900
- */
1901
- repository: string;
1902
- /**
1903
- * Name of the tag
2876
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1904
2877
  */
1905
- tag: string;
2878
+ cluster_id: string;
1906
2879
  };
1907
2880
  query?: never;
1908
- url: '/registry/{region}/{repository}/{tag}';
2881
+ url: '/clusters/{cluster_id}/join_information';
1909
2882
  };
1910
- export type GetTagErrors = {
2883
+ export type GetJoinInformationErrors = {
1911
2884
  /**
1912
2885
  * Not authenticated
1913
2886
  */
1914
2887
  401: unknown;
1915
2888
  /**
1916
- * Tag not found
2889
+ * 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.
1917
2890
  */
1918
- 404: unknown;
2891
+ 409: string;
1919
2892
  /**
1920
- * Internal server error
2893
+ * 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.
1921
2894
  */
1922
- 500: unknown;
2895
+ 426: string;
1923
2896
  };
1924
- export type GetTagResponses = {
2897
+ export type GetJoinInformationError = GetJoinInformationErrors[keyof GetJoinInformationErrors];
2898
+ export type GetJoinInformationResponses = {
1925
2899
  /**
1926
- * Tag details
2900
+ * An object of cluster join information
1927
2901
  */
1928
- 200: RegistryTag;
2902
+ 200: ClusterJoinInformation;
1929
2903
  };
1930
- export type GetTagResponse = GetTagResponses[keyof GetTagResponses];
1931
- export type ListTokensData = {
2904
+ export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
2905
+ export type GetUsageData = {
1932
2906
  body?: never;
1933
2907
  path?: never;
1934
- query?: never;
1935
- url: '/tokens';
2908
+ query?: {
2909
+ /**
2910
+ * 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)
2911
+ */
2912
+ granularity?: 'hourly' | 'daily' | 'monthly';
2913
+ };
2914
+ url: '/billing/usage';
1936
2915
  };
1937
- export type ListTokensErrors = {
2916
+ export type GetUsageErrors = {
1938
2917
  /**
1939
2918
  * Not authenticated
1940
2919
  */
1941
2920
  401: unknown;
1942
2921
  };
1943
- export type ListTokensResponses = {
2922
+ export type GetUsageResponses = {
1944
2923
  /**
1945
- * Returns a list of access token details with masked secrets.
2924
+ * Usage data with facets for filtering
1946
2925
  */
1947
- 200: Array<Token>;
2926
+ 200: UsageResponse;
1948
2927
  };
1949
- export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1950
- export type CreateTokenData = {
1951
- body: TokenCreateInput;
2928
+ export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
2929
+ export type GetPaymentMethodSecretData = {
2930
+ body?: never;
1952
2931
  path?: never;
1953
2932
  query?: never;
1954
- url: '/tokens';
1955
- };
1956
- export type CreateTokenErrors = {
1957
- /**
1958
- * Not authenticated
1959
- */
1960
- 401: unknown;
2933
+ url: '/billing/payment-method';
1961
2934
  };
1962
- export type CreateTokenResponses = {
2935
+ export type GetPaymentMethodSecretResponses = {
1963
2936
  /**
1964
- * Successfully created. Returns created token details with unmasked/raw secret.
2937
+ * 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.
2938
+ *
1965
2939
  */
1966
- 200: Token;
1967
- };
1968
- export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1969
- export type DeleteTokenData = {
1970
- body?: never;
1971
- path: {
2940
+ 200: {
1972
2941
  /**
1973
- * Generated unique identifier of the access token.
2942
+ * The client secret.
1974
2943
  */
1975
- token_id: string;
2944
+ id?: string;
1976
2945
  };
1977
- query?: never;
1978
- url: '/tokens/{token_id}';
1979
- };
1980
- export type DeleteTokenResponses = {
1981
- /**
1982
- * Successfully deleted.
1983
- */
1984
- 200: unknown;
1985
2946
  };
1986
- export type GetTokenData = {
2947
+ export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
2948
+ export type ListPaymentMethodsData = {
1987
2949
  body?: never;
1988
- path: {
1989
- /**
1990
- * Generated unique identifier of the access token.
1991
- */
1992
- token_id: string;
1993
- };
2950
+ path?: never;
1994
2951
  query?: never;
1995
- url: '/tokens/{token_id}';
2952
+ url: '/billing/payment-methods';
1996
2953
  };
1997
- export type GetTokenErrors = {
2954
+ export type ListPaymentMethodsErrors = {
1998
2955
  /**
1999
2956
  * Not authenticated
2000
2957
  */
2001
2958
  401: unknown;
2002
2959
  };
2003
- export type GetTokenResponses = {
2960
+ export type ListPaymentMethodsResponses = {
2004
2961
  /**
2005
- * Returns access token details with masked secret.
2962
+ * An array of payment methods.
2006
2963
  */
2007
- 200: Token;
2964
+ 200: Array<PaymentMethod>;
2008
2965
  };
2009
- export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
2010
- export type UpdateTokenData = {
2011
- body: TokenUpdateInput;
2966
+ export type ListPaymentMethodsResponse = ListPaymentMethodsResponses[keyof ListPaymentMethodsResponses];
2967
+ export type SetDefaultPaymentMethodData = {
2968
+ body?: never;
2012
2969
  path: {
2013
2970
  /**
2014
- * Generated unique identifier of the access token.
2971
+ * Stripe payment method identifier.
2015
2972
  */
2016
- token_id: string;
2973
+ paymentMethodId: string;
2017
2974
  };
2018
2975
  query?: never;
2019
- url: '/tokens/{token_id}';
2976
+ url: '/billing/payment-methods/{paymentMethodId}/default';
2020
2977
  };
2021
- export type UpdateTokenErrors = {
2978
+ export type SetDefaultPaymentMethodErrors = {
2979
+ /**
2980
+ * The bank transfer payment method cannot be set as the default.
2981
+ */
2982
+ 400: unknown;
2022
2983
  /**
2023
2984
  * Not authenticated
2024
2985
  */
2025
2986
  401: unknown;
2987
+ /**
2988
+ * Payment method not found.
2989
+ */
2990
+ 404: unknown;
2026
2991
  };
2027
- export type UpdateTokenResponses = {
2992
+ export type SetDefaultPaymentMethodResponses = {
2028
2993
  /**
2029
- * Successfully updated. Returns updated token details with masked secret.
2994
+ * Default payment method updated.
2030
2995
  */
2031
- 200: Token;
2996
+ 204: void;
2032
2997
  };
2033
- export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
2034
- export type RegenerateTokenData = {
2998
+ export type SetDefaultPaymentMethodResponse = SetDefaultPaymentMethodResponses[keyof SetDefaultPaymentMethodResponses];
2999
+ export type DeletePaymentMethodData = {
2035
3000
  body?: never;
2036
3001
  path: {
2037
3002
  /**
2038
- * Generated unique identifier of the access token.
3003
+ * Stripe payment method identifier.
2039
3004
  */
2040
- token_id: string;
3005
+ paymentMethodId: string;
2041
3006
  };
2042
3007
  query?: never;
2043
- url: '/tokens/{token_id}/secret';
3008
+ url: '/billing/payment-methods/{paymentMethodId}';
2044
3009
  };
2045
- export type RegenerateTokenErrors = {
3010
+ export type DeletePaymentMethodErrors = {
3011
+ /**
3012
+ * The bank transfer payment method cannot be removed.
3013
+ */
3014
+ 400: unknown;
2046
3015
  /**
2047
3016
  * Not authenticated
2048
3017
  */
2049
3018
  401: unknown;
3019
+ /**
3020
+ * Payment method not found.
3021
+ */
3022
+ 404: unknown;
3023
+ /**
3024
+ * Cannot delete the only remaining payment method.
3025
+ */
3026
+ 409: unknown;
2050
3027
  };
2051
- export type RegenerateTokenResponses = {
3028
+ export type DeletePaymentMethodResponses = {
2052
3029
  /**
2053
- * Successfully updated. Returns updated token details with unmasked / raw secret.
3030
+ * Payment method deleted.
2054
3031
  */
2055
- 200: Token;
3032
+ 204: void;
2056
3033
  };
2057
- export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
2058
- export type ListUserOrganizationsData = {
3034
+ export type DeletePaymentMethodResponse = DeletePaymentMethodResponses[keyof DeletePaymentMethodResponses];
3035
+ export type ListInvoicesData = {
2059
3036
  body?: never;
2060
- path: {
2061
- /**
2062
- * User email address.
2063
- */
2064
- email: string;
2065
- };
3037
+ path?: never;
2066
3038
  query?: never;
2067
- url: '/users/organizations/{email}';
3039
+ url: '/billing/invoices';
2068
3040
  };
2069
- export type ListUserOrganizationsResponses = {
3041
+ export type ListInvoicesErrors = {
2070
3042
  /**
2071
- * An array of organizations the user belongs to.
3043
+ * Not authenticated
2072
3044
  */
2073
- 200: Array<{
2074
- /**
2075
- * Unique identifier of the organization. UUID v4 string in canonical form
2076
- */
2077
- realm?: string;
2078
- /**
2079
- * Human-readable name of the organization
2080
- */
2081
- displayName?: string;
2082
- }>;
3045
+ 401: unknown;
2083
3046
  };
2084
- export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
2085
- export type ListUsersData = {
3047
+ export type ListInvoicesResponses = {
3048
+ /**
3049
+ * An array of usage records.
3050
+ */
3051
+ 200: Array<Invoice>;
3052
+ };
3053
+ export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
3054
+ export type PayOpenInvoicesData = {
2086
3055
  body?: never;
2087
3056
  path?: never;
2088
3057
  query?: never;
2089
- url: '/users';
3058
+ url: '/billing/invoices/pay';
2090
3059
  };
2091
- export type ListUsersErrors = {
3060
+ export type PayOpenInvoicesErrors = {
3061
+ /**
3062
+ * The organization has no payment method that can be charged.
3063
+ */
3064
+ 400: unknown;
2092
3065
  /**
2093
3066
  * Not authenticated
2094
3067
  */
2095
3068
  401: unknown;
3069
+ /**
3070
+ * Too many payment attempts for this organization.
3071
+ */
3072
+ 429: unknown;
2096
3073
  };
2097
- export type ListUsersResponses = {
3074
+ export type PayOpenInvoicesResponses = {
2098
3075
  /**
2099
- * An array of users
3076
+ * The outcome of the attempt.
2100
3077
  */
2101
- 200: Array<User>;
3078
+ 200: InvoicePaymentResult;
2102
3079
  };
2103
- export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
2104
- export type CreateUserData = {
2105
- body: UserCreateInput;
3080
+ export type PayOpenInvoicesResponse = PayOpenInvoicesResponses[keyof PayOpenInvoicesResponses];
3081
+ export type GetContactData = {
3082
+ body?: never;
2106
3083
  path?: never;
2107
3084
  query?: never;
2108
- url: '/users';
3085
+ url: '/billing/contact';
2109
3086
  };
2110
- export type CreateUserResponses = {
3087
+ export type GetContactResponses = {
2111
3088
  /**
2112
- * Successfully created. Returns created user details.
3089
+ * Returns a single object containing organization contact and billing address details.
2113
3090
  */
2114
- 200: User;
3091
+ 200: BillingContact;
2115
3092
  };
2116
- export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
2117
- export type DeleteUserData = {
2118
- body?: never;
2119
- path: {
2120
- /**
2121
- * Unique user identifier. UUID v4 string in canonical form
2122
- */
2123
- user_id: string;
2124
- };
3093
+ export type GetContactResponse = GetContactResponses[keyof GetContactResponses];
3094
+ export type UpdateContactData = {
3095
+ body: BillingContact;
3096
+ path?: never;
2125
3097
  query?: never;
2126
- url: '/users/{user_id}';
3098
+ url: '/billing/contact';
2127
3099
  };
2128
- export type DeleteUserErrors = {
3100
+ export type UpdateContactResponses = {
2129
3101
  /**
2130
- * Deleting own user is not allowed. Delete your organization instead.
3102
+ * Successfully updated. Returns updated organization details.
2131
3103
  */
2132
- 400: unknown;
3104
+ 200: BillingContact;
3105
+ };
3106
+ export type UpdateContactResponse = UpdateContactResponses[keyof UpdateContactResponses];
3107
+ export type GetCreditsData = {
3108
+ body?: never;
3109
+ path?: never;
3110
+ query?: never;
3111
+ url: '/billing/credits';
3112
+ };
3113
+ export type GetCreditsErrors = {
2133
3114
  /**
2134
3115
  * Not authenticated
2135
3116
  */
2136
3117
  401: unknown;
2137
3118
  };
2138
- export type DeleteUserResponses = {
3119
+ export type GetCreditsResponses = {
2139
3120
  /**
2140
- * User profile information
3121
+ * An array of the applied promotional credits records.
2141
3122
  */
2142
- 200: User;
3123
+ 200: Array<BillingCredits>;
2143
3124
  };
2144
- export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
2145
- export type GetUserData = {
2146
- body?: never;
2147
- path: {
3125
+ export type GetCreditsResponse = GetCreditsResponses[keyof GetCreditsResponses];
3126
+ export type RedeemCreditsData = {
3127
+ body: {
2148
3128
  /**
2149
- * Unique user identifier. UUID v4 string in canonical form
3129
+ * Promotional code to redeem
2150
3130
  */
2151
- user_id: string;
3131
+ code?: string;
2152
3132
  };
3133
+ path?: never;
2153
3134
  query?: never;
2154
- url: '/users/{user_id}';
3135
+ url: '/billing/credits';
2155
3136
  };
2156
- export type GetUserErrors = {
3137
+ export type RedeemCreditsErrors = {
2157
3138
  /**
2158
3139
  * Not authenticated
2159
3140
  */
2160
3141
  401: unknown;
2161
3142
  };
2162
- export type GetUserResponses = {
2163
- /**
2164
- * User profile information
2165
- */
2166
- 200: User;
2167
- };
2168
- export type GetUserResponse = GetUserResponses[keyof GetUserResponses];
2169
- export type UpdateUserData = {
2170
- body: UserUpdateInput;
2171
- path: {
2172
- /**
2173
- * Unique user identifier. UUID v4 string in canonical form
2174
- */
2175
- user_id: string;
2176
- };
2177
- query?: never;
2178
- url: '/users/{user_id}';
2179
- };
2180
- export type UpdateUserResponses = {
3143
+ export type RedeemCreditsResponses = {
2181
3144
  /**
2182
- * Successfully created. Returns created user details.
3145
+ * Successfully created a new organization.
2183
3146
  */
2184
- 200: User;
3147
+ 200: unknown;
2185
3148
  };
2186
- export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
2187
3149
  //# sourceMappingURL=types.gen.d.ts.map