@cloudfleet/sdk 0.0.1-200be61 → 0.0.1-20bd5c1

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,19 +309,69 @@ 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 | '';
262
376
  endpoint_public?: string | '';
263
377
  /**
@@ -279,129 +393,310 @@ export type Cluster = {
279
393
  /**
280
394
  * Indicates if the cluster is ready to be used.
281
395
  */
282
- ready?: boolean;
283
- /**
284
- * Version of the kubernetes cluster.
285
- */
286
- version_channel?: string;
396
+ ready: boolean;
287
397
  };
398
+ /**
399
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
400
+ */
288
401
  export type ClusterUpdateInput = {
289
402
  /**
290
403
  * Name of the cluster.
291
404
  */
292
- name?: string;
405
+ name: string;
293
406
  /**
294
407
  * Tier of the cluster.
295
408
  */
296
- tier: 'basic' | 'pro';
409
+ tier?: 'basic' | 'pro' | 'enterprise';
297
410
  /**
298
411
  * Version of the kubernetes cluster.
299
412
  */
300
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
+ };
301
435
  };
436
+ /**
437
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
438
+ */
302
439
  export type FleetCreateInput = {
303
440
  /**
304
441
  * Limits define a set of bounds for provisioning capacity.
305
442
  */
306
443
  limits?: {
307
444
  /**
308
- * CPU limit in cores.
445
+ * CPU limit in cores. Maximum 100,000.
309
446
  */
310
- cpu: number;
447
+ cpu?: number;
311
448
  };
312
449
  gcp?: {
313
- enabled?: boolean;
450
+ enabled: boolean;
314
451
  /**
315
- * 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.
316
453
  */
317
- project: string;
454
+ project?: string;
318
455
  };
319
456
  hetzner?: {
320
- enabled?: boolean;
457
+ enabled: boolean;
321
458
  /**
322
- * 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.
323
460
  */
324
- apiKey: string;
461
+ apiKey?: string;
325
462
  };
326
463
  aws?: {
327
- 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'>;
328
478
  /**
329
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
479
+ * Allowed values for `kubernetes.io/arch`.
330
480
  */
331
- 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'>;
332
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
+ }>;
333
512
  /**
334
513
  * Unique identifier of the kubernetes fleet.
335
514
  */
336
515
  id: string;
337
516
  };
517
+ /**
518
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
519
+ */
338
520
  export type Fleet = {
339
521
  /**
340
522
  * Limits define a set of bounds for provisioning capacity.
341
523
  */
342
524
  limits?: {
343
525
  /**
344
- * CPU limit in cores.
526
+ * CPU limit in cores. Maximum 100,000.
345
527
  */
346
- cpu: number;
528
+ cpu?: number;
347
529
  };
348
530
  gcp?: {
349
- enabled?: boolean;
531
+ enabled: boolean;
350
532
  /**
351
- * 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.
352
534
  */
353
- project: string;
535
+ project?: string;
354
536
  };
355
537
  hetzner?: {
356
- enabled?: boolean;
538
+ enabled: boolean;
357
539
  /**
358
- * 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.
359
541
  */
360
- apiKey: string;
542
+ apiKey?: string;
361
543
  };
362
544
  aws?: {
363
- 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'>;
364
563
  /**
365
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
564
+ * Allowed values for `cfke.io/instance-family`.
366
565
  */
367
- 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'>;
368
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
+ }>;
369
593
  /**
370
594
  * Unique identifier of the kubernetes fleet.
371
595
  */
372
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;
373
613
  };
614
+ /**
615
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
616
+ */
374
617
  export type FleetUpdateInput = {
375
618
  /**
376
619
  * Limits define a set of bounds for provisioning capacity.
377
620
  */
378
621
  limits?: {
379
622
  /**
380
- * CPU limit in cores.
623
+ * CPU limit in cores. Maximum 100,000.
381
624
  */
382
- cpu: number;
625
+ cpu?: number;
383
626
  };
384
627
  gcp?: {
385
- enabled?: boolean;
628
+ enabled: boolean;
386
629
  /**
387
- * 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.
388
631
  */
389
- project: string;
632
+ project?: string;
390
633
  };
391
634
  hetzner?: {
392
- enabled?: boolean;
635
+ enabled: boolean;
393
636
  /**
394
- * 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.
395
638
  */
396
- apiKey: string;
639
+ apiKey?: string;
397
640
  };
398
641
  aws?: {
399
- 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'>;
400
664
  /**
401
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
665
+ * Allowed values for `topology.kubernetes.io/region`.
402
666
  */
403
- 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'>;
404
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';
405
700
  };
406
701
  export type Invite = {
407
702
  /**
@@ -424,6 +719,91 @@ export type Invite = {
424
719
  * Generated unique invite code.
425
720
  */
426
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
+ }>;
427
807
  };
428
808
  export type Invoice = {
429
809
  /**
@@ -544,6 +924,10 @@ export type MarketplaceListing = {
544
924
  };
545
925
  };
546
926
  export type OrganizationCreateInput = {
927
+ /**
928
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
929
+ */
930
+ type: 'business' | 'personal';
547
931
  /**
548
932
  * Email address used for billing as a string.
549
933
  */
@@ -565,6 +949,12 @@ export type OrganizationCreateInput = {
565
949
  */
566
950
  password: string;
567
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
+ };
568
958
  export type Organization = {
569
959
  /**
570
960
  * Unique identifier of the organization. UUID v4 string in canonical form
@@ -574,6 +964,10 @@ export type Organization = {
574
964
  * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
575
965
  */
576
966
  name?: string;
967
+ /**
968
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
969
+ */
970
+ type: 'business' | 'personal';
577
971
  /**
578
972
  * Creation date of the organization. ISO 8601 date string in UTC timezone
579
973
  */
@@ -598,6 +992,14 @@ export type Organization = {
598
992
  * Available number of Pro clusters that can be created.
599
993
  */
600
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;
601
1003
  /**
602
1004
  * Maximum number of fleets that can be created per cluster.
603
1005
  */
@@ -632,36 +1034,52 @@ export type Organization = {
632
1034
  * Status of the organization. Can be `active` or `closed`, or `suspended`.
633
1035
  */
634
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';
635
1041
  };
636
1042
  export type PaymentMethod = {
637
1043
  /**
638
- * 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.
639
1045
  */
640
1046
  id: string;
641
1047
  /**
642
- * Whether organization payment method was set up and ready to use for payments.
643
- */
644
- setup: boolean;
645
- /**
646
- * 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.
647
1049
  */
648
- type: 'card';
1050
+ type: 'card' | 'sepa_debit' | 'bank_transfer';
649
1051
  /**
650
- * 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.
651
1053
  */
652
1054
  last4: string;
653
1055
  /**
654
- * 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.
655
1057
  */
656
1058
  exp_month: number;
657
1059
  /**
658
- * 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.
659
1061
  */
660
1062
  exp_year: number;
661
1063
  /**
662
- * 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).
663
1081
  */
664
- brand: 'amex' | 'diners' | 'discover' | 'eftpos_au' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
1082
+ is_default: boolean;
665
1083
  };
666
1084
  export type PlatformQuota = {
667
1085
  /**
@@ -680,6 +1098,14 @@ export type PlatformQuota = {
680
1098
  * Available number of Pro clusters that can be created.
681
1099
  */
682
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;
683
1109
  /**
684
1110
  * Maximum number of fleets that can be created per cluster.
685
1111
  */
@@ -858,6 +1284,32 @@ export type RegistryTag = {
858
1284
  */
859
1285
  uri: string;
860
1286
  };
1287
+ export type RoadmapItemCreateInput = {
1288
+ /**
1289
+ * Your suggestion in one or two sentences. It is reviewed before it appears on the roadmap.
1290
+ */
1291
+ text: string;
1292
+ };
1293
+ export type RoadmapItem = {
1294
+ /**
1295
+ * Unique identifier of the roadmap item (Mongo ObjectId).
1296
+ */
1297
+ id: string;
1298
+ /**
1299
+ * Short description of the roadmap item.
1300
+ */
1301
+ text: string;
1302
+ /**
1303
+ * The caller's vote on this item: -1 (down), 1 (up), 2 (double up), or null if the caller has not voted.
1304
+ */
1305
+ vote: -1 | 1 | 2;
1306
+ };
1307
+ export type RoadmapVoteInput = {
1308
+ /**
1309
+ * Vote value: -1 (down), 1 (up), or 2 (double up).
1310
+ */
1311
+ value: -1 | 1 | 2;
1312
+ };
861
1313
  export type TicketAttachment = {
862
1314
  /**
863
1315
  * Unique identifier of the attachment (Mongo ObjectId).
@@ -891,95 +1343,14 @@ export type TicketCreateInput = {
891
1343
  properties?: {
892
1344
  [key: string]: unknown;
893
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;
894
1350
  };
895
- export type TicketListResponse = {
1351
+ export type TicketMessageInput = {
896
1352
  /**
897
- * Tickets for the organization, ordered newest first. Messages are omitted from list responses.
898
- */
899
- items: Array<{
900
- /**
901
- * Unique identifier of the ticket (Mongo ObjectId).
902
- */
903
- id: string;
904
- /**
905
- * Current state of the ticket.
906
- */
907
- status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
908
- /**
909
- * Ticket category.
910
- */
911
- category: 'billing' | 'technical' | 'general';
912
- /**
913
- * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
914
- */
915
- summary: string;
916
- /**
917
- * Closure timestamp. Null while the ticket is open.
918
- */
919
- closed_at?: string;
920
- /**
921
- * Creation date of the ticket. ISO 8601 UTC.
922
- */
923
- date_created: string;
924
- /**
925
- * Last update date of the ticket. ISO 8601 UTC.
926
- */
927
- date_updated: string;
928
- /**
929
- * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
930
- */
931
- messages?: Array<{
932
- /**
933
- * Unique identifier of the message (Mongo ObjectId).
934
- */
935
- id: string;
936
- /**
937
- * Message type. Internal notes are filtered out of customer-facing responses.
938
- */
939
- type: 'customer_reply' | 'agent_reply';
940
- /**
941
- * Message body in markdown.
942
- */
943
- body: string;
944
- /**
945
- * First name of the author. Null when not provided.
946
- */
947
- author_first_name?: string;
948
- /**
949
- * Last name of the author. Null when not provided.
950
- */
951
- author_last_name?: string;
952
- /**
953
- * Attachments associated with this message.
954
- */
955
- attachments?: Array<{
956
- /**
957
- * Unique identifier of the attachment (Mongo ObjectId).
958
- */
959
- id: string;
960
- /**
961
- * Original filename as uploaded.
962
- */
963
- filename: string;
964
- /**
965
- * MIME content type of the attachment.
966
- */
967
- content_type: string;
968
- /**
969
- * Size of the attachment in bytes.
970
- */
971
- size: number;
972
- }>;
973
- /**
974
- * Creation date of the message. ISO 8601 UTC.
975
- */
976
- date_created: string;
977
- }>;
978
- }>;
979
- };
980
- export type TicketMessageInput = {
981
- /**
982
- * Reply body in markdown.
1353
+ * Reply body in markdown.
983
1354
  */
984
1355
  body: string;
985
1356
  };
@@ -1047,6 +1418,14 @@ export type Ticket = {
1047
1418
  * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
1048
1419
  */
1049
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;
1050
1429
  /**
1051
1430
  * Closure timestamp. Null while the ticket is open.
1052
1431
  */
@@ -1160,7 +1539,7 @@ export type UsageFacets = {
1160
1539
  /**
1161
1540
  * List of unique products
1162
1541
  */
1163
- 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'>;
1164
1543
  };
1165
1544
  export type UsageResponse = {
1166
1545
  /**
@@ -1178,7 +1557,7 @@ export type UsageResponse = {
1178
1557
  /**
1179
1558
  * The product the usage is associated with
1180
1559
  */
1181
- 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';
1182
1561
  /**
1183
1562
  * Consumption
1184
1563
  */
@@ -1203,7 +1582,7 @@ export type UsageResponse = {
1203
1582
  /**
1204
1583
  * List of unique products
1205
1584
  */
1206
- 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'>;
1207
1586
  };
1208
1587
  };
1209
1588
  export type Usage = {
@@ -1218,7 +1597,7 @@ export type Usage = {
1218
1597
  /**
1219
1598
  * The product the usage is associated with
1220
1599
  */
1221
- 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';
1222
1601
  /**
1223
1602
  * Consumption
1224
1603
  */
@@ -1253,14 +1632,6 @@ export type UserCreateInput = {
1253
1632
  * User password. Must be at least 8 characters long.
1254
1633
  */
1255
1634
  password: string;
1256
- /**
1257
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1258
- */
1259
- status?: 'active' | 'inactive';
1260
- /**
1261
- * User role. Can be 'Administrator', 'User'.
1262
- */
1263
- role?: 'Administrator' | 'User';
1264
1635
  };
1265
1636
  export type User = {
1266
1637
  /**
@@ -1314,525 +1685,710 @@ export type UserUpdateInput = {
1314
1685
  */
1315
1686
  status?: 'active' | 'inactive';
1316
1687
  };
1317
- export type GetUsageData = {
1688
+ export type ListUserOrganizationsData = {
1318
1689
  body?: never;
1319
- path?: never;
1320
- query?: {
1690
+ path: {
1321
1691
  /**
1322
- * 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.
1323
1693
  */
1324
- granularity?: 'hourly' | 'daily' | 'monthly';
1694
+ email: string;
1325
1695
  };
1326
- url: '/billing/usage';
1327
- };
1328
- export type GetUsageErrors = {
1329
- /**
1330
- * Not authenticated
1331
- */
1332
- 401: unknown;
1696
+ query?: never;
1697
+ url: '/users/organizations/{email}';
1333
1698
  };
1334
- export type GetUsageResponses = {
1699
+ export type ListUserOrganizationsResponses = {
1335
1700
  /**
1336
- * Usage data with facets for filtering
1701
+ * An array of organizations the user belongs to.
1337
1702
  */
1338
- 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
+ }>;
1339
1713
  };
1340
- export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
1341
- export type GetPaymentMethodData = {
1714
+ export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
1715
+ export type ListUsersData = {
1342
1716
  body?: never;
1343
1717
  path?: never;
1344
1718
  query?: never;
1345
- url: '/billing/payment-method';
1719
+ url: '/users';
1346
1720
  };
1347
- export type GetPaymentMethodErrors = {
1721
+ export type ListUsersErrors = {
1348
1722
  /**
1349
- * Returns 404 Not Found if the organization does not have a payment method set up.
1723
+ * Not authenticated
1350
1724
  */
1351
- 404: unknown;
1725
+ 401: unknown;
1352
1726
  };
1353
- export type GetPaymentMethodResponses = {
1727
+ export type ListUsersResponses = {
1354
1728
  /**
1355
- * Redacted payment card information.
1729
+ * An array of users
1356
1730
  */
1357
- 200: PaymentMethod;
1731
+ 200: Array<User>;
1358
1732
  };
1359
- export type GetPaymentMethodResponse = GetPaymentMethodResponses[keyof GetPaymentMethodResponses];
1360
- export type GetPaymentMethodSecretData = {
1361
- body?: never;
1733
+ export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
1734
+ export type CreateUserData = {
1735
+ body: UserCreateInput;
1362
1736
  path?: never;
1363
1737
  query?: never;
1364
- url: '/billing/payment-method';
1738
+ url: '/users';
1365
1739
  };
1366
- export type GetPaymentMethodSecretResponses = {
1740
+ export type CreateUserResponses = {
1367
1741
  /**
1368
- * 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.
1369
- *
1742
+ * Successfully created. Returns created user details.
1370
1743
  */
1371
- 200: {
1744
+ 200: User;
1745
+ };
1746
+ export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
1747
+ export type DeleteUserData = {
1748
+ body?: never;
1749
+ path: {
1372
1750
  /**
1373
- * The client secret.
1751
+ * Unique user identifier. UUID v4 string in canonical form
1374
1752
  */
1375
- id?: string;
1753
+ user_id: string;
1376
1754
  };
1377
- };
1378
- export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
1379
- export type ListInvoicesData = {
1380
- body?: never;
1381
- path?: never;
1382
1755
  query?: never;
1383
- url: '/billing/invoices';
1756
+ url: '/users/{user_id}';
1384
1757
  };
1385
- export type ListInvoicesErrors = {
1758
+ export type DeleteUserErrors = {
1759
+ /**
1760
+ * Deleting own user is not allowed. Delete your organization instead.
1761
+ */
1762
+ 400: unknown;
1386
1763
  /**
1387
1764
  * Not authenticated
1388
1765
  */
1389
1766
  401: unknown;
1390
1767
  };
1391
- export type ListInvoicesResponses = {
1768
+ export type DeleteUserResponses = {
1392
1769
  /**
1393
- * An array of usage records.
1770
+ * User profile information
1394
1771
  */
1395
- 200: Array<Invoice>;
1772
+ 200: User;
1396
1773
  };
1397
- export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
1398
- export type GetContactData = {
1774
+ export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
1775
+ export type GetUserData = {
1399
1776
  body?: never;
1400
- path?: never;
1777
+ path: {
1778
+ /**
1779
+ * Unique user identifier. UUID v4 string in canonical form
1780
+ */
1781
+ user_id: string;
1782
+ };
1401
1783
  query?: never;
1402
- url: '/billing/contact';
1784
+ url: '/users/{user_id}';
1403
1785
  };
1404
- export type GetContactResponses = {
1786
+ export type GetUserErrors = {
1405
1787
  /**
1406
- * Returns a single object containing organization contact and billing address details.
1788
+ * Not authenticated
1407
1789
  */
1408
- 200: BillingContact;
1790
+ 401: unknown;
1409
1791
  };
1410
- export type GetContactResponse = GetContactResponses[keyof GetContactResponses];
1411
- export type UpdateContactData = {
1412
- body: BillingContact;
1413
- path?: never;
1792
+ export type GetUserResponses = {
1793
+ /**
1794
+ * User profile information
1795
+ */
1796
+ 200: User;
1797
+ };
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
+ };
1414
1807
  query?: never;
1415
- url: '/billing/contact';
1808
+ url: '/users/{user_id}';
1416
1809
  };
1417
- export type UpdateContactResponses = {
1810
+ export type UpdateUserResponses = {
1418
1811
  /**
1419
- * Successfully updated. Returns updated organization details.
1812
+ * Successfully created. Returns created user details.
1420
1813
  */
1421
- 200: BillingContact;
1814
+ 200: User;
1422
1815
  };
1423
- export type UpdateContactResponse = UpdateContactResponses[keyof UpdateContactResponses];
1424
- export type GetCreditsData = {
1816
+ export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
1817
+ export type ListTokensData = {
1425
1818
  body?: never;
1426
1819
  path?: never;
1427
1820
  query?: never;
1428
- url: '/billing/credits';
1821
+ url: '/tokens';
1429
1822
  };
1430
- export type GetCreditsErrors = {
1823
+ export type ListTokensErrors = {
1431
1824
  /**
1432
1825
  * Not authenticated
1433
1826
  */
1434
1827
  401: unknown;
1435
1828
  };
1436
- export type GetCreditsResponses = {
1829
+ export type ListTokensResponses = {
1437
1830
  /**
1438
- * An array of the applied promotional credits records.
1831
+ * Returns a list of access token details with masked secrets.
1439
1832
  */
1440
- 200: Array<BillingCredits>;
1833
+ 200: Array<Token>;
1441
1834
  };
1442
- export type GetCreditsResponse = GetCreditsResponses[keyof GetCreditsResponses];
1443
- export type RedeemCreditsData = {
1444
- body: {
1445
- /**
1446
- * Promotional code to redeem
1447
- */
1448
- code?: string;
1449
- };
1835
+ export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1836
+ export type CreateTokenData = {
1837
+ body: TokenCreateInput;
1450
1838
  path?: never;
1451
1839
  query?: never;
1452
- url: '/billing/credits';
1840
+ url: '/tokens';
1453
1841
  };
1454
- export type RedeemCreditsErrors = {
1842
+ export type CreateTokenErrors = {
1455
1843
  /**
1456
1844
  * Not authenticated
1457
1845
  */
1458
1846
  401: unknown;
1459
1847
  };
1460
- export type RedeemCreditsResponses = {
1848
+ export type CreateTokenResponses = {
1461
1849
  /**
1462
- * Successfully created a new organization.
1850
+ * Successfully created. Returns created token details with unmasked/raw secret.
1463
1851
  */
1464
- 200: unknown;
1852
+ 200: Token;
1465
1853
  };
1466
- export type ListChartsData = {
1854
+ export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1855
+ export type DeleteTokenData = {
1467
1856
  body?: never;
1468
1857
  path: {
1469
1858
  /**
1470
- * Unique identifier of the cluster. UUID v4 string in canonical form
1859
+ * Generated unique identifier of the access token.
1471
1860
  */
1472
- cluster_id: string;
1861
+ token_id: string;
1473
1862
  };
1474
1863
  query?: never;
1475
- url: '/clusters/{cluster_id}/charts';
1476
- };
1477
- export type ListChartsErrors = {
1478
- /**
1479
- * Not authenticated
1480
- */
1481
- 401: unknown;
1864
+ url: '/tokens/{token_id}';
1482
1865
  };
1483
- export type ListChartsResponses = {
1866
+ export type DeleteTokenResponses = {
1484
1867
  /**
1485
- * An array of charts
1868
+ * Successfully deleted.
1486
1869
  */
1487
- 200: Array<Chart>;
1870
+ 200: unknown;
1488
1871
  };
1489
- export type ListChartsResponse = ListChartsResponses[keyof ListChartsResponses];
1490
- export type CreateChartData = {
1491
- body: ChartCreateInput;
1872
+ export type GetTokenData = {
1873
+ body?: never;
1492
1874
  path: {
1493
1875
  /**
1494
- * Unique identifier of the cluster. UUID v4 string in canonical form
1876
+ * Generated unique identifier of the access token.
1495
1877
  */
1496
- cluster_id: string;
1878
+ token_id: string;
1497
1879
  };
1498
1880
  query?: never;
1499
- url: '/clusters/{cluster_id}/charts';
1881
+ url: '/tokens/{token_id}';
1500
1882
  };
1501
- export type CreateChartResponses = {
1883
+ export type GetTokenErrors = {
1502
1884
  /**
1503
- * Successfully created. Returns created Chart ID.
1885
+ * Not authenticated
1504
1886
  */
1505
- 200: string;
1887
+ 401: unknown;
1506
1888
  };
1507
- export type CreateChartResponse = CreateChartResponses[keyof CreateChartResponses];
1508
- export type DeleteChartData = {
1509
- body?: never;
1889
+ export type GetTokenResponses = {
1890
+ /**
1891
+ * Returns access token details with masked secret.
1892
+ */
1893
+ 200: Token;
1894
+ };
1895
+ export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
1896
+ export type UpdateTokenData = {
1897
+ body: TokenUpdateInput;
1510
1898
  path: {
1511
1899
  /**
1512
- * Unique identifier of the cluster. UUID v4 string in canonical form
1513
- */
1514
- cluster_id: string;
1515
- /**
1516
- * Chart deployment name as the unique identifier of the chart.
1900
+ * Generated unique identifier of the access token.
1517
1901
  */
1518
- chart_name: string;
1902
+ token_id: string;
1519
1903
  };
1520
1904
  query?: never;
1521
- url: '/clusters/{cluster_id}/charts/{chart_name}';
1905
+ url: '/tokens/{token_id}';
1522
1906
  };
1523
- export type DeleteChartResponses = {
1907
+ export type UpdateTokenErrors = {
1524
1908
  /**
1525
- * Successfully deleted.
1909
+ * Not authenticated
1526
1910
  */
1527
- 200: string;
1911
+ 401: unknown;
1528
1912
  };
1529
- export type DeleteChartResponse = DeleteChartResponses[keyof DeleteChartResponses];
1530
- export type GetChartData = {
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 = {
1531
1921
  body?: never;
1532
1922
  path: {
1533
1923
  /**
1534
- * Unique identifier of the cluster. UUID v4 string in canonical form
1535
- */
1536
- cluster_id: string;
1537
- /**
1538
- * Chart deployment name as the unique identifier of the chart.
1924
+ * Generated unique identifier of the access token.
1539
1925
  */
1540
- chart_name: string;
1926
+ token_id: string;
1541
1927
  };
1542
1928
  query?: never;
1543
- url: '/clusters/{cluster_id}/charts/{chart_name}';
1929
+ url: '/tokens/{token_id}/secret';
1544
1930
  };
1545
- export type GetChartResponses = {
1931
+ export type RegenerateTokenErrors = {
1546
1932
  /**
1547
- * Returns a single object containing chart details.
1933
+ * Not authenticated
1548
1934
  */
1549
- 200: Chart;
1935
+ 401: unknown;
1550
1936
  };
1551
- export type GetChartResponse = GetChartResponses[keyof GetChartResponses];
1552
- export type UpdateChartData = {
1553
- body: ChartUpdateInput;
1554
- path: {
1555
- /**
1556
- * Unique identifier of the cluster. UUID v4 string in canonical form
1557
- */
1558
- cluster_id: string;
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 = {
1945
+ body?: never;
1946
+ path?: never;
1947
+ query?: never;
1948
+ url: '/tickets';
1949
+ };
1950
+ export type ListTicketsResponses = {
1951
+ /**
1952
+ * An array of tickets for the organization, newest first.
1953
+ */
1954
+ 200: Array<Ticket>;
1955
+ };
1956
+ export type ListTicketsResponse = ListTicketsResponses[keyof ListTicketsResponses];
1957
+ export type CreateTicketData = {
1958
+ body: {
1559
1959
  /**
1560
- * Chart deployment name as the unique identifier of the chart.
1960
+ * JSON-encoded TicketCreateInput.
1561
1961
  */
1562
- chart_name: string;
1962
+ payload?: string;
1963
+ attachments?: Array<Blob | File>;
1563
1964
  };
1965
+ path?: never;
1564
1966
  query?: never;
1565
- url: '/clusters/{cluster_id}/charts/{chart_name}';
1967
+ url: '/tickets';
1566
1968
  };
1567
- export type UpdateChartResponses = {
1969
+ export type CreateTicketResponses = {
1568
1970
  /**
1569
- * Successfully updated.
1971
+ * Ticket created.
1570
1972
  */
1571
- 200: string;
1973
+ 200: Ticket;
1572
1974
  };
1573
- export type UpdateChartResponse = UpdateChartResponses[keyof UpdateChartResponses];
1574
- export type ListFleetsData = {
1975
+ export type CreateTicketResponse = CreateTicketResponses[keyof CreateTicketResponses];
1976
+ export type CloseTicketData = {
1575
1977
  body?: never;
1576
1978
  path: {
1577
- /**
1578
- * Unique identifier of the cluster. UUID v4 string in canonical form
1579
- */
1580
- cluster_id: string;
1979
+ ticket_id: string;
1581
1980
  };
1582
1981
  query?: never;
1583
- url: '/clusters/{cluster_id}/fleets';
1982
+ url: '/tickets/{ticket_id}';
1584
1983
  };
1585
- export type ListFleetsErrors = {
1984
+ export type CloseTicketResponses = {
1586
1985
  /**
1587
- * Not authenticated
1986
+ * Ticket closed.
1588
1987
  */
1589
- 401: unknown;
1988
+ 200: Ticket;
1590
1989
  };
1591
- 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 = {
1592
2000
  /**
1593
- * An array of fleets
2001
+ * Ticket with messages (internal notes excluded).
1594
2002
  */
1595
- 200: Array<Fleet>;
2003
+ 200: Ticket;
1596
2004
  };
1597
- export type ListFleetsResponse = ListFleetsResponses[keyof ListFleetsResponses];
1598
- export type CreateFleetData = {
1599
- body: FleetCreateInput;
2005
+ export type GetTicketResponse = GetTicketResponses[keyof GetTicketResponses];
2006
+ export type GrantTicketSupportAccessData = {
2007
+ body?: never;
1600
2008
  path: {
2009
+ ticket_id: string;
2010
+ };
2011
+ query?: never;
2012
+ url: '/tickets/{ticket_id}/support-access';
2013
+ };
2014
+ export type GrantTicketSupportAccessErrors = {
2015
+ /**
2016
+ * Ticket is closed. Open a new ticket instead.
2017
+ */
2018
+ 409: unknown;
2019
+ };
2020
+ export type GrantTicketSupportAccessResponses = {
2021
+ /**
2022
+ * Support access granted.
2023
+ */
2024
+ 200: Ticket;
2025
+ };
2026
+ export type GrantTicketSupportAccessResponse = GrantTicketSupportAccessResponses[keyof GrantTicketSupportAccessResponses];
2027
+ export type ReplyTicketData = {
2028
+ body: {
1601
2029
  /**
1602
- * Unique identifier of the cluster. UUID v4 string in canonical form
2030
+ * JSON-encoded TicketMessageInput.
1603
2031
  */
1604
- cluster_id: string;
2032
+ payload?: string;
2033
+ attachments?: Array<Blob | File>;
2034
+ };
2035
+ path: {
2036
+ ticket_id: string;
1605
2037
  };
1606
2038
  query?: never;
1607
- url: '/clusters/{cluster_id}/fleets';
2039
+ url: '/tickets/{ticket_id}/messages';
1608
2040
  };
1609
- export type CreateFleetErrors = {
2041
+ export type ReplyTicketErrors = {
1610
2042
  /**
1611
- * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
2043
+ * Ticket is closed. Open a new ticket instead.
1612
2044
  */
1613
- 402: string;
2045
+ 409: unknown;
1614
2046
  };
1615
- export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
1616
- export type CreateFleetResponses = {
2047
+ export type ReplyTicketResponses = {
1617
2048
  /**
1618
- * Successfully created. Returns created Fleet ID.
2049
+ * Reply appended.
1619
2050
  */
1620
- 200: string;
2051
+ 200: TicketMessage;
1621
2052
  };
1622
- export type CreateFleetResponse = CreateFleetResponses[keyof CreateFleetResponses];
1623
- export type DeleteFleetData = {
2053
+ export type ReplyTicketResponse = ReplyTicketResponses[keyof ReplyTicketResponses];
2054
+ export type GetTicketAttachmentData = {
1624
2055
  body?: never;
1625
2056
  path: {
1626
- /**
1627
- * Unique identifier of the cluster. UUID v4 string in canonical form
1628
- */
1629
- cluster_id: string;
1630
- /**
1631
- * Unique identifier of the fleet. UUID v4 string in canonical form
1632
- */
1633
- fleet_name: string;
2057
+ ticket_id: string;
2058
+ attachment_id: string;
1634
2059
  };
1635
2060
  query?: never;
1636
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2061
+ url: '/tickets/{ticket_id}/attachments/{attachment_id}';
1637
2062
  };
1638
- export type DeleteFleetResponses = {
2063
+ export type GetTicketAttachmentResponses = {
1639
2064
  /**
1640
- * Successfully deleted.
2065
+ * Attachment binary stream.
1641
2066
  */
1642
- 200: string;
2067
+ 200: Blob | File;
1643
2068
  };
1644
- export type DeleteFleetResponse = DeleteFleetResponses[keyof DeleteFleetResponses];
1645
- export type GetFleetData = {
2069
+ export type GetTicketAttachmentResponse = GetTicketAttachmentResponses[keyof GetTicketAttachmentResponses];
2070
+ export type ListRoadmapData = {
2071
+ body?: never;
2072
+ path?: never;
2073
+ query?: never;
2074
+ url: '/roadmap';
2075
+ };
2076
+ export type ListRoadmapResponses = {
2077
+ /**
2078
+ * An array of roadmap items, newest first.
2079
+ */
2080
+ 200: Array<RoadmapItem>;
2081
+ };
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 = {
2090
+ /**
2091
+ * Suggestion submitted for review.
2092
+ */
2093
+ 200: RoadmapItem;
2094
+ };
2095
+ export type SuggestRoadmapResponse = SuggestRoadmapResponses[keyof SuggestRoadmapResponses];
2096
+ export type UnvoteRoadmapData = {
1646
2097
  body?: never;
1647
2098
  path: {
1648
- /**
1649
- * Unique identifier of the cluster. UUID v4 string in canonical form
1650
- */
1651
- cluster_id: string;
1652
- /**
1653
- * Unique identifier of the fleet. UUID v4 string in canonical form
1654
- */
1655
- fleet_name: string;
2099
+ item_id: string;
1656
2100
  };
1657
2101
  query?: never;
1658
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2102
+ url: '/roadmap/{item_id}/vote';
1659
2103
  };
1660
- export type GetFleetResponses = {
2104
+ export type UnvoteRoadmapErrors = {
1661
2105
  /**
1662
- * Returns a single object containing fleet details.
2106
+ * Roadmap item not found.
1663
2107
  */
1664
- 200: Fleet;
2108
+ 404: unknown;
1665
2109
  };
1666
- export type GetFleetResponse = GetFleetResponses[keyof GetFleetResponses];
1667
- export type UpdateFleetData = {
1668
- body: FleetUpdateInput;
2110
+ export type UnvoteRoadmapResponses = {
2111
+ /**
2112
+ * Vote removed. Returns the item without a vote.
2113
+ */
2114
+ 200: RoadmapItem;
2115
+ };
2116
+ export type UnvoteRoadmapResponse = UnvoteRoadmapResponses[keyof UnvoteRoadmapResponses];
2117
+ export type VoteRoadmapData = {
2118
+ body: RoadmapVoteInput;
2119
+ path: {
2120
+ item_id: string;
2121
+ };
2122
+ query?: never;
2123
+ url: '/roadmap/{item_id}/vote';
2124
+ };
2125
+ export type VoteRoadmapErrors = {
2126
+ /**
2127
+ * Roadmap item not found.
2128
+ */
2129
+ 404: unknown;
2130
+ };
2131
+ export type VoteRoadmapResponses = {
2132
+ /**
2133
+ * Vote saved. Returns the item with your vote.
2134
+ */
2135
+ 200: RoadmapItem;
2136
+ };
2137
+ export type VoteRoadmapResponse = VoteRoadmapResponses[keyof VoteRoadmapResponses];
2138
+ export type ListRepositoriesData = {
2139
+ body?: never;
2140
+ path?: never;
2141
+ query?: never;
2142
+ url: '/registry';
2143
+ };
2144
+ export type ListRepositoriesErrors = {
2145
+ /**
2146
+ * Not authenticated
2147
+ */
2148
+ 401: unknown;
2149
+ /**
2150
+ * Internal server error
2151
+ */
2152
+ 500: unknown;
2153
+ };
2154
+ export type ListRepositoriesResponses = {
2155
+ /**
2156
+ * List of repositories
2157
+ */
2158
+ 200: Array<RegistryRepository>;
2159
+ };
2160
+ export type ListRepositoriesResponse = ListRepositoriesResponses[keyof ListRepositoriesResponses];
2161
+ export type ListTagsData = {
2162
+ body?: never;
1669
2163
  path: {
1670
2164
  /**
1671
- * Unique identifier of the cluster. UUID v4 string in canonical form
2165
+ * Region where the repository is located
1672
2166
  */
1673
- cluster_id: string;
2167
+ region: string;
1674
2168
  /**
1675
- * Unique identifier of the fleet. UUID v4 string in canonical form
2169
+ * Name of the repository
1676
2170
  */
1677
- fleet_name: string;
2171
+ repository: string;
1678
2172
  };
1679
2173
  query?: never;
1680
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2174
+ url: '/registry/{region}/{repository}';
1681
2175
  };
1682
- export type UpdateFleetErrors = {
2176
+ export type ListTagsErrors = {
1683
2177
  /**
1684
- * Organization must have a valid payment method configured to access this endpoint.
2178
+ * Not authenticated
1685
2179
  */
1686
- 402: string;
2180
+ 401: unknown;
2181
+ /**
2182
+ * Repository not found
2183
+ */
2184
+ 404: unknown;
2185
+ /**
2186
+ * Internal server error
2187
+ */
2188
+ 500: unknown;
1687
2189
  };
1688
- export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
1689
- export type UpdateFleetResponses = {
2190
+ export type ListTagsResponses = {
1690
2191
  /**
1691
- * Successfully updated.
2192
+ * Repository with tags
1692
2193
  */
1693
- 200: string;
2194
+ 200: RegistryRepositoryWithTags;
1694
2195
  };
1695
- export type UpdateFleetResponse = UpdateFleetResponses[keyof UpdateFleetResponses];
1696
- export type QueryClusterData = {
2196
+ export type ListTagsResponse = ListTagsResponses[keyof ListTagsResponses];
2197
+ export type DeleteTagData = {
1697
2198
  body?: never;
1698
2199
  path: {
1699
2200
  /**
1700
- * Unique identifier of the cluster. UUID v4 string in canonical form
2201
+ * Region where the repository is located
1701
2202
  */
1702
- 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;
1703
2212
  };
1704
2213
  query?: never;
1705
- url: '/clusters/{cluster_id}/query';
2214
+ url: '/registry/{region}/{repository}/{tag}';
1706
2215
  };
1707
- export type QueryClusterErrors = {
2216
+ export type DeleteTagErrors = {
1708
2217
  /**
1709
2218
  * Not authenticated
1710
2219
  */
1711
2220
  401: unknown;
2221
+ /**
2222
+ * Tag not found
2223
+ */
2224
+ 404: unknown;
2225
+ /**
2226
+ * Internal server error
2227
+ */
2228
+ 500: unknown;
1712
2229
  };
1713
- export type QueryClusterResponses = {
2230
+ export type DeleteTagResponses = {
1714
2231
  /**
1715
- * Kubernetes API response
2232
+ * Tag successfully deleted
1716
2233
  */
1717
2234
  200: unknown;
1718
2235
  };
1719
- export type ListClustersData = {
2236
+ export type GetTagData = {
1720
2237
  body?: never;
1721
- path?: never;
2238
+ path: {
2239
+ /**
2240
+ * Region where the repository is located
2241
+ */
2242
+ region: string;
2243
+ /**
2244
+ * Name of the repository
2245
+ */
2246
+ repository: string;
2247
+ /**
2248
+ * Name of the tag
2249
+ */
2250
+ tag: string;
2251
+ };
1722
2252
  query?: never;
1723
- url: '/clusters';
2253
+ url: '/registry/{region}/{repository}/{tag}';
1724
2254
  };
1725
- export type ListClustersErrors = {
2255
+ export type GetTagErrors = {
1726
2256
  /**
1727
2257
  * Not authenticated
1728
2258
  */
1729
2259
  401: unknown;
2260
+ /**
2261
+ * Tag not found
2262
+ */
2263
+ 404: unknown;
2264
+ /**
2265
+ * Internal server error
2266
+ */
2267
+ 500: unknown;
1730
2268
  };
1731
- export type ListClustersResponses = {
2269
+ export type GetTagResponses = {
1732
2270
  /**
1733
- * An array of clusters
2271
+ * Tag details
1734
2272
  */
1735
- 200: Array<Cluster>;
2273
+ 200: RegistryTag;
1736
2274
  };
1737
- export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
1738
- export type CreateClusterData = {
1739
- body: ClusterCreateInput;
2275
+ export type GetTagResponse = GetTagResponses[keyof GetTagResponses];
2276
+ export type GetOrganizationData = {
2277
+ body?: never;
1740
2278
  path?: never;
1741
2279
  query?: never;
1742
- url: '/clusters';
2280
+ url: '/organization';
1743
2281
  };
1744
- export type CreateClusterErrors = {
2282
+ export type GetOrganizationResponses = {
1745
2283
  /**
1746
- * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
2284
+ * Returns a single object containing organization details.
1747
2285
  */
1748
- 402: string;
2286
+ 200: Organization;
1749
2287
  };
1750
- export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
1751
- export type CreateClusterResponses = {
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 = {
1752
2296
  /**
1753
- * Successfully created. Returns created Cluster ID.
2297
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
2298
+ *
1754
2299
  */
1755
- 200: string;
2300
+ 200: OrganizationCreateOutput;
1756
2301
  };
1757
- export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
1758
- export type DeleteClusterData = {
1759
- body?: never;
1760
- path: {
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;
1761
2311
  /**
1762
- * Unique identifier of the cluster. UUID v4 string in canonical form
2312
+ * Method-specific parameters
1763
2313
  */
1764
- cluster_id: string;
2314
+ params?: {
2315
+ [key: string]: unknown;
2316
+ };
1765
2317
  };
2318
+ path?: never;
1766
2319
  query?: never;
1767
- url: '/clusters/{cluster_id}';
2320
+ url: '/mcp';
1768
2321
  };
1769
- export type DeleteClusterResponses = {
2322
+ export type PostMcpErrors = {
1770
2323
  /**
1771
- * Successfully deleted.
2324
+ * Not authenticated
1772
2325
  */
1773
- 200: string;
2326
+ 401: unknown;
2327
+ };
2328
+ export type PostMcpResponses = {
2329
+ /**
2330
+ * JSON-RPC 2.0 success or error response
2331
+ */
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
+ };
1774
2343
  };
1775
- export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
1776
- export type GetClusterData = {
2344
+ export type PostMcpResponse = PostMcpResponses[keyof PostMcpResponses];
2345
+ export type ListMarketplaceChartsData = {
1777
2346
  body?: never;
1778
- path: {
1779
- /**
1780
- * Unique identifier of the cluster. UUID v4 string in canonical form
1781
- */
1782
- cluster_id: string;
1783
- };
2347
+ path?: never;
1784
2348
  query?: never;
1785
- url: '/clusters/{cluster_id}';
2349
+ url: '/marketplace';
1786
2350
  };
1787
- export type GetClusterResponses = {
2351
+ export type ListMarketplaceChartsErrors = {
1788
2352
  /**
1789
- * Returns a single object containing cluster details.
2353
+ * Not authenticated
1790
2354
  */
1791
- 200: Cluster;
1792
- };
1793
- export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
1794
- export type UpdateClusterData = {
1795
- body: ClusterUpdateInput;
1796
- path: {
1797
- /**
1798
- * Unique identifier of the cluster. UUID v4 string in canonical form
1799
- */
1800
- cluster_id: string;
1801
- };
1802
- query?: never;
1803
- url: '/clusters/{cluster_id}';
2355
+ 401: unknown;
1804
2356
  };
1805
- export type UpdateClusterResponses = {
2357
+ export type ListMarketplaceChartsResponses = {
1806
2358
  /**
1807
- * Successfully updated. Returns updated cluster details.
2359
+ * An array of chart listings in the marketplace.
1808
2360
  */
1809
- 200: Cluster;
2361
+ 200: Array<MarketplaceListing>;
1810
2362
  };
1811
- export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
1812
- export type GetJoinInformationData = {
2363
+ export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
2364
+ export type GetMarketplaceChartFilesData = {
1813
2365
  body?: never;
1814
2366
  path: {
1815
2367
  /**
1816
- * Unique identifier of the cluster. UUID v4 string in canonical form
2368
+ * Name of the chart in the marketplace.
1817
2369
  */
1818
- 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;
1819
2375
  };
1820
2376
  query?: never;
1821
- url: '/clusters/{cluster_id}/join_information';
2377
+ url: '/marketplace/{chart_name}/files/{version_channel}';
1822
2378
  };
1823
- export type GetJoinInformationErrors = {
2379
+ export type GetMarketplaceChartFilesErrors = {
1824
2380
  /**
1825
- * Not authenticated
2381
+ * Chart not found or no version matches the channel
1826
2382
  */
1827
- 401: unknown;
2383
+ 404: unknown;
1828
2384
  };
1829
- export type GetJoinInformationResponses = {
2385
+ export type GetMarketplaceChartFilesResponses = {
1830
2386
  /**
1831
- * An object of cluster join information
2387
+ * Returns an object containing the chart files for the latest matching version.
1832
2388
  */
1833
- 200: ClusterJoinInformation;
2389
+ 200: MarketplaceListingFiles;
1834
2390
  };
1835
- export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
2391
+ export type GetMarketplaceChartFilesResponse = GetMarketplaceChartFilesResponses[keyof GetMarketplaceChartFilesResponses];
1836
2392
  export type ListInvitesData = {
1837
2393
  body?: never;
1838
2394
  path?: never;
@@ -1853,12 +2409,7 @@ export type ListInvitesResponses = {
1853
2409
  };
1854
2410
  export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
1855
2411
  export type CreateInviteData = {
1856
- body: {
1857
- /**
1858
- * User email address
1859
- */
1860
- email?: string;
1861
- };
2412
+ body: InviteCreateInput;
1862
2413
  path?: never;
1863
2414
  query?: never;
1864
2415
  url: '/invites';
@@ -1883,9 +2434,18 @@ export type GetInviteData = {
1883
2434
  };
1884
2435
  export type GetInviteResponses = {
1885
2436
  /**
1886
- * Returns a single object containing invite details.
2437
+ * The invitation code is valid. Returns the invited email and organization.
1887
2438
  */
1888
- 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
+ };
1889
2449
  };
1890
2450
  export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
1891
2451
  export type DeleteInviteData = {
@@ -1905,617 +2465,685 @@ export type DeleteInviteResponses = {
1905
2465
  */
1906
2466
  200: unknown;
1907
2467
  };
1908
- export type ListMarketplaceChartsData = {
2468
+ export type QueryClusterData = {
1909
2469
  body?: never;
1910
- path?: never;
2470
+ path: {
2471
+ /**
2472
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2473
+ */
2474
+ cluster_id: string;
2475
+ };
1911
2476
  query?: never;
1912
- url: '/marketplace';
2477
+ url: '/clusters/{cluster_id}/query';
1913
2478
  };
1914
- export type ListMarketplaceChartsErrors = {
2479
+ export type QueryClusterErrors = {
1915
2480
  /**
1916
2481
  * Not authenticated
1917
2482
  */
1918
2483
  401: unknown;
1919
2484
  };
1920
- export type ListMarketplaceChartsResponses = {
2485
+ export type QueryClusterResponses = {
1921
2486
  /**
1922
- * An array of chart listings in the marketplace.
2487
+ * Kubernetes API response
1923
2488
  */
1924
- 200: Array<MarketplaceListing>;
2489
+ 200: unknown;
1925
2490
  };
1926
- export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
1927
- export type GetMarketplaceChartFilesData = {
2491
+ export type ListFleetsData = {
1928
2492
  body?: never;
1929
2493
  path: {
1930
2494
  /**
1931
- * Name of the chart in the marketplace.
1932
- */
1933
- chart_name: string;
1934
- /**
1935
- * 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).
2495
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1936
2496
  */
1937
- version_channel: string;
2497
+ cluster_id: string;
1938
2498
  };
1939
2499
  query?: never;
1940
- url: '/marketplace/{chart_name}/files/{version_channel}';
2500
+ url: '/clusters/{cluster_id}/fleets';
1941
2501
  };
1942
- export type GetMarketplaceChartFilesErrors = {
2502
+ export type ListFleetsErrors = {
1943
2503
  /**
1944
- * Chart not found or no version matches the channel
2504
+ * Not authenticated
1945
2505
  */
1946
- 404: unknown;
2506
+ 401: unknown;
1947
2507
  };
1948
- export type GetMarketplaceChartFilesResponses = {
2508
+ export type ListFleetsResponses = {
1949
2509
  /**
1950
- * Returns an object containing the chart files for the latest matching version.
2510
+ * An array of fleets
1951
2511
  */
1952
- 200: MarketplaceListingFiles;
2512
+ 200: Array<Fleet>;
1953
2513
  };
1954
- export type GetMarketplaceChartFilesResponse = GetMarketplaceChartFilesResponses[keyof GetMarketplaceChartFilesResponses];
1955
- export type PostMcpData = {
1956
- /**
1957
- * JSON-RPC 2.0 request payload
1958
- */
1959
- body: {
1960
- jsonrpc?: string;
1961
- method?: string;
1962
- id?: string | number;
2514
+ export type ListFleetsResponse = ListFleetsResponses[keyof ListFleetsResponses];
2515
+ export type CreateFleetData = {
2516
+ body: FleetCreateInput;
2517
+ path: {
1963
2518
  /**
1964
- * Method-specific parameters
2519
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1965
2520
  */
1966
- params?: {
1967
- [key: string]: unknown;
1968
- };
2521
+ cluster_id: string;
1969
2522
  };
1970
- path?: never;
1971
2523
  query?: never;
1972
- url: '/mcp';
2524
+ url: '/clusters/{cluster_id}/fleets';
1973
2525
  };
1974
- export type PostMcpErrors = {
2526
+ export type CreateFleetErrors = {
1975
2527
  /**
1976
- * Not authenticated
2528
+ * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
1977
2529
  */
1978
- 401: unknown;
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;
1979
2535
  };
1980
- export type PostMcpResponses = {
2536
+ export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
2537
+ export type CreateFleetResponses = {
1981
2538
  /**
1982
- * JSON-RPC 2.0 success or error response
2539
+ * Successfully created. Returns created Fleet ID.
1983
2540
  */
1984
- 200: {
1985
- jsonrpc?: string;
1986
- id?: string | number;
1987
- result?: {
1988
- [key: string]: unknown;
1989
- };
1990
- error?: {
1991
- code?: number;
1992
- message?: string;
1993
- };
1994
- };
2541
+ 200: string;
1995
2542
  };
1996
- export type PostMcpResponse = PostMcpResponses[keyof PostMcpResponses];
1997
- export type GetOrganizationData = {
2543
+ export type CreateFleetResponse = CreateFleetResponses[keyof CreateFleetResponses];
2544
+ export type DeleteFleetData = {
1998
2545
  body?: never;
1999
- path?: 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
+ };
2000
2556
  query?: never;
2001
- url: '/organization';
2557
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2002
2558
  };
2003
- export type GetOrganizationResponses = {
2559
+ export type DeleteFleetErrors = {
2004
2560
  /**
2005
- * Returns a single object containing organization details.
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.
2006
2562
  */
2007
- 200: Organization;
2563
+ 409: string;
2008
2564
  };
2009
- export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
2010
- export type CreateOrganizationData = {
2011
- body: OrganizationCreateInput;
2012
- path?: never;
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
+ };
2013
2585
  query?: never;
2014
- url: '/organization';
2586
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2015
2587
  };
2016
- export type CreateOrganizationResponses = {
2588
+ export type GetFleetResponses = {
2017
2589
  /**
2018
- * Successfully created a new organization.
2590
+ * Returns a single object containing fleet details.
2019
2591
  */
2020
- 200: unknown;
2592
+ 200: Fleet;
2021
2593
  };
2022
- export type ListRepositoriesData = {
2023
- body?: never;
2024
- path?: never;
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
+ };
2025
2607
  query?: never;
2026
- url: '/registry';
2608
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2027
2609
  };
2028
- export type ListRepositoriesErrors = {
2610
+ export type UpdateFleetErrors = {
2029
2611
  /**
2030
- * Not authenticated
2612
+ * Organization must have a valid payment method configured to access this endpoint.
2031
2613
  */
2032
- 401: unknown;
2614
+ 402: string;
2033
2615
  /**
2034
- * Internal server error
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.
2035
2617
  */
2036
- 500: unknown;
2618
+ 409: string;
2037
2619
  };
2038
- export type ListRepositoriesResponses = {
2620
+ export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
2621
+ export type UpdateFleetResponses = {
2039
2622
  /**
2040
- * List of repositories
2623
+ * Successfully updated.
2041
2624
  */
2042
- 200: Array<RegistryRepository>;
2625
+ 200: string;
2043
2626
  };
2044
- export type ListRepositoriesResponse = ListRepositoriesResponses[keyof ListRepositoriesResponses];
2045
- export type ListTagsData = {
2627
+ export type UpdateFleetResponse = UpdateFleetResponses[keyof UpdateFleetResponses];
2628
+ export type ListChartsData = {
2046
2629
  body?: never;
2047
2630
  path: {
2048
2631
  /**
2049
- * Region where the repository is located
2050
- */
2051
- region: string;
2052
- /**
2053
- * Name of the repository
2632
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2054
2633
  */
2055
- repository: string;
2634
+ cluster_id: string;
2056
2635
  };
2057
2636
  query?: never;
2058
- url: '/registry/{region}/{repository}';
2637
+ url: '/clusters/{cluster_id}/charts';
2059
2638
  };
2060
- export type ListTagsErrors = {
2639
+ export type ListChartsErrors = {
2061
2640
  /**
2062
2641
  * Not authenticated
2063
2642
  */
2064
2643
  401: unknown;
2644
+ };
2645
+ export type ListChartsResponses = {
2065
2646
  /**
2066
- * Repository not found
2647
+ * An array of charts
2067
2648
  */
2068
- 404: unknown;
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
2657
+ */
2658
+ cluster_id: string;
2659
+ };
2660
+ query?: never;
2661
+ url: '/clusters/{cluster_id}/charts';
2662
+ };
2663
+ export type CreateChartErrors = {
2069
2664
  /**
2070
- * Internal server error
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.
2071
2666
  */
2072
- 500: unknown;
2667
+ 409: string;
2073
2668
  };
2074
- export type ListTagsResponses = {
2669
+ export type CreateChartError = CreateChartErrors[keyof CreateChartErrors];
2670
+ export type CreateChartResponses = {
2075
2671
  /**
2076
- * Repository with tags
2672
+ * Successfully created. Returns created Chart ID.
2077
2673
  */
2078
- 200: RegistryRepositoryWithTags;
2674
+ 200: string;
2079
2675
  };
2080
- export type ListTagsResponse = ListTagsResponses[keyof ListTagsResponses];
2081
- export type DeleteTagData = {
2676
+ export type CreateChartResponse = CreateChartResponses[keyof CreateChartResponses];
2677
+ export type DeleteChartData = {
2082
2678
  body?: never;
2083
2679
  path: {
2084
2680
  /**
2085
- * Region where the repository is located
2086
- */
2087
- region: string;
2088
- /**
2089
- * Name of the repository
2681
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2090
2682
  */
2091
- repository: string;
2683
+ cluster_id: string;
2092
2684
  /**
2093
- * Name of the tag
2685
+ * Chart deployment name as the unique identifier of the chart.
2094
2686
  */
2095
- tag: string;
2687
+ chart_name: string;
2096
2688
  };
2097
2689
  query?: never;
2098
- url: '/registry/{region}/{repository}/{tag}';
2690
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
2099
2691
  };
2100
- export type DeleteTagErrors = {
2101
- /**
2102
- * Not authenticated
2103
- */
2104
- 401: unknown;
2105
- /**
2106
- * Tag not found
2107
- */
2108
- 404: unknown;
2692
+ export type DeleteChartErrors = {
2109
2693
  /**
2110
- * Internal server error
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.
2111
2695
  */
2112
- 500: unknown;
2696
+ 409: string;
2113
2697
  };
2114
- export type DeleteTagResponses = {
2698
+ export type DeleteChartError = DeleteChartErrors[keyof DeleteChartErrors];
2699
+ export type DeleteChartResponses = {
2115
2700
  /**
2116
- * Tag successfully deleted
2701
+ * Successfully deleted.
2117
2702
  */
2118
- 200: unknown;
2703
+ 200: string;
2119
2704
  };
2120
- export type GetTagData = {
2705
+ export type DeleteChartResponse = DeleteChartResponses[keyof DeleteChartResponses];
2706
+ export type GetChartData = {
2121
2707
  body?: never;
2122
2708
  path: {
2123
2709
  /**
2124
- * Region where the repository is located
2125
- */
2126
- region: string;
2127
- /**
2128
- * Name of the repository
2710
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2129
2711
  */
2130
- repository: string;
2712
+ cluster_id: string;
2131
2713
  /**
2132
- * Name of the tag
2714
+ * Chart deployment name as the unique identifier of the chart.
2133
2715
  */
2134
- tag: string;
2716
+ chart_name: string;
2135
2717
  };
2136
2718
  query?: never;
2137
- url: '/registry/{region}/{repository}/{tag}';
2719
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
2138
2720
  };
2139
- export type GetTagErrors = {
2140
- /**
2141
- * Not authenticated
2142
- */
2143
- 401: unknown;
2721
+ export type GetChartResponses = {
2144
2722
  /**
2145
- * Tag not found
2723
+ * Returns a single object containing chart details.
2146
2724
  */
2147
- 404: unknown;
2725
+ 200: Chart;
2726
+ };
2727
+ export type GetChartResponse = GetChartResponses[keyof GetChartResponses];
2728
+ export type UpdateChartData = {
2729
+ body: ChartUpdateInput;
2730
+ path: {
2731
+ /**
2732
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2733
+ */
2734
+ cluster_id: string;
2735
+ /**
2736
+ * Chart deployment name as the unique identifier of the chart.
2737
+ */
2738
+ chart_name: string;
2739
+ };
2740
+ query?: never;
2741
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
2742
+ };
2743
+ export type UpdateChartErrors = {
2148
2744
  /**
2149
- * Internal server error
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.
2150
2746
  */
2151
- 500: unknown;
2747
+ 409: string;
2152
2748
  };
2153
- export type GetTagResponses = {
2749
+ export type UpdateChartError = UpdateChartErrors[keyof UpdateChartErrors];
2750
+ export type UpdateChartResponses = {
2154
2751
  /**
2155
- * Tag details
2752
+ * Successfully updated.
2156
2753
  */
2157
- 200: RegistryTag;
2754
+ 200: string;
2158
2755
  };
2159
- export type GetTagResponse = GetTagResponses[keyof GetTagResponses];
2160
- export type ListTicketsData = {
2756
+ export type UpdateChartResponse = UpdateChartResponses[keyof UpdateChartResponses];
2757
+ export type ListClustersData = {
2161
2758
  body?: never;
2162
2759
  path?: never;
2163
2760
  query?: never;
2164
- url: '/tickets';
2761
+ url: '/clusters';
2165
2762
  };
2166
- export type ListTicketsResponses = {
2763
+ export type ListClustersErrors = {
2167
2764
  /**
2168
- * Tickets for the organization.
2765
+ * Not authenticated
2169
2766
  */
2170
- 200: TicketListResponse;
2767
+ 401: unknown;
2171
2768
  };
2172
- export type ListTicketsResponse = ListTicketsResponses[keyof ListTicketsResponses];
2173
- export type CreateTicketData = {
2174
- body: {
2175
- /**
2176
- * JSON-encoded TicketCreateInput.
2177
- */
2178
- payload?: string;
2179
- attachments?: Array<Blob | File>;
2180
- };
2769
+ export type ListClustersResponses = {
2770
+ /**
2771
+ * An array of clusters
2772
+ */
2773
+ 200: Array<Cluster>;
2774
+ };
2775
+ export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
2776
+ export type CreateClusterData = {
2777
+ body: ClusterCreateInput;
2181
2778
  path?: never;
2182
2779
  query?: never;
2183
- url: '/tickets';
2780
+ url: '/clusters';
2184
2781
  };
2185
- export type CreateTicketResponses = {
2782
+ export type CreateClusterErrors = {
2186
2783
  /**
2187
- * Ticket created.
2784
+ * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
2188
2785
  */
2189
- 200: Ticket;
2786
+ 402: string;
2190
2787
  };
2191
- export type CreateTicketResponse = CreateTicketResponses[keyof CreateTicketResponses];
2192
- export type CloseTicketData = {
2788
+ export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
2789
+ export type CreateClusterResponses = {
2790
+ /**
2791
+ * Successfully created. Returns created Cluster ID.
2792
+ */
2793
+ 200: string;
2794
+ };
2795
+ export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
2796
+ export type DeleteClusterData = {
2193
2797
  body?: never;
2194
2798
  path: {
2195
- ticket_id: string;
2799
+ /**
2800
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2801
+ */
2802
+ cluster_id: string;
2196
2803
  };
2197
2804
  query?: never;
2198
- url: '/tickets/{ticket_id}';
2805
+ url: '/clusters/{cluster_id}';
2199
2806
  };
2200
- export type CloseTicketResponses = {
2807
+ export type DeleteClusterErrors = {
2201
2808
  /**
2202
- * Ticket closed.
2809
+ * Cluster not found; it does not exist or has already been deleted.
2203
2810
  */
2204
- 200: Ticket;
2811
+ 404: unknown;
2812
+ /**
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.
2814
+ */
2815
+ 409: string;
2816
+ /**
2817
+ * Transient failure tearing down the cluster; retry the request.
2818
+ */
2819
+ 503: unknown;
2205
2820
  };
2206
- export type CloseTicketResponse = CloseTicketResponses[keyof CloseTicketResponses];
2207
- export type GetTicketData = {
2821
+ export type DeleteClusterError = DeleteClusterErrors[keyof DeleteClusterErrors];
2822
+ export type DeleteClusterResponses = {
2823
+ /**
2824
+ * Successfully deleted. The cluster has been torn down.
2825
+ */
2826
+ 200: string;
2827
+ };
2828
+ export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
2829
+ export type GetClusterData = {
2208
2830
  body?: never;
2209
2831
  path: {
2210
- ticket_id: string;
2832
+ /**
2833
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2834
+ */
2835
+ cluster_id: string;
2211
2836
  };
2212
2837
  query?: never;
2213
- url: '/tickets/{ticket_id}';
2838
+ url: '/clusters/{cluster_id}';
2214
2839
  };
2215
- export type GetTicketResponses = {
2840
+ export type GetClusterResponses = {
2216
2841
  /**
2217
- * Ticket with messages (internal notes excluded).
2842
+ * Returns a single object containing cluster details.
2218
2843
  */
2219
- 200: Ticket;
2844
+ 200: Cluster;
2220
2845
  };
2221
- export type GetTicketResponse = GetTicketResponses[keyof GetTicketResponses];
2222
- export type ReplyTicketData = {
2223
- body: {
2846
+ export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
2847
+ export type UpdateClusterData = {
2848
+ body: ClusterUpdateInput;
2849
+ path: {
2224
2850
  /**
2225
- * JSON-encoded TicketMessageInput.
2851
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2226
2852
  */
2227
- payload?: string;
2228
- attachments?: Array<Blob | File>;
2229
- };
2230
- path: {
2231
- ticket_id: string;
2853
+ cluster_id: string;
2232
2854
  };
2233
2855
  query?: never;
2234
- url: '/tickets/{ticket_id}/messages';
2235
- };
2236
- export type ReplyTicketErrors = {
2237
- /**
2238
- * Ticket is closed. Open a new ticket instead.
2239
- */
2240
- 409: unknown;
2856
+ url: '/clusters/{cluster_id}';
2241
2857
  };
2242
- export type ReplyTicketResponses = {
2858
+ export type UpdateClusterErrors = {
2243
2859
  /**
2244
- * Reply appended.
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.
2245
2861
  */
2246
- 200: TicketMessage;
2862
+ 409: string;
2247
2863
  };
2248
- export type ReplyTicketResponse = ReplyTicketResponses[keyof ReplyTicketResponses];
2249
- export type GetTicketAttachmentData = {
2250
- body?: never;
2251
- path: {
2252
- ticket_id: string;
2253
- attachment_id: string;
2254
- };
2255
- query?: never;
2256
- url: '/tickets/{ticket_id}/attachments/{attachment_id}';
2257
- };
2258
- export type GetTicketAttachmentResponses = {
2864
+ export type UpdateClusterError = UpdateClusterErrors[keyof UpdateClusterErrors];
2865
+ export type UpdateClusterResponses = {
2259
2866
  /**
2260
- * Attachment binary stream.
2867
+ * Successfully updated. Returns updated cluster details.
2261
2868
  */
2262
- 200: Blob | File;
2869
+ 200: Cluster;
2263
2870
  };
2264
- export type GetTicketAttachmentResponse = GetTicketAttachmentResponses[keyof GetTicketAttachmentResponses];
2265
- export type ListTokensData = {
2871
+ export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
2872
+ export type GetJoinInformationData = {
2266
2873
  body?: never;
2267
- path?: never;
2874
+ path: {
2875
+ /**
2876
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2877
+ */
2878
+ cluster_id: string;
2879
+ };
2268
2880
  query?: never;
2269
- url: '/tokens';
2881
+ url: '/clusters/{cluster_id}/join_information';
2270
2882
  };
2271
- export type ListTokensErrors = {
2883
+ export type GetJoinInformationErrors = {
2272
2884
  /**
2273
2885
  * Not authenticated
2274
2886
  */
2275
2887
  401: unknown;
2888
+ /**
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.
2890
+ */
2891
+ 409: string;
2892
+ /**
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.
2894
+ */
2895
+ 426: string;
2276
2896
  };
2277
- export type ListTokensResponses = {
2897
+ export type GetJoinInformationError = GetJoinInformationErrors[keyof GetJoinInformationErrors];
2898
+ export type GetJoinInformationResponses = {
2278
2899
  /**
2279
- * Returns a list of access token details with masked secrets.
2900
+ * An object of cluster join information
2280
2901
  */
2281
- 200: Array<Token>;
2902
+ 200: ClusterJoinInformation;
2282
2903
  };
2283
- export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
2284
- export type CreateTokenData = {
2285
- body: TokenCreateInput;
2904
+ export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
2905
+ export type GetUsageData = {
2906
+ body?: never;
2286
2907
  path?: never;
2287
- query?: never;
2288
- 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';
2289
2915
  };
2290
- export type CreateTokenErrors = {
2916
+ export type GetUsageErrors = {
2291
2917
  /**
2292
2918
  * Not authenticated
2293
2919
  */
2294
2920
  401: unknown;
2295
2921
  };
2296
- export type CreateTokenResponses = {
2922
+ export type GetUsageResponses = {
2297
2923
  /**
2298
- * Successfully created. Returns created token details with unmasked/raw secret.
2924
+ * Usage data with facets for filtering
2299
2925
  */
2300
- 200: Token;
2926
+ 200: UsageResponse;
2301
2927
  };
2302
- export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
2303
- export type DeleteTokenData = {
2928
+ export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
2929
+ export type GetPaymentMethodSecretData = {
2304
2930
  body?: never;
2305
- path: {
2306
- /**
2307
- * Generated unique identifier of the access token.
2308
- */
2309
- token_id: string;
2310
- };
2931
+ path?: never;
2311
2932
  query?: never;
2312
- url: '/tokens/{token_id}';
2933
+ url: '/billing/payment-method';
2313
2934
  };
2314
- export type DeleteTokenResponses = {
2935
+ export type GetPaymentMethodSecretResponses = {
2315
2936
  /**
2316
- * Successfully deleted.
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
+ *
2317
2939
  */
2318
- 200: unknown;
2319
- };
2320
- export type GetTokenData = {
2321
- body?: never;
2322
- path: {
2940
+ 200: {
2323
2941
  /**
2324
- * Generated unique identifier of the access token.
2942
+ * The client secret.
2325
2943
  */
2326
- token_id: string;
2944
+ id?: string;
2327
2945
  };
2946
+ };
2947
+ export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
2948
+ export type ListPaymentMethodsData = {
2949
+ body?: never;
2950
+ path?: never;
2328
2951
  query?: never;
2329
- url: '/tokens/{token_id}';
2952
+ url: '/billing/payment-methods';
2330
2953
  };
2331
- export type GetTokenErrors = {
2954
+ export type ListPaymentMethodsErrors = {
2332
2955
  /**
2333
2956
  * Not authenticated
2334
2957
  */
2335
2958
  401: unknown;
2336
2959
  };
2337
- export type GetTokenResponses = {
2960
+ export type ListPaymentMethodsResponses = {
2338
2961
  /**
2339
- * Returns access token details with masked secret.
2962
+ * An array of payment methods.
2340
2963
  */
2341
- 200: Token;
2964
+ 200: Array<PaymentMethod>;
2342
2965
  };
2343
- export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
2344
- export type UpdateTokenData = {
2345
- body: TokenUpdateInput;
2966
+ export type ListPaymentMethodsResponse = ListPaymentMethodsResponses[keyof ListPaymentMethodsResponses];
2967
+ export type SetDefaultPaymentMethodData = {
2968
+ body?: never;
2346
2969
  path: {
2347
2970
  /**
2348
- * Generated unique identifier of the access token.
2971
+ * Stripe payment method identifier.
2349
2972
  */
2350
- token_id: string;
2973
+ paymentMethodId: string;
2351
2974
  };
2352
2975
  query?: never;
2353
- url: '/tokens/{token_id}';
2976
+ url: '/billing/payment-methods/{paymentMethodId}/default';
2354
2977
  };
2355
- export type UpdateTokenErrors = {
2978
+ export type SetDefaultPaymentMethodErrors = {
2979
+ /**
2980
+ * The bank transfer payment method cannot be set as the default.
2981
+ */
2982
+ 400: unknown;
2356
2983
  /**
2357
2984
  * Not authenticated
2358
2985
  */
2359
2986
  401: unknown;
2987
+ /**
2988
+ * Payment method not found.
2989
+ */
2990
+ 404: unknown;
2360
2991
  };
2361
- export type UpdateTokenResponses = {
2992
+ export type SetDefaultPaymentMethodResponses = {
2362
2993
  /**
2363
- * Successfully updated. Returns updated token details with masked secret.
2994
+ * Default payment method updated.
2364
2995
  */
2365
- 200: Token;
2996
+ 204: void;
2366
2997
  };
2367
- export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
2368
- export type RegenerateTokenData = {
2998
+ export type SetDefaultPaymentMethodResponse = SetDefaultPaymentMethodResponses[keyof SetDefaultPaymentMethodResponses];
2999
+ export type DeletePaymentMethodData = {
2369
3000
  body?: never;
2370
3001
  path: {
2371
3002
  /**
2372
- * Generated unique identifier of the access token.
3003
+ * Stripe payment method identifier.
2373
3004
  */
2374
- token_id: string;
3005
+ paymentMethodId: string;
2375
3006
  };
2376
3007
  query?: never;
2377
- url: '/tokens/{token_id}/secret';
3008
+ url: '/billing/payment-methods/{paymentMethodId}';
2378
3009
  };
2379
- export type RegenerateTokenErrors = {
3010
+ export type DeletePaymentMethodErrors = {
3011
+ /**
3012
+ * The bank transfer payment method cannot be removed.
3013
+ */
3014
+ 400: unknown;
2380
3015
  /**
2381
3016
  * Not authenticated
2382
3017
  */
2383
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;
2384
3027
  };
2385
- export type RegenerateTokenResponses = {
3028
+ export type DeletePaymentMethodResponses = {
2386
3029
  /**
2387
- * Successfully updated. Returns updated token details with unmasked / raw secret.
3030
+ * Payment method deleted.
2388
3031
  */
2389
- 200: Token;
3032
+ 204: void;
2390
3033
  };
2391
- export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
2392
- export type ListUserOrganizationsData = {
3034
+ export type DeletePaymentMethodResponse = DeletePaymentMethodResponses[keyof DeletePaymentMethodResponses];
3035
+ export type ListInvoicesData = {
2393
3036
  body?: never;
2394
- path: {
2395
- /**
2396
- * User email address.
2397
- */
2398
- email: string;
2399
- };
3037
+ path?: never;
2400
3038
  query?: never;
2401
- url: '/users/organizations/{email}';
3039
+ url: '/billing/invoices';
2402
3040
  };
2403
- export type ListUserOrganizationsResponses = {
3041
+ export type ListInvoicesErrors = {
2404
3042
  /**
2405
- * An array of organizations the user belongs to.
3043
+ * Not authenticated
2406
3044
  */
2407
- 200: Array<{
2408
- /**
2409
- * Unique identifier of the organization. UUID v4 string in canonical form
2410
- */
2411
- realm?: string;
2412
- /**
2413
- * Human-readable name of the organization
2414
- */
2415
- displayName?: string;
2416
- }>;
3045
+ 401: unknown;
2417
3046
  };
2418
- export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
2419
- 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 = {
2420
3055
  body?: never;
2421
3056
  path?: never;
2422
3057
  query?: never;
2423
- url: '/users';
3058
+ url: '/billing/invoices/pay';
2424
3059
  };
2425
- export type ListUsersErrors = {
3060
+ export type PayOpenInvoicesErrors = {
3061
+ /**
3062
+ * The organization has no payment method that can be charged.
3063
+ */
3064
+ 400: unknown;
2426
3065
  /**
2427
3066
  * Not authenticated
2428
3067
  */
2429
3068
  401: unknown;
3069
+ /**
3070
+ * Too many payment attempts for this organization.
3071
+ */
3072
+ 429: unknown;
2430
3073
  };
2431
- export type ListUsersResponses = {
3074
+ export type PayOpenInvoicesResponses = {
2432
3075
  /**
2433
- * An array of users
3076
+ * The outcome of the attempt.
2434
3077
  */
2435
- 200: Array<User>;
3078
+ 200: InvoicePaymentResult;
2436
3079
  };
2437
- export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
2438
- export type CreateUserData = {
2439
- body: UserCreateInput;
3080
+ export type PayOpenInvoicesResponse = PayOpenInvoicesResponses[keyof PayOpenInvoicesResponses];
3081
+ export type GetContactData = {
3082
+ body?: never;
2440
3083
  path?: never;
2441
3084
  query?: never;
2442
- url: '/users';
3085
+ url: '/billing/contact';
2443
3086
  };
2444
- export type CreateUserResponses = {
3087
+ export type GetContactResponses = {
2445
3088
  /**
2446
- * Successfully created. Returns created user details.
3089
+ * Returns a single object containing organization contact and billing address details.
2447
3090
  */
2448
- 200: User;
3091
+ 200: BillingContact;
2449
3092
  };
2450
- export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
2451
- export type DeleteUserData = {
2452
- body?: never;
2453
- path: {
2454
- /**
2455
- * Unique user identifier. UUID v4 string in canonical form
2456
- */
2457
- user_id: string;
2458
- };
3093
+ export type GetContactResponse = GetContactResponses[keyof GetContactResponses];
3094
+ export type UpdateContactData = {
3095
+ body: BillingContact;
3096
+ path?: never;
2459
3097
  query?: never;
2460
- url: '/users/{user_id}';
3098
+ url: '/billing/contact';
2461
3099
  };
2462
- export type DeleteUserErrors = {
3100
+ export type UpdateContactResponses = {
2463
3101
  /**
2464
- * Deleting own user is not allowed. Delete your organization instead.
3102
+ * Successfully updated. Returns updated organization details.
2465
3103
  */
2466
- 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 = {
2467
3114
  /**
2468
3115
  * Not authenticated
2469
3116
  */
2470
3117
  401: unknown;
2471
3118
  };
2472
- export type DeleteUserResponses = {
3119
+ export type GetCreditsResponses = {
2473
3120
  /**
2474
- * User profile information
3121
+ * An array of the applied promotional credits records.
2475
3122
  */
2476
- 200: User;
3123
+ 200: Array<BillingCredits>;
2477
3124
  };
2478
- export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
2479
- export type GetUserData = {
2480
- body?: never;
2481
- path: {
3125
+ export type GetCreditsResponse = GetCreditsResponses[keyof GetCreditsResponses];
3126
+ export type RedeemCreditsData = {
3127
+ body: {
2482
3128
  /**
2483
- * Unique user identifier. UUID v4 string in canonical form
3129
+ * Promotional code to redeem
2484
3130
  */
2485
- user_id: string;
3131
+ code?: string;
2486
3132
  };
3133
+ path?: never;
2487
3134
  query?: never;
2488
- url: '/users/{user_id}';
3135
+ url: '/billing/credits';
2489
3136
  };
2490
- export type GetUserErrors = {
3137
+ export type RedeemCreditsErrors = {
2491
3138
  /**
2492
3139
  * Not authenticated
2493
3140
  */
2494
3141
  401: unknown;
2495
3142
  };
2496
- export type GetUserResponses = {
2497
- /**
2498
- * User profile information
2499
- */
2500
- 200: User;
2501
- };
2502
- export type GetUserResponse = GetUserResponses[keyof GetUserResponses];
2503
- export type UpdateUserData = {
2504
- body: UserUpdateInput;
2505
- path: {
2506
- /**
2507
- * Unique user identifier. UUID v4 string in canonical form
2508
- */
2509
- user_id: string;
2510
- };
2511
- query?: never;
2512
- url: '/users/{user_id}';
2513
- };
2514
- export type UpdateUserResponses = {
3143
+ export type RedeemCreditsResponses = {
2515
3144
  /**
2516
- * Successfully created. Returns created user details.
3145
+ * Successfully created a new organization.
2517
3146
  */
2518
- 200: User;
3147
+ 200: unknown;
2519
3148
  };
2520
- export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
2521
3149
  //# sourceMappingURL=types.gen.d.ts.map