@cloudfleet/sdk 0.0.1-13073f9 → 0.0.1-133c911

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +26 -2
  2. package/dist/@tanstack/react-query.gen.d.ts +1026 -0
  3. package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
  4. package/dist/@tanstack/react-query.gen.js +1194 -0
  5. package/dist/@tanstack/react-query.gen.js.map +1 -0
  6. package/dist/client/client.gen.d.ts.map +1 -1
  7. package/dist/client/client.gen.js +114 -102
  8. package/dist/client/client.gen.js.map +1 -1
  9. package/dist/client/index.d.ts +1 -1
  10. package/dist/client/index.d.ts.map +1 -1
  11. package/dist/client/index.js.map +1 -1
  12. package/dist/client/types.gen.d.ts +9 -13
  13. package/dist/client/types.gen.d.ts.map +1 -1
  14. package/dist/client/utils.gen.d.ts +8 -4
  15. package/dist/client/utils.gen.d.ts.map +1 -1
  16. package/dist/client/utils.gen.js +13 -15
  17. package/dist/client/utils.gen.js.map +1 -1
  18. package/dist/client.gen.d.ts.map +1 -1
  19. package/dist/client.gen.js +1 -3
  20. package/dist/client.gen.js.map +1 -1
  21. package/dist/core/auth.gen.d.ts.map +1 -1
  22. package/dist/core/auth.gen.js.map +1 -1
  23. package/dist/core/bodySerializer.gen.d.ts +16 -8
  24. package/dist/core/bodySerializer.gen.d.ts.map +1 -1
  25. package/dist/core/bodySerializer.gen.js +1 -1
  26. package/dist/core/bodySerializer.gen.js.map +1 -1
  27. package/dist/core/params.gen.d.ts +10 -0
  28. package/dist/core/params.gen.d.ts.map +1 -1
  29. package/dist/core/params.gen.js +22 -10
  30. package/dist/core/params.gen.js.map +1 -1
  31. package/dist/core/pathSerializer.gen.d.ts.map +1 -1
  32. package/dist/core/pathSerializer.gen.js +3 -11
  33. package/dist/core/pathSerializer.gen.js.map +1 -1
  34. package/dist/core/queryKeySerializer.gen.d.ts.map +1 -1
  35. package/dist/core/queryKeySerializer.gen.js +4 -11
  36. package/dist/core/queryKeySerializer.gen.js.map +1 -1
  37. package/dist/core/serverSentEvents.gen.d.ts +1 -1
  38. package/dist/core/serverSentEvents.gen.d.ts.map +1 -1
  39. package/dist/core/serverSentEvents.gen.js +6 -9
  40. package/dist/core/serverSentEvents.gen.js.map +1 -1
  41. package/dist/core/types.gen.d.ts +1 -1
  42. package/dist/core/types.gen.d.ts.map +1 -1
  43. package/dist/core/utils.gen.d.ts.map +1 -1
  44. package/dist/core/utils.gen.js +1 -1
  45. package/dist/core/utils.gen.js.map +1 -1
  46. package/dist/schemas.gen.d.ts +1294 -170
  47. package/dist/schemas.gen.d.ts.map +1 -1
  48. package/dist/schemas.gen.js +2733 -239
  49. package/dist/schemas.gen.js.map +1 -1
  50. package/dist/sdk.gen.d.ts +259 -190
  51. package/dist/sdk.gen.d.ts.map +1 -1
  52. package/dist/sdk.gen.js +374 -375
  53. package/dist/sdk.gen.js.map +1 -1
  54. package/dist/services/kubernetes/api.d.ts +8 -8
  55. package/dist/types.gen.d.ts +1616 -661
  56. package/dist/types.gen.d.ts.map +1 -1
  57. package/dist/zod.gen.d.ts +3563 -1422
  58. package/dist/zod.gen.d.ts.map +1 -1
  59. package/dist/zod.gen.js +1447 -620
  60. package/dist/zod.gen.js.map +1 -1
  61. package/package.json +28 -8
@@ -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
  */
@@ -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';
171
- /**
172
- * Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.
173
- */
174
- region?: 'staging' | 'northamerica-central-1' | 'europe-central-1a' | 'northamerica-central-1a';
177
+ tier?: 'basic' | 'pro' | 'enterprise';
175
178
  /**
176
179
  * Version of the kubernetes cluster.
177
180
  */
178
181
  version_channel?: string;
182
+ /**
183
+ * Release channel for the cluster's control plane.
184
+ */
185
+ release_channel?: 'rapid' | 'stable' | 'extended';
186
+ /**
187
+ * Cluster feature toggles.
188
+ */
189
+ features?: {
190
+ /**
191
+ * GPU sharing strategy.
192
+ */
193
+ gpu_sharing_strategy?: 'none' | 'mps' | 'time_slicing';
194
+ /**
195
+ * Maximum number of pods that may share a single GPU.
196
+ */
197
+ gpu_max_shared_clients_per_gpu?: number;
198
+ /**
199
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
200
+ */
201
+ cilium_socket_lb_host_namespace_only?: boolean;
202
+ };
203
+ /**
204
+ * Cloudfleet control plane region. This field can not be updated after creation.
205
+ */
206
+ region: string;
207
+ /**
208
+ * Cluster networking configuration. Immutable after creation.
209
+ */
210
+ networking?: {
211
+ /**
212
+ * CIDR block for pod IPs.
213
+ */
214
+ pod_cidr?: string;
215
+ /**
216
+ * CIDR block for service IPs.
217
+ */
218
+ service_cidr?: string;
219
+ /**
220
+ * Enable IPv4+IPv6 dual-stack networking.
221
+ */
222
+ dual_stack?: boolean;
223
+ /**
224
+ * IPv6 pod CIDR. Requires dual_stack.
225
+ */
226
+ pod_cidr_v6?: string;
227
+ /**
228
+ * IPv6 service CIDR. Requires dual_stack.
229
+ */
230
+ service_cidr_v6?: string;
231
+ };
179
232
  };
180
233
  export type ClusterJoinInformation = {
181
234
  /**
@@ -186,10 +239,22 @@ export type ClusterJoinInformation = {
186
239
  * Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.
187
240
  */
188
241
  endpoint: string;
242
+ /**
243
+ * Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.
244
+ */
245
+ cluster_dns: string;
246
+ /**
247
+ * Pod CIDR for the cluster. Used to configure iptables rules on nodes to prevent Tailscale routing loops.
248
+ */
249
+ pod_cidr: string;
189
250
  /**
190
251
  * Authentication key for the cluster.
191
252
  */
192
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;
193
258
  /**
194
259
  * Bootstrap token for the cluster.
195
260
  */
@@ -233,6 +298,9 @@ export type ClusterJoinInformation = {
233
298
  gcp_workload_identity_provider: string;
234
299
  };
235
300
  };
301
+ /**
302
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
303
+ */
236
304
  export type Cluster = {
237
305
  /**
238
306
  * Name of the cluster.
@@ -241,24 +309,71 @@ export type Cluster = {
241
309
  /**
242
310
  * Tier of the cluster.
243
311
  */
244
- tier: 'basic' | 'pro';
312
+ tier: 'basic' | 'pro' | 'enterprise';
245
313
  /**
246
- * Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.
314
+ * Version of the kubernetes cluster.
247
315
  */
248
- region?: 'staging' | 'northamerica-central-1' | 'europe-central-1a' | 'northamerica-central-1a';
316
+ version_channel: string;
249
317
  /**
250
- * Version of the kubernetes cluster.
318
+ * Release channel for the cluster's control plane.
251
319
  */
252
- version_channel?: string;
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;
342
+ /**
343
+ * Cluster networking configuration. Immutable after creation.
344
+ */
345
+ networking: {
346
+ /**
347
+ * CIDR block for pod IPs.
348
+ */
349
+ pod_cidr: string;
350
+ /**
351
+ * CIDR block for service IPs.
352
+ */
353
+ service_cidr: string;
354
+ /**
355
+ * Enable IPv4+IPv6 dual-stack networking.
356
+ */
357
+ dual_stack: boolean;
358
+ /**
359
+ * IPv6 pod CIDR. Requires dual_stack.
360
+ */
361
+ pod_cidr_v6: string;
362
+ /**
363
+ * IPv6 service CIDR. Requires dual_stack.
364
+ */
365
+ service_cidr_v6: string;
366
+ };
253
367
  /**
254
368
  * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
255
369
  */
256
370
  id: string;
257
371
  /**
258
- * Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.
372
+ * Status of the cluster.
259
373
  */
260
- status: 'active' | 'disabled' | 'deleted' | 'creating' | 'deployed' | 'failed' | 'updating';
374
+ status: 'creating' | 'deployed' | 'updating' | 'disabled';
261
375
  endpoint?: string | '';
376
+ endpoint_public?: string | '';
262
377
  /**
263
378
  * Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.
264
379
  */
@@ -278,125 +393,310 @@ export type Cluster = {
278
393
  /**
279
394
  * Indicates if the cluster is ready to be used.
280
395
  */
281
- ready?: boolean;
396
+ ready: boolean;
282
397
  };
398
+ /**
399
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
400
+ */
283
401
  export type ClusterUpdateInput = {
284
402
  /**
285
403
  * Name of the cluster.
286
404
  */
287
- name?: string;
405
+ name: string;
288
406
  /**
289
407
  * Tier of the cluster.
290
408
  */
291
- tier: 'basic' | 'pro';
409
+ tier?: 'basic' | 'pro' | 'enterprise';
292
410
  /**
293
411
  * Version of the kubernetes cluster.
294
412
  */
295
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
+ };
296
435
  };
436
+ /**
437
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
438
+ */
297
439
  export type FleetCreateInput = {
298
440
  /**
299
441
  * Limits define a set of bounds for provisioning capacity.
300
442
  */
301
443
  limits?: {
302
444
  /**
303
- * CPU limit in cores.
445
+ * CPU limit in cores. Maximum 100,000.
304
446
  */
305
- cpu: number;
447
+ cpu?: number;
306
448
  };
307
449
  gcp?: {
308
- enabled?: boolean;
450
+ enabled: boolean;
309
451
  /**
310
- * 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.
311
453
  */
312
- project: string;
454
+ project?: string;
313
455
  };
314
456
  hetzner?: {
315
- enabled?: boolean;
457
+ enabled: boolean;
316
458
  /**
317
- * 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.
318
460
  */
319
- apiKey: string;
461
+ apiKey?: string;
320
462
  };
321
463
  aws?: {
322
- enabled?: boolean;
464
+ enabled: boolean;
323
465
  /**
324
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
466
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
325
467
  */
326
- controllerRoleArn: string;
468
+ controllerRoleArn?: string;
327
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'>;
478
+ /**
479
+ * Allowed values for `kubernetes.io/arch`.
480
+ */
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'>;
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
+ }>;
328
512
  /**
329
513
  * Unique identifier of the kubernetes fleet.
330
514
  */
331
515
  id: string;
332
516
  };
517
+ /**
518
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
519
+ */
333
520
  export type Fleet = {
334
521
  /**
335
522
  * Limits define a set of bounds for provisioning capacity.
336
523
  */
337
524
  limits?: {
338
525
  /**
339
- * CPU limit in cores.
526
+ * CPU limit in cores. Maximum 100,000.
340
527
  */
341
- cpu: number;
528
+ cpu?: number;
342
529
  };
343
530
  gcp?: {
344
- enabled?: boolean;
531
+ enabled: boolean;
345
532
  /**
346
- * 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.
347
534
  */
348
- project: string;
535
+ project?: string;
349
536
  };
350
537
  hetzner?: {
351
- enabled?: boolean;
538
+ enabled: boolean;
352
539
  /**
353
- * 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.
354
541
  */
355
- apiKey: string;
542
+ apiKey?: string;
356
543
  };
357
544
  aws?: {
358
- 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'>;
563
+ /**
564
+ * Allowed values for `cfke.io/instance-family`.
565
+ */
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'>;
359
567
  /**
360
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
568
+ * Allowed values for `topology.kubernetes.io/region`.
361
569
  */
362
- controllerRoleArn: string;
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'>;
363
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
+ }>;
364
593
  /**
365
594
  * Unique identifier of the kubernetes fleet.
366
595
  */
367
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;
368
613
  };
614
+ /**
615
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
616
+ */
369
617
  export type FleetUpdateInput = {
370
618
  /**
371
619
  * Limits define a set of bounds for provisioning capacity.
372
620
  */
373
621
  limits?: {
374
622
  /**
375
- * CPU limit in cores.
623
+ * CPU limit in cores. Maximum 100,000.
376
624
  */
377
- cpu: number;
625
+ cpu?: number;
378
626
  };
379
627
  gcp?: {
380
- enabled?: boolean;
628
+ enabled: boolean;
381
629
  /**
382
- * 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.
383
631
  */
384
- project: string;
632
+ project?: string;
385
633
  };
386
634
  hetzner?: {
387
- enabled?: boolean;
635
+ enabled: boolean;
388
636
  /**
389
- * 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.
390
638
  */
391
- apiKey: string;
639
+ apiKey?: string;
392
640
  };
393
641
  aws?: {
394
- 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'>;
395
660
  /**
396
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
661
+ * Allowed values for `cfke.io/instance-family`.
397
662
  */
398
- controllerRoleArn: string;
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'>;
664
+ /**
665
+ * Allowed values for `topology.kubernetes.io/region`.
666
+ */
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'>;
399
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';
400
700
  };
401
701
  export type Invite = {
402
702
  /**
@@ -419,10 +719,95 @@ export type Invite = {
419
719
  * Generated unique invite code.
420
720
  */
421
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
+ }>;
422
807
  };
423
808
  export type Invoice = {
424
809
  /**
425
- * Unique identifier of the invoice. UUID v4 string in canonical form
810
+ * Unique identifier of the invoice.
426
811
  */
427
812
  id?: string;
428
813
  number?: string;
@@ -452,52 +837,97 @@ export type Invoice = {
452
837
  period_end: string;
453
838
  invoice_pdf?: string;
454
839
  };
455
- export type MarketplaceListing = {
840
+ export type MarketplaceListingFiles = {
456
841
  /**
457
- * Id of the chart listing
842
+ * Raw Chart.yaml content from the Helm chart
458
843
  */
459
- id: string;
844
+ chartYaml?: string;
460
845
  /**
461
- * Name of the chart listing
846
+ * Raw values.yaml content from the Helm chart
462
847
  */
463
- name: string;
848
+ valuesYaml?: string;
849
+ /**
850
+ * JSON schema for values.yaml as a string
851
+ */
852
+ valuesSchemaJson?: string;
853
+ };
854
+ export type MarketplaceListing = {
464
855
  /**
465
- * Author of the chart listing
856
+ * Name of the chart
466
857
  */
467
- developer: string;
858
+ name: string;
468
859
  /**
469
- * Short description of the chart listing
860
+ * Available versions of the chart
470
861
  */
471
- description: string;
862
+ versions: Array<string>;
472
863
  /**
473
- * Logo of the chart listing
864
+ * Version channels for the chart
474
865
  */
475
- logoUrl: string;
866
+ version_channels: Array<string>;
476
867
  /**
477
- * Long description of the chart listing
868
+ * Latest version of the chart
478
869
  */
479
- longDescription: string;
870
+ latestVersion: string;
480
871
  /**
481
- * Tags of the chart
872
+ * Chart metadata
482
873
  */
483
- categories: Array<string>;
484
- version_channels: Array<string>;
485
- value_schemas: Array<{
874
+ metadata?: {
875
+ /**
876
+ * Chart name from metadata
877
+ */
878
+ name: string;
486
879
  /**
487
- * Version of the chart.
880
+ * Chart version from metadata
488
881
  */
489
882
  version: string;
490
883
  /**
491
- * Schema of the chart values. JSON Schema as string
884
+ * Chart description
492
885
  */
493
- schema: string;
886
+ description?: string;
494
887
  /**
495
- * Schema of the chart values
888
+ * Application version
496
889
  */
497
- placeholder: string;
498
- }>;
890
+ appVersion?: string;
891
+ /**
892
+ * Helm API version
893
+ */
894
+ apiVersion?: string;
895
+ /**
896
+ * Chart keywords
897
+ */
898
+ keywords?: Array<string>;
899
+ /**
900
+ * Chart home URL
901
+ */
902
+ home?: string;
903
+ /**
904
+ * A URL to an SVG or PNG image to be used as an icon
905
+ */
906
+ icon?: string;
907
+ /**
908
+ * Chart source URLs
909
+ */
910
+ sources?: Array<string>;
911
+ /**
912
+ * Chart maintainers
913
+ */
914
+ maintainers?: Array<{
915
+ /**
916
+ * Maintainer name
917
+ */
918
+ name: string;
919
+ /**
920
+ * Maintainer email
921
+ */
922
+ email?: string;
923
+ }>;
924
+ };
499
925
  };
500
926
  export type OrganizationCreateInput = {
927
+ /**
928
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
929
+ */
930
+ type: 'business' | 'personal';
501
931
  /**
502
932
  * Email address used for billing as a string.
503
933
  */
@@ -519,6 +949,12 @@ export type OrganizationCreateInput = {
519
949
  */
520
950
  password: string;
521
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
+ };
522
958
  export type Organization = {
523
959
  /**
524
960
  * Unique identifier of the organization. UUID v4 string in canonical form
@@ -528,6 +964,10 @@ export type Organization = {
528
964
  * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
529
965
  */
530
966
  name?: string;
967
+ /**
968
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
969
+ */
970
+ type: 'business' | 'personal';
531
971
  /**
532
972
  * Creation date of the organization. ISO 8601 date string in UTC timezone
533
973
  */
@@ -552,6 +992,14 @@ export type Organization = {
552
992
  * Available number of Pro clusters that can be created.
553
993
  */
554
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;
555
1003
  /**
556
1004
  * Maximum number of fleets that can be created per cluster.
557
1005
  */
@@ -577,41 +1025,61 @@ export type Organization = {
577
1025
  */
578
1026
  label: string;
579
1027
  }>;
1028
+ /**
1029
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
1030
+ */
1031
+ cfcr_storage_gb: number;
580
1032
  };
581
1033
  /**
582
1034
  * Status of the organization. Can be `active` or `closed`, or `suspended`.
583
1035
  */
584
1036
  status: 'active' | 'closed' | 'suspended';
585
- };
586
- export type PaymentMethod = {
587
1037
  /**
588
- * Unique identifier of the organization. UUID v4 string in canonical form.
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.
589
1039
  */
590
- id: string;
1040
+ verification: 'none' | 'submitted' | 'verified';
1041
+ };
1042
+ export type PaymentMethod = {
591
1043
  /**
592
- * Whether organization payment method was set up and ready to use for payments.
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.
593
1045
  */
594
- setup: boolean;
1046
+ id: string;
595
1047
  /**
596
- * 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.
597
1049
  */
598
- type: 'card';
1050
+ type: 'card' | 'sepa_debit' | 'bank_transfer';
599
1051
  /**
600
- * 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.
601
1053
  */
602
1054
  last4: string;
603
1055
  /**
604
- * 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.
605
1057
  */
606
1058
  exp_month: number;
607
1059
  /**
608
- * 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.
609
1061
  */
610
1062
  exp_year: number;
611
1063
  /**
612
- * 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).
613
1081
  */
614
- brand: 'amex' | 'diners' | 'discover' | 'eftpos_au' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
1082
+ is_default: boolean;
615
1083
  };
616
1084
  export type PlatformQuota = {
617
1085
  /**
@@ -630,6 +1098,14 @@ export type PlatformQuota = {
630
1098
  * Available number of Pro clusters that can be created.
631
1099
  */
632
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;
633
1109
  /**
634
1110
  * Maximum number of fleets that can be created per cluster.
635
1111
  */
@@ -655,6 +1131,10 @@ export type PlatformQuota = {
655
1131
  */
656
1132
  label: string;
657
1133
  }>;
1134
+ /**
1135
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
1136
+ */
1137
+ cfcr_storage_gb: number;
658
1138
  };
659
1139
  export type RegistryRepository = {
660
1140
  /**
@@ -699,6 +1179,10 @@ export type RegistryRepositoryWithTags = {
699
1179
  * Media type of the manifest.
700
1180
  */
701
1181
  mediaType?: string;
1182
+ /**
1183
+ * Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).
1184
+ */
1185
+ platforms?: Array<string>;
702
1186
  }>;
703
1187
  /**
704
1188
  * Total size of all tags in the repository in bytes.
@@ -710,6 +1194,10 @@ export type RegistryTag = {
710
1194
  * Tag name.
711
1195
  */
712
1196
  name: string;
1197
+ /**
1198
+ * Manifest digest for pulling by digest.
1199
+ */
1200
+ digest: string;
713
1201
  /**
714
1202
  * Media type of the manifest.
715
1203
  */
@@ -727,6 +1215,10 @@ export type RegistryTag = {
727
1215
  * Array of layer metadata.
728
1216
  */
729
1217
  layers?: Array<{
1218
+ /**
1219
+ * Digest of the layer.
1220
+ */
1221
+ digest?: string;
730
1222
  /**
731
1223
  * Size of the layer in bytes.
732
1224
  */
@@ -752,7 +1244,28 @@ export type RegistryTag = {
752
1244
  * Operating system of the platform.
753
1245
  */
754
1246
  os: string;
1247
+ /**
1248
+ * Variant of the platform (e.g., v7, v8 for ARM).
1249
+ */
1250
+ variant?: string;
755
1251
  };
1252
+ /**
1253
+ * Layers for this platform.
1254
+ */
1255
+ layers?: Array<{
1256
+ /**
1257
+ * Digest of the layer.
1258
+ */
1259
+ digest?: string;
1260
+ /**
1261
+ * Size of the layer in bytes.
1262
+ */
1263
+ size: number;
1264
+ }>;
1265
+ /**
1266
+ * Total size of this platform manifest in bytes.
1267
+ */
1268
+ size?: number;
756
1269
  }>;
757
1270
  /**
758
1271
  * Total size of the tag in bytes.
@@ -771,6 +1284,173 @@ export type RegistryTag = {
771
1284
  */
772
1285
  uri: string;
773
1286
  };
1287
+ export type TicketAttachment = {
1288
+ /**
1289
+ * Unique identifier of the attachment (Mongo ObjectId).
1290
+ */
1291
+ id: string;
1292
+ /**
1293
+ * Original filename as uploaded.
1294
+ */
1295
+ filename: string;
1296
+ /**
1297
+ * MIME content type of the attachment.
1298
+ */
1299
+ content_type: string;
1300
+ /**
1301
+ * Size of the attachment in bytes.
1302
+ */
1303
+ size: number;
1304
+ };
1305
+ export type TicketCreateInput = {
1306
+ /**
1307
+ * Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.
1308
+ */
1309
+ category: 'billing' | 'technical' | 'general';
1310
+ /**
1311
+ * Initial message body in markdown. There is no separate subject — the first message body is the description.
1312
+ */
1313
+ body: string;
1314
+ /**
1315
+ * Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).
1316
+ */
1317
+ properties?: {
1318
+ [key: string]: unknown;
1319
+ };
1320
+ };
1321
+ export type TicketMessageInput = {
1322
+ /**
1323
+ * Reply body in markdown.
1324
+ */
1325
+ body: string;
1326
+ };
1327
+ export type TicketMessage = {
1328
+ /**
1329
+ * Unique identifier of the message (Mongo ObjectId).
1330
+ */
1331
+ id: string;
1332
+ /**
1333
+ * Message type. Internal notes are filtered out of customer-facing responses.
1334
+ */
1335
+ type: 'customer_reply' | 'agent_reply';
1336
+ /**
1337
+ * Message body in markdown.
1338
+ */
1339
+ body: string;
1340
+ /**
1341
+ * First name of the author. Null when not provided.
1342
+ */
1343
+ author_first_name?: string;
1344
+ /**
1345
+ * Last name of the author. Null when not provided.
1346
+ */
1347
+ author_last_name?: string;
1348
+ /**
1349
+ * Attachments associated with this message.
1350
+ */
1351
+ attachments?: Array<{
1352
+ /**
1353
+ * Unique identifier of the attachment (Mongo ObjectId).
1354
+ */
1355
+ id: string;
1356
+ /**
1357
+ * Original filename as uploaded.
1358
+ */
1359
+ filename: string;
1360
+ /**
1361
+ * MIME content type of the attachment.
1362
+ */
1363
+ content_type: string;
1364
+ /**
1365
+ * Size of the attachment in bytes.
1366
+ */
1367
+ size: number;
1368
+ }>;
1369
+ /**
1370
+ * Creation date of the message. ISO 8601 UTC.
1371
+ */
1372
+ date_created: string;
1373
+ };
1374
+ export type Ticket = {
1375
+ /**
1376
+ * Unique identifier of the ticket (Mongo ObjectId).
1377
+ */
1378
+ id: string;
1379
+ /**
1380
+ * Current state of the ticket.
1381
+ */
1382
+ status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
1383
+ /**
1384
+ * Ticket category.
1385
+ */
1386
+ category: 'billing' | 'technical' | 'general';
1387
+ /**
1388
+ * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
1389
+ */
1390
+ summary: string;
1391
+ /**
1392
+ * Closure timestamp. Null while the ticket is open.
1393
+ */
1394
+ closed_at?: string;
1395
+ /**
1396
+ * Creation date of the ticket. ISO 8601 UTC.
1397
+ */
1398
+ date_created: string;
1399
+ /**
1400
+ * Last update date of the ticket. ISO 8601 UTC.
1401
+ */
1402
+ date_updated: string;
1403
+ /**
1404
+ * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
1405
+ */
1406
+ messages?: Array<{
1407
+ /**
1408
+ * Unique identifier of the message (Mongo ObjectId).
1409
+ */
1410
+ id: string;
1411
+ /**
1412
+ * Message type. Internal notes are filtered out of customer-facing responses.
1413
+ */
1414
+ type: 'customer_reply' | 'agent_reply';
1415
+ /**
1416
+ * Message body in markdown.
1417
+ */
1418
+ body: string;
1419
+ /**
1420
+ * First name of the author. Null when not provided.
1421
+ */
1422
+ author_first_name?: string;
1423
+ /**
1424
+ * Last name of the author. Null when not provided.
1425
+ */
1426
+ author_last_name?: string;
1427
+ /**
1428
+ * Attachments associated with this message.
1429
+ */
1430
+ attachments?: Array<{
1431
+ /**
1432
+ * Unique identifier of the attachment (Mongo ObjectId).
1433
+ */
1434
+ id: string;
1435
+ /**
1436
+ * Original filename as uploaded.
1437
+ */
1438
+ filename: string;
1439
+ /**
1440
+ * MIME content type of the attachment.
1441
+ */
1442
+ content_type: string;
1443
+ /**
1444
+ * Size of the attachment in bytes.
1445
+ */
1446
+ size: number;
1447
+ }>;
1448
+ /**
1449
+ * Creation date of the message. ISO 8601 UTC.
1450
+ */
1451
+ date_created: string;
1452
+ }>;
1453
+ };
774
1454
  export type TokenCreateInput = {
775
1455
  /**
776
1456
  * Human readable access token name.
@@ -821,7 +1501,7 @@ export type UsageFacets = {
821
1501
  /**
822
1502
  * List of unique products
823
1503
  */
824
- product?: Array<string>;
1504
+ 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'>;
825
1505
  };
826
1506
  export type UsageResponse = {
827
1507
  /**
@@ -839,7 +1519,7 @@ export type UsageResponse = {
839
1519
  /**
840
1520
  * The product the usage is associated with
841
1521
  */
842
- product: string;
1522
+ product: 'cfke_controlplane_basic' | 'cfke_controlplane_pro' | 'cfke_controlplane_enterprise' | 'cfke_connected_nodes_basic' | 'cfke_connected_nodes_pro' | 'cfke_connected_nodes_enterprise' | 'cfcr_storage';
843
1523
  /**
844
1524
  * Consumption
845
1525
  */
@@ -864,7 +1544,7 @@ export type UsageResponse = {
864
1544
  /**
865
1545
  * List of unique products
866
1546
  */
867
- product?: Array<string>;
1547
+ 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'>;
868
1548
  };
869
1549
  };
870
1550
  export type Usage = {
@@ -879,7 +1559,7 @@ export type Usage = {
879
1559
  /**
880
1560
  * The product the usage is associated with
881
1561
  */
882
- product: string;
1562
+ product: 'cfke_controlplane_basic' | 'cfke_controlplane_pro' | 'cfke_controlplane_enterprise' | 'cfke_connected_nodes_basic' | 'cfke_connected_nodes_pro' | 'cfke_connected_nodes_enterprise' | 'cfcr_storage';
883
1563
  /**
884
1564
  * Consumption
885
1565
  */
@@ -914,14 +1594,6 @@ export type UserCreateInput = {
914
1594
  * User password. Must be at least 8 characters long.
915
1595
  */
916
1596
  password: string;
917
- /**
918
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
919
- */
920
- status?: 'active' | 'inactive';
921
- /**
922
- * User role. Can be 'Administrator', 'User'.
923
- */
924
- role?: 'Administrator' | 'User';
925
1597
  };
926
1598
  export type User = {
927
1599
  /**
@@ -975,525 +1647,621 @@ export type UserUpdateInput = {
975
1647
  */
976
1648
  status?: 'active' | 'inactive';
977
1649
  };
978
- export type GetUsageData = {
1650
+ export type ListUserOrganizationsData = {
979
1651
  body?: never;
980
- path?: never;
981
- query?: {
1652
+ path: {
982
1653
  /**
983
- * 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)
1654
+ * User email address.
984
1655
  */
985
- granularity?: 'hourly' | 'daily' | 'monthly';
1656
+ email: string;
986
1657
  };
987
- url: '/billing/usage';
988
- };
989
- export type GetUsageErrors = {
990
- /**
991
- * Not authenticated
992
- */
993
- 401: unknown;
1658
+ query?: never;
1659
+ url: '/users/organizations/{email}';
994
1660
  };
995
- export type GetUsageResponses = {
1661
+ export type ListUserOrganizationsResponses = {
996
1662
  /**
997
- * Usage data with facets for filtering
1663
+ * An array of organizations the user belongs to.
998
1664
  */
999
- 200: UsageResponse;
1665
+ 200: Array<{
1666
+ /**
1667
+ * Unique identifier of the organization. UUID v4 string in canonical form
1668
+ */
1669
+ realm?: string;
1670
+ /**
1671
+ * Human-readable name of the organization
1672
+ */
1673
+ displayName?: string;
1674
+ }>;
1000
1675
  };
1001
- export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
1002
- export type GetPaymentMethodData = {
1676
+ export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
1677
+ export type ListUsersData = {
1003
1678
  body?: never;
1004
1679
  path?: never;
1005
1680
  query?: never;
1006
- url: '/billing/payment-method';
1681
+ url: '/users';
1007
1682
  };
1008
- export type GetPaymentMethodErrors = {
1683
+ export type ListUsersErrors = {
1009
1684
  /**
1010
- * Returns 404 Not Found if the organization does not have a payment method set up.
1685
+ * Not authenticated
1011
1686
  */
1012
- 404: unknown;
1687
+ 401: unknown;
1013
1688
  };
1014
- export type GetPaymentMethodResponses = {
1689
+ export type ListUsersResponses = {
1015
1690
  /**
1016
- * Redacted payment card information.
1691
+ * An array of users
1017
1692
  */
1018
- 200: PaymentMethod;
1693
+ 200: Array<User>;
1019
1694
  };
1020
- export type GetPaymentMethodResponse = GetPaymentMethodResponses[keyof GetPaymentMethodResponses];
1021
- export type GetPaymentMethodSecretData = {
1022
- body?: never;
1695
+ export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
1696
+ export type CreateUserData = {
1697
+ body: UserCreateInput;
1023
1698
  path?: never;
1024
1699
  query?: never;
1025
- url: '/billing/payment-method';
1700
+ url: '/users';
1026
1701
  };
1027
- export type GetPaymentMethodSecretResponses = {
1702
+ export type CreateUserResponses = {
1028
1703
  /**
1029
- * 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.
1030
- *
1704
+ * Successfully created. Returns created user details.
1031
1705
  */
1032
- 200: {
1706
+ 200: User;
1707
+ };
1708
+ export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
1709
+ export type DeleteUserData = {
1710
+ body?: never;
1711
+ path: {
1033
1712
  /**
1034
- * The client secret.
1713
+ * Unique user identifier. UUID v4 string in canonical form
1035
1714
  */
1036
- id?: string;
1715
+ user_id: string;
1037
1716
  };
1038
- };
1039
- export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
1040
- export type ListInvoicesData = {
1041
- body?: never;
1042
- path?: never;
1043
1717
  query?: never;
1044
- url: '/billing/invoices';
1718
+ url: '/users/{user_id}';
1045
1719
  };
1046
- export type ListInvoicesErrors = {
1720
+ export type DeleteUserErrors = {
1721
+ /**
1722
+ * Deleting own user is not allowed. Delete your organization instead.
1723
+ */
1724
+ 400: unknown;
1047
1725
  /**
1048
1726
  * Not authenticated
1049
1727
  */
1050
1728
  401: unknown;
1051
1729
  };
1052
- export type ListInvoicesResponses = {
1730
+ export type DeleteUserResponses = {
1053
1731
  /**
1054
- * An array of usage records.
1732
+ * User profile information
1055
1733
  */
1056
- 200: Array<Invoice>;
1734
+ 200: User;
1057
1735
  };
1058
- export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
1059
- export type GetContactData = {
1736
+ export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
1737
+ export type GetUserData = {
1060
1738
  body?: never;
1061
- path?: never;
1739
+ path: {
1740
+ /**
1741
+ * Unique user identifier. UUID v4 string in canonical form
1742
+ */
1743
+ user_id: string;
1744
+ };
1062
1745
  query?: never;
1063
- url: '/billing/contact';
1746
+ url: '/users/{user_id}';
1064
1747
  };
1065
- export type GetContactResponses = {
1748
+ export type GetUserErrors = {
1066
1749
  /**
1067
- * Returns a single object containing organization contact and billing address details.
1750
+ * Not authenticated
1068
1751
  */
1069
- 200: BillingContact;
1070
- };
1071
- export type GetContactResponse = GetContactResponses[keyof GetContactResponses];
1072
- export type UpdateContactData = {
1073
- body: BillingContact;
1074
- path?: never;
1075
- query?: never;
1076
- url: '/billing/contact';
1752
+ 401: unknown;
1077
1753
  };
1078
- export type UpdateContactResponses = {
1754
+ export type GetUserResponses = {
1079
1755
  /**
1080
- * Successfully updated. Returns updated organization details.
1756
+ * User profile information
1081
1757
  */
1082
- 200: BillingContact;
1758
+ 200: User;
1083
1759
  };
1084
- export type UpdateContactResponse = UpdateContactResponses[keyof UpdateContactResponses];
1085
- export type GetCreditsData = {
1760
+ export type GetUserResponse = GetUserResponses[keyof GetUserResponses];
1761
+ export type UpdateUserData = {
1762
+ body: UserUpdateInput;
1763
+ path: {
1764
+ /**
1765
+ * Unique user identifier. UUID v4 string in canonical form
1766
+ */
1767
+ user_id: string;
1768
+ };
1769
+ query?: never;
1770
+ url: '/users/{user_id}';
1771
+ };
1772
+ export type UpdateUserResponses = {
1773
+ /**
1774
+ * Successfully created. Returns created user details.
1775
+ */
1776
+ 200: User;
1777
+ };
1778
+ export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
1779
+ export type ListTokensData = {
1086
1780
  body?: never;
1087
1781
  path?: never;
1088
1782
  query?: never;
1089
- url: '/billing/credits';
1783
+ url: '/tokens';
1090
1784
  };
1091
- export type GetCreditsErrors = {
1785
+ export type ListTokensErrors = {
1092
1786
  /**
1093
1787
  * Not authenticated
1094
1788
  */
1095
1789
  401: unknown;
1096
1790
  };
1097
- export type GetCreditsResponses = {
1791
+ export type ListTokensResponses = {
1098
1792
  /**
1099
- * An array of the applied promotional credits records.
1793
+ * Returns a list of access token details with masked secrets.
1100
1794
  */
1101
- 200: Array<BillingCredits>;
1795
+ 200: Array<Token>;
1102
1796
  };
1103
- export type GetCreditsResponse = GetCreditsResponses[keyof GetCreditsResponses];
1104
- export type RedeemCreditsData = {
1105
- body: {
1106
- /**
1107
- * Promotional code to redeem
1108
- */
1109
- code?: string;
1110
- };
1797
+ export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1798
+ export type CreateTokenData = {
1799
+ body: TokenCreateInput;
1111
1800
  path?: never;
1112
1801
  query?: never;
1113
- url: '/billing/credits';
1802
+ url: '/tokens';
1114
1803
  };
1115
- export type RedeemCreditsErrors = {
1804
+ export type CreateTokenErrors = {
1116
1805
  /**
1117
1806
  * Not authenticated
1118
1807
  */
1119
1808
  401: unknown;
1120
1809
  };
1121
- export type RedeemCreditsResponses = {
1810
+ export type CreateTokenResponses = {
1122
1811
  /**
1123
- * Successfully created a new organization.
1812
+ * Successfully created. Returns created token details with unmasked/raw secret.
1813
+ */
1814
+ 200: Token;
1815
+ };
1816
+ export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1817
+ export type DeleteTokenData = {
1818
+ body?: never;
1819
+ path: {
1820
+ /**
1821
+ * Generated unique identifier of the access token.
1822
+ */
1823
+ token_id: string;
1824
+ };
1825
+ query?: never;
1826
+ url: '/tokens/{token_id}';
1827
+ };
1828
+ export type DeleteTokenResponses = {
1829
+ /**
1830
+ * Successfully deleted.
1124
1831
  */
1125
1832
  200: unknown;
1126
1833
  };
1127
- export type ListChartsData = {
1834
+ export type GetTokenData = {
1128
1835
  body?: never;
1129
1836
  path: {
1130
1837
  /**
1131
- * Unique identifier of the cluster. UUID v4 string in canonical form
1838
+ * Generated unique identifier of the access token.
1132
1839
  */
1133
- cluster_id: string;
1840
+ token_id: string;
1134
1841
  };
1135
1842
  query?: never;
1136
- url: '/clusters/{cluster_id}/charts';
1843
+ url: '/tokens/{token_id}';
1137
1844
  };
1138
- export type ListChartsErrors = {
1845
+ export type GetTokenErrors = {
1139
1846
  /**
1140
1847
  * Not authenticated
1141
1848
  */
1142
1849
  401: unknown;
1143
1850
  };
1144
- export type ListChartsResponses = {
1851
+ export type GetTokenResponses = {
1145
1852
  /**
1146
- * An array of charts
1853
+ * Returns access token details with masked secret.
1147
1854
  */
1148
- 200: Array<Chart>;
1855
+ 200: Token;
1149
1856
  };
1150
- export type ListChartsResponse = ListChartsResponses[keyof ListChartsResponses];
1151
- export type CreateChartData = {
1152
- body: ChartCreateInput;
1857
+ export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
1858
+ export type UpdateTokenData = {
1859
+ body: TokenUpdateInput;
1153
1860
  path: {
1154
1861
  /**
1155
- * Unique identifier of the cluster. UUID v4 string in canonical form
1862
+ * Generated unique identifier of the access token.
1156
1863
  */
1157
- cluster_id: string;
1864
+ token_id: string;
1158
1865
  };
1159
1866
  query?: never;
1160
- url: '/clusters/{cluster_id}/charts';
1867
+ url: '/tokens/{token_id}';
1161
1868
  };
1162
- export type CreateChartResponses = {
1869
+ export type UpdateTokenErrors = {
1163
1870
  /**
1164
- * Successfully created. Returns created Chart ID.
1871
+ * Not authenticated
1165
1872
  */
1166
- 200: string;
1873
+ 401: unknown;
1167
1874
  };
1168
- export type CreateChartResponse = CreateChartResponses[keyof CreateChartResponses];
1169
- export type DeleteChartData = {
1875
+ export type UpdateTokenResponses = {
1876
+ /**
1877
+ * Successfully updated. Returns updated token details with masked secret.
1878
+ */
1879
+ 200: Token;
1880
+ };
1881
+ export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
1882
+ export type RegenerateTokenData = {
1170
1883
  body?: never;
1171
1884
  path: {
1172
1885
  /**
1173
- * Unique identifier of the cluster. UUID v4 string in canonical form
1174
- */
1175
- cluster_id: string;
1176
- /**
1177
- * Chart deployment name as the unique identifier of the chart.
1886
+ * Generated unique identifier of the access token.
1178
1887
  */
1179
- chart_name: string;
1888
+ token_id: string;
1180
1889
  };
1181
1890
  query?: never;
1182
- url: '/clusters/{cluster_id}/charts/{chart_name}';
1891
+ url: '/tokens/{token_id}/secret';
1183
1892
  };
1184
- export type DeleteChartResponses = {
1893
+ export type RegenerateTokenErrors = {
1185
1894
  /**
1186
- * Successfully deleted.
1895
+ * Not authenticated
1187
1896
  */
1188
- 200: string;
1897
+ 401: unknown;
1189
1898
  };
1190
- export type DeleteChartResponse = DeleteChartResponses[keyof DeleteChartResponses];
1191
- export type GetChartData = {
1899
+ export type RegenerateTokenResponses = {
1900
+ /**
1901
+ * Successfully updated. Returns updated token details with unmasked / raw secret.
1902
+ */
1903
+ 200: Token;
1904
+ };
1905
+ export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
1906
+ export type ListTicketsData = {
1192
1907
  body?: never;
1193
- path: {
1194
- /**
1195
- * Unique identifier of the cluster. UUID v4 string in canonical form
1196
- */
1197
- cluster_id: string;
1198
- /**
1199
- * Chart deployment name as the unique identifier of the chart.
1200
- */
1201
- chart_name: string;
1202
- };
1908
+ path?: never;
1203
1909
  query?: never;
1204
- url: '/clusters/{cluster_id}/charts/{chart_name}';
1910
+ url: '/tickets';
1205
1911
  };
1206
- export type GetChartResponses = {
1912
+ export type ListTicketsResponses = {
1207
1913
  /**
1208
- * Returns a single object containing chart details.
1914
+ * An array of tickets for the organization, newest first.
1209
1915
  */
1210
- 200: Chart;
1916
+ 200: Array<Ticket>;
1211
1917
  };
1212
- export type GetChartResponse = GetChartResponses[keyof GetChartResponses];
1213
- export type UpdateChartData = {
1214
- body: ChartUpdateInput;
1215
- path: {
1216
- /**
1217
- * Unique identifier of the cluster. UUID v4 string in canonical form
1218
- */
1219
- cluster_id: string;
1918
+ export type ListTicketsResponse = ListTicketsResponses[keyof ListTicketsResponses];
1919
+ export type CreateTicketData = {
1920
+ body: {
1220
1921
  /**
1221
- * Chart deployment name as the unique identifier of the chart.
1922
+ * JSON-encoded TicketCreateInput.
1222
1923
  */
1223
- chart_name: string;
1924
+ payload?: string;
1925
+ attachments?: Array<Blob | File>;
1224
1926
  };
1927
+ path?: never;
1225
1928
  query?: never;
1226
- url: '/clusters/{cluster_id}/charts/{chart_name}';
1929
+ url: '/tickets';
1227
1930
  };
1228
- export type UpdateChartResponses = {
1931
+ export type CreateTicketResponses = {
1229
1932
  /**
1230
- * Successfully updated.
1933
+ * Ticket created.
1231
1934
  */
1232
- 200: string;
1935
+ 200: Ticket;
1233
1936
  };
1234
- export type UpdateChartResponse = UpdateChartResponses[keyof UpdateChartResponses];
1235
- export type ListFleetsData = {
1937
+ export type CreateTicketResponse = CreateTicketResponses[keyof CreateTicketResponses];
1938
+ export type CloseTicketData = {
1236
1939
  body?: never;
1237
1940
  path: {
1238
- /**
1239
- * Unique identifier of the cluster. UUID v4 string in canonical form
1240
- */
1241
- cluster_id: string;
1941
+ ticket_id: string;
1242
1942
  };
1243
1943
  query?: never;
1244
- url: '/clusters/{cluster_id}/fleets';
1944
+ url: '/tickets/{ticket_id}';
1245
1945
  };
1246
- export type ListFleetsErrors = {
1946
+ export type CloseTicketResponses = {
1247
1947
  /**
1248
- * Not authenticated
1948
+ * Ticket closed.
1249
1949
  */
1250
- 401: unknown;
1950
+ 200: Ticket;
1251
1951
  };
1252
- export type ListFleetsResponses = {
1952
+ export type CloseTicketResponse = CloseTicketResponses[keyof CloseTicketResponses];
1953
+ export type GetTicketData = {
1954
+ body?: never;
1955
+ path: {
1956
+ ticket_id: string;
1957
+ };
1958
+ query?: never;
1959
+ url: '/tickets/{ticket_id}';
1960
+ };
1961
+ export type GetTicketResponses = {
1253
1962
  /**
1254
- * An array of fleets
1963
+ * Ticket with messages (internal notes excluded).
1255
1964
  */
1256
- 200: Array<Fleet>;
1965
+ 200: Ticket;
1257
1966
  };
1258
- export type ListFleetsResponse = ListFleetsResponses[keyof ListFleetsResponses];
1259
- export type CreateFleetData = {
1260
- body: FleetCreateInput;
1261
- path: {
1967
+ export type GetTicketResponse = GetTicketResponses[keyof GetTicketResponses];
1968
+ export type ReplyTicketData = {
1969
+ body: {
1262
1970
  /**
1263
- * Unique identifier of the cluster. UUID v4 string in canonical form
1971
+ * JSON-encoded TicketMessageInput.
1264
1972
  */
1265
- cluster_id: string;
1973
+ payload?: string;
1974
+ attachments?: Array<Blob | File>;
1975
+ };
1976
+ path: {
1977
+ ticket_id: string;
1266
1978
  };
1267
1979
  query?: never;
1268
- url: '/clusters/{cluster_id}/fleets';
1980
+ url: '/tickets/{ticket_id}/messages';
1269
1981
  };
1270
- export type CreateFleetErrors = {
1982
+ export type ReplyTicketErrors = {
1271
1983
  /**
1272
- * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
1984
+ * Ticket is closed. Open a new ticket instead.
1273
1985
  */
1274
- 402: string;
1986
+ 409: unknown;
1275
1987
  };
1276
- export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
1277
- export type CreateFleetResponses = {
1988
+ export type ReplyTicketResponses = {
1278
1989
  /**
1279
- * Successfully created. Returns created Fleet ID.
1990
+ * Reply appended.
1280
1991
  */
1281
- 200: string;
1992
+ 200: TicketMessage;
1282
1993
  };
1283
- export type CreateFleetResponse = CreateFleetResponses[keyof CreateFleetResponses];
1284
- export type DeleteFleetData = {
1994
+ export type ReplyTicketResponse = ReplyTicketResponses[keyof ReplyTicketResponses];
1995
+ export type GetTicketAttachmentData = {
1285
1996
  body?: never;
1286
1997
  path: {
1287
- /**
1288
- * Unique identifier of the cluster. UUID v4 string in canonical form
1289
- */
1290
- cluster_id: string;
1291
- /**
1292
- * Unique identifier of the fleet. UUID v4 string in canonical form
1293
- */
1294
- fleet_name: string;
1998
+ ticket_id: string;
1999
+ attachment_id: string;
1295
2000
  };
1296
2001
  query?: never;
1297
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2002
+ url: '/tickets/{ticket_id}/attachments/{attachment_id}';
1298
2003
  };
1299
- export type DeleteFleetResponses = {
2004
+ export type GetTicketAttachmentResponses = {
1300
2005
  /**
1301
- * Successfully deleted.
2006
+ * Attachment binary stream.
1302
2007
  */
1303
- 200: string;
2008
+ 200: Blob | File;
1304
2009
  };
1305
- export type DeleteFleetResponse = DeleteFleetResponses[keyof DeleteFleetResponses];
1306
- export type GetFleetData = {
2010
+ export type GetTicketAttachmentResponse = GetTicketAttachmentResponses[keyof GetTicketAttachmentResponses];
2011
+ export type ListRepositoriesData = {
2012
+ body?: never;
2013
+ path?: never;
2014
+ query?: never;
2015
+ url: '/registry';
2016
+ };
2017
+ export type ListRepositoriesErrors = {
2018
+ /**
2019
+ * Not authenticated
2020
+ */
2021
+ 401: unknown;
2022
+ /**
2023
+ * Internal server error
2024
+ */
2025
+ 500: unknown;
2026
+ };
2027
+ export type ListRepositoriesResponses = {
2028
+ /**
2029
+ * List of repositories
2030
+ */
2031
+ 200: Array<RegistryRepository>;
2032
+ };
2033
+ export type ListRepositoriesResponse = ListRepositoriesResponses[keyof ListRepositoriesResponses];
2034
+ export type ListTagsData = {
1307
2035
  body?: never;
1308
2036
  path: {
1309
2037
  /**
1310
- * Unique identifier of the cluster. UUID v4 string in canonical form
2038
+ * Region where the repository is located
1311
2039
  */
1312
- cluster_id: string;
2040
+ region: string;
1313
2041
  /**
1314
- * Unique identifier of the fleet. UUID v4 string in canonical form
2042
+ * Name of the repository
1315
2043
  */
1316
- fleet_name: string;
2044
+ repository: string;
1317
2045
  };
1318
2046
  query?: never;
1319
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2047
+ url: '/registry/{region}/{repository}';
1320
2048
  };
1321
- export type GetFleetResponses = {
2049
+ export type ListTagsErrors = {
1322
2050
  /**
1323
- * Returns a single object containing fleet details.
2051
+ * Not authenticated
1324
2052
  */
1325
- 200: Fleet;
2053
+ 401: unknown;
2054
+ /**
2055
+ * Repository not found
2056
+ */
2057
+ 404: unknown;
2058
+ /**
2059
+ * Internal server error
2060
+ */
2061
+ 500: unknown;
1326
2062
  };
1327
- export type GetFleetResponse = GetFleetResponses[keyof GetFleetResponses];
1328
- export type UpdateFleetData = {
1329
- body: FleetUpdateInput;
2063
+ export type ListTagsResponses = {
2064
+ /**
2065
+ * Repository with tags
2066
+ */
2067
+ 200: RegistryRepositoryWithTags;
2068
+ };
2069
+ export type ListTagsResponse = ListTagsResponses[keyof ListTagsResponses];
2070
+ export type DeleteTagData = {
2071
+ body?: never;
1330
2072
  path: {
1331
2073
  /**
1332
- * Unique identifier of the cluster. UUID v4 string in canonical form
2074
+ * Region where the repository is located
1333
2075
  */
1334
- cluster_id: string;
2076
+ region: string;
1335
2077
  /**
1336
- * Unique identifier of the fleet. UUID v4 string in canonical form
2078
+ * Name of the repository
1337
2079
  */
1338
- fleet_name: string;
2080
+ repository: string;
2081
+ /**
2082
+ * Name of the tag
2083
+ */
2084
+ tag: string;
1339
2085
  };
1340
2086
  query?: never;
1341
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2087
+ url: '/registry/{region}/{repository}/{tag}';
1342
2088
  };
1343
- export type UpdateFleetErrors = {
2089
+ export type DeleteTagErrors = {
1344
2090
  /**
1345
- * Organization must have a valid payment method configured to access this endpoint.
2091
+ * Not authenticated
1346
2092
  */
1347
- 402: string;
2093
+ 401: unknown;
2094
+ /**
2095
+ * Tag not found
2096
+ */
2097
+ 404: unknown;
2098
+ /**
2099
+ * Internal server error
2100
+ */
2101
+ 500: unknown;
1348
2102
  };
1349
- export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
1350
- export type UpdateFleetResponses = {
2103
+ export type DeleteTagResponses = {
1351
2104
  /**
1352
- * Successfully updated.
2105
+ * Tag successfully deleted
1353
2106
  */
1354
- 200: string;
2107
+ 200: unknown;
1355
2108
  };
1356
- export type UpdateFleetResponse = UpdateFleetResponses[keyof UpdateFleetResponses];
1357
- export type QueryClusterData = {
2109
+ export type GetTagData = {
1358
2110
  body?: never;
1359
2111
  path: {
1360
2112
  /**
1361
- * Unique identifier of the cluster. UUID v4 string in canonical form
2113
+ * Region where the repository is located
1362
2114
  */
1363
- cluster_id: string;
2115
+ region: string;
2116
+ /**
2117
+ * Name of the repository
2118
+ */
2119
+ repository: string;
2120
+ /**
2121
+ * Name of the tag
2122
+ */
2123
+ tag: string;
1364
2124
  };
1365
2125
  query?: never;
1366
- url: '/clusters/{cluster_id}/query';
2126
+ url: '/registry/{region}/{repository}/{tag}';
1367
2127
  };
1368
- export type QueryClusterErrors = {
2128
+ export type GetTagErrors = {
1369
2129
  /**
1370
2130
  * Not authenticated
1371
2131
  */
1372
2132
  401: unknown;
2133
+ /**
2134
+ * Tag not found
2135
+ */
2136
+ 404: unknown;
2137
+ /**
2138
+ * Internal server error
2139
+ */
2140
+ 500: unknown;
1373
2141
  };
1374
- export type QueryClusterResponses = {
2142
+ export type GetTagResponses = {
1375
2143
  /**
1376
- * Kubernetes API response
2144
+ * Tag details
1377
2145
  */
1378
- 200: unknown;
2146
+ 200: RegistryTag;
1379
2147
  };
1380
- export type ListClustersData = {
2148
+ export type GetTagResponse = GetTagResponses[keyof GetTagResponses];
2149
+ export type GetOrganizationData = {
1381
2150
  body?: never;
1382
2151
  path?: never;
1383
2152
  query?: never;
1384
- url: '/clusters';
1385
- };
1386
- export type ListClustersErrors = {
1387
- /**
1388
- * Not authenticated
1389
- */
1390
- 401: unknown;
2153
+ url: '/organization';
1391
2154
  };
1392
- export type ListClustersResponses = {
2155
+ export type GetOrganizationResponses = {
1393
2156
  /**
1394
- * An array of clusters
2157
+ * Returns a single object containing organization details.
1395
2158
  */
1396
- 200: Array<Cluster>;
2159
+ 200: Organization;
1397
2160
  };
1398
- export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
1399
- export type CreateClusterData = {
1400
- body: ClusterCreateInput;
2161
+ export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
2162
+ export type CreateOrganizationData = {
2163
+ body: OrganizationCreateInput;
1401
2164
  path?: never;
1402
2165
  query?: never;
1403
- url: '/clusters';
2166
+ url: '/organization';
1404
2167
  };
1405
- export type CreateClusterErrors = {
2168
+ export type CreateOrganizationResponses = {
1406
2169
  /**
1407
- * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
2170
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
2171
+ *
1408
2172
  */
1409
- 402: string;
2173
+ 200: OrganizationCreateOutput;
1410
2174
  };
1411
- export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
1412
- export type CreateClusterResponses = {
2175
+ export type CreateOrganizationResponse = CreateOrganizationResponses[keyof CreateOrganizationResponses];
2176
+ export type PostMcpData = {
1413
2177
  /**
1414
- * Successfully created. Returns created Cluster ID.
2178
+ * JSON-RPC 2.0 request payload
1415
2179
  */
1416
- 200: string;
1417
- };
1418
- export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
1419
- export type DeleteClusterData = {
1420
- body?: never;
1421
- path: {
2180
+ body: {
2181
+ jsonrpc?: string;
2182
+ method?: string;
2183
+ id?: string | number;
1422
2184
  /**
1423
- * Unique identifier of the cluster. UUID v4 string in canonical form
2185
+ * Method-specific parameters
1424
2186
  */
1425
- cluster_id: string;
2187
+ params?: {
2188
+ [key: string]: unknown;
2189
+ };
1426
2190
  };
2191
+ path?: never;
1427
2192
  query?: never;
1428
- url: '/clusters/{cluster_id}';
2193
+ url: '/mcp';
1429
2194
  };
1430
- export type DeleteClusterResponses = {
2195
+ export type PostMcpErrors = {
1431
2196
  /**
1432
- * Successfully deleted.
2197
+ * Not authenticated
1433
2198
  */
1434
- 200: string;
2199
+ 401: unknown;
1435
2200
  };
1436
- export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
1437
- export type GetClusterData = {
1438
- body?: never;
1439
- path: {
1440
- /**
1441
- * Unique identifier of the cluster. UUID v4 string in canonical form
1442
- */
1443
- cluster_id: string;
2201
+ export type PostMcpResponses = {
2202
+ /**
2203
+ * JSON-RPC 2.0 success or error response
2204
+ */
2205
+ 200: {
2206
+ jsonrpc?: string;
2207
+ id?: string | number;
2208
+ result?: {
2209
+ [key: string]: unknown;
2210
+ };
2211
+ error?: {
2212
+ code?: number;
2213
+ message?: string;
2214
+ };
1444
2215
  };
2216
+ };
2217
+ export type PostMcpResponse = PostMcpResponses[keyof PostMcpResponses];
2218
+ export type ListMarketplaceChartsData = {
2219
+ body?: never;
2220
+ path?: never;
1445
2221
  query?: never;
1446
- url: '/clusters/{cluster_id}';
2222
+ url: '/marketplace';
1447
2223
  };
1448
- export type GetClusterResponses = {
2224
+ export type ListMarketplaceChartsErrors = {
1449
2225
  /**
1450
- * Returns a single object containing cluster details.
2226
+ * Not authenticated
1451
2227
  */
1452
- 200: Cluster;
1453
- };
1454
- export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
1455
- export type UpdateClusterData = {
1456
- body: ClusterUpdateInput;
1457
- path: {
1458
- /**
1459
- * Unique identifier of the cluster. UUID v4 string in canonical form
1460
- */
1461
- cluster_id: string;
1462
- };
1463
- query?: never;
1464
- url: '/clusters/{cluster_id}';
2228
+ 401: unknown;
1465
2229
  };
1466
- export type UpdateClusterResponses = {
2230
+ export type ListMarketplaceChartsResponses = {
1467
2231
  /**
1468
- * Successfully updated. Returns updated cluster details.
2232
+ * An array of chart listings in the marketplace.
1469
2233
  */
1470
- 200: Cluster;
2234
+ 200: Array<MarketplaceListing>;
1471
2235
  };
1472
- export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
1473
- export type GetJoinInformationData = {
2236
+ export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
2237
+ export type GetMarketplaceChartFilesData = {
1474
2238
  body?: never;
1475
2239
  path: {
1476
2240
  /**
1477
- * Unique identifier of the cluster. UUID v4 string in canonical form
2241
+ * Name of the chart in the marketplace.
1478
2242
  */
1479
- cluster_id: string;
2243
+ chart_name: string;
2244
+ /**
2245
+ * 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).
2246
+ */
2247
+ version_channel: string;
1480
2248
  };
1481
2249
  query?: never;
1482
- url: '/clusters/{cluster_id}/join_information';
2250
+ url: '/marketplace/{chart_name}/files/{version_channel}';
1483
2251
  };
1484
- export type GetJoinInformationErrors = {
2252
+ export type GetMarketplaceChartFilesErrors = {
1485
2253
  /**
1486
- * Not authenticated
2254
+ * Chart not found or no version matches the channel
1487
2255
  */
1488
- 401: unknown;
2256
+ 404: unknown;
1489
2257
  };
1490
- export type GetJoinInformationResponses = {
2258
+ export type GetMarketplaceChartFilesResponses = {
1491
2259
  /**
1492
- * An object of cluster join information
2260
+ * Returns an object containing the chart files for the latest matching version.
1493
2261
  */
1494
- 200: ClusterJoinInformation;
2262
+ 200: MarketplaceListingFiles;
1495
2263
  };
1496
- export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
2264
+ export type GetMarketplaceChartFilesResponse = GetMarketplaceChartFilesResponses[keyof GetMarketplaceChartFilesResponses];
1497
2265
  export type ListInvitesData = {
1498
2266
  body?: never;
1499
2267
  path?: never;
@@ -1514,12 +2282,7 @@ export type ListInvitesResponses = {
1514
2282
  };
1515
2283
  export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
1516
2284
  export type CreateInviteData = {
1517
- body: {
1518
- /**
1519
- * User email address
1520
- */
1521
- email?: string;
1522
- };
2285
+ body: InviteCreateInput;
1523
2286
  path?: never;
1524
2287
  query?: never;
1525
2288
  url: '/invites';
@@ -1544,9 +2307,18 @@ export type GetInviteData = {
1544
2307
  };
1545
2308
  export type GetInviteResponses = {
1546
2309
  /**
1547
- * Returns a single object containing invite details.
2310
+ * The invitation code is valid. Returns the invited email and organization.
1548
2311
  */
1549
- 200: Invite;
2312
+ 200: {
2313
+ /**
2314
+ * Email address the invite was issued to.
2315
+ */
2316
+ email?: string;
2317
+ /**
2318
+ * Identifier of the organization the invite grants access to.
2319
+ */
2320
+ organization_id?: string;
2321
+ };
1550
2322
  };
1551
2323
  export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
1552
2324
  export type DeleteInviteData = {
@@ -1566,502 +2338,685 @@ export type DeleteInviteResponses = {
1566
2338
  */
1567
2339
  200: unknown;
1568
2340
  };
1569
- export type ListMarketplaceChartsData = {
2341
+ export type QueryClusterData = {
1570
2342
  body?: never;
1571
- path?: never;
2343
+ path: {
2344
+ /**
2345
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2346
+ */
2347
+ cluster_id: string;
2348
+ };
1572
2349
  query?: never;
1573
- url: '/marketplace';
2350
+ url: '/clusters/{cluster_id}/query';
1574
2351
  };
1575
- export type ListMarketplaceChartsErrors = {
2352
+ export type QueryClusterErrors = {
1576
2353
  /**
1577
2354
  * Not authenticated
1578
2355
  */
1579
2356
  401: unknown;
1580
2357
  };
1581
- export type ListMarketplaceChartsResponses = {
2358
+ export type QueryClusterResponses = {
1582
2359
  /**
1583
- * An array of chart listings in the marketplace.
2360
+ * Kubernetes API response
1584
2361
  */
1585
- 200: Array<MarketplaceListing>;
2362
+ 200: unknown;
1586
2363
  };
1587
- export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
1588
- export type GetMarketplaceChartData = {
2364
+ export type ListFleetsData = {
1589
2365
  body?: never;
1590
2366
  path: {
1591
2367
  /**
1592
- * Unique identifier of the chart listing in the marketplace.
2368
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1593
2369
  */
1594
- listing_id: string;
2370
+ cluster_id: string;
1595
2371
  };
1596
2372
  query?: never;
1597
- url: '/marketplace/{listing_id}';
2373
+ url: '/clusters/{cluster_id}/fleets';
1598
2374
  };
1599
- export type GetMarketplaceChartResponses = {
2375
+ export type ListFleetsErrors = {
1600
2376
  /**
1601
- * Returns an object containing the chart listing details.
2377
+ * Not authenticated
1602
2378
  */
1603
- 200: MarketplaceListing;
2379
+ 401: unknown;
1604
2380
  };
1605
- export type GetMarketplaceChartResponse = GetMarketplaceChartResponses[keyof GetMarketplaceChartResponses];
1606
- export type PostMcpData = {
2381
+ export type ListFleetsResponses = {
1607
2382
  /**
1608
- * JSON-RPC 2.0 request payload
2383
+ * An array of fleets
1609
2384
  */
1610
- body: {
1611
- jsonrpc?: string;
1612
- method?: string;
1613
- id?: string | number;
2385
+ 200: Array<Fleet>;
2386
+ };
2387
+ export type ListFleetsResponse = ListFleetsResponses[keyof ListFleetsResponses];
2388
+ export type CreateFleetData = {
2389
+ body: FleetCreateInput;
2390
+ path: {
1614
2391
  /**
1615
- * Method-specific parameters
2392
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1616
2393
  */
1617
- params?: {
1618
- [key: string]: unknown;
1619
- };
2394
+ cluster_id: string;
1620
2395
  };
1621
- path?: never;
1622
2396
  query?: never;
1623
- url: '/mcp';
2397
+ url: '/clusters/{cluster_id}/fleets';
1624
2398
  };
1625
- export type PostMcpErrors = {
2399
+ export type CreateFleetErrors = {
1626
2400
  /**
1627
- * Not authenticated
2401
+ * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
1628
2402
  */
1629
- 401: unknown;
2403
+ 402: string;
2404
+ /**
2405
+ * 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.
2406
+ */
2407
+ 409: string;
1630
2408
  };
1631
- export type PostMcpResponses = {
2409
+ export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
2410
+ export type CreateFleetResponses = {
1632
2411
  /**
1633
- * JSON-RPC 2.0 success or error response
2412
+ * Successfully created. Returns created Fleet ID.
1634
2413
  */
1635
- 200: {
1636
- jsonrpc?: string;
1637
- id?: string | number;
1638
- result?: {
1639
- [key: string]: unknown;
1640
- };
1641
- error?: {
1642
- code?: number;
1643
- message?: string;
1644
- };
1645
- };
2414
+ 200: string;
1646
2415
  };
1647
- export type PostMcpResponse = PostMcpResponses[keyof PostMcpResponses];
1648
- export type GetOrganizationData = {
2416
+ export type CreateFleetResponse = CreateFleetResponses[keyof CreateFleetResponses];
2417
+ export type DeleteFleetData = {
1649
2418
  body?: never;
1650
- path?: never;
2419
+ path: {
2420
+ /**
2421
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2422
+ */
2423
+ cluster_id: string;
2424
+ /**
2425
+ * Unique identifier of the fleet. UUID v4 string in canonical form
2426
+ */
2427
+ fleet_name: string;
2428
+ };
1651
2429
  query?: never;
1652
- url: '/organization';
2430
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1653
2431
  };
1654
- export type GetOrganizationResponses = {
2432
+ export type DeleteFleetErrors = {
1655
2433
  /**
1656
- * Returns a single object containing organization details.
2434
+ * 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.
1657
2435
  */
1658
- 200: Organization;
2436
+ 409: string;
1659
2437
  };
1660
- export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
1661
- export type CreateOrganizationData = {
1662
- body: OrganizationCreateInput;
1663
- path?: never;
2438
+ export type DeleteFleetError = DeleteFleetErrors[keyof DeleteFleetErrors];
2439
+ export type DeleteFleetResponses = {
2440
+ /**
2441
+ * Successfully deleted.
2442
+ */
2443
+ 200: string;
2444
+ };
2445
+ export type DeleteFleetResponse = DeleteFleetResponses[keyof DeleteFleetResponses];
2446
+ export type GetFleetData = {
2447
+ body?: never;
2448
+ path: {
2449
+ /**
2450
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2451
+ */
2452
+ cluster_id: string;
2453
+ /**
2454
+ * Unique identifier of the fleet. UUID v4 string in canonical form
2455
+ */
2456
+ fleet_name: string;
2457
+ };
1664
2458
  query?: never;
1665
- url: '/organization';
2459
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1666
2460
  };
1667
- export type CreateOrganizationResponses = {
2461
+ export type GetFleetResponses = {
1668
2462
  /**
1669
- * Successfully created a new organization.
2463
+ * Returns a single object containing fleet details.
1670
2464
  */
1671
- 200: unknown;
2465
+ 200: Fleet;
1672
2466
  };
1673
- export type ListRepositoriesData = {
1674
- body?: never;
1675
- path?: never;
2467
+ export type GetFleetResponse = GetFleetResponses[keyof GetFleetResponses];
2468
+ export type UpdateFleetData = {
2469
+ body: FleetUpdateInput;
2470
+ path: {
2471
+ /**
2472
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2473
+ */
2474
+ cluster_id: string;
2475
+ /**
2476
+ * Unique identifier of the fleet. UUID v4 string in canonical form
2477
+ */
2478
+ fleet_name: string;
2479
+ };
1676
2480
  query?: never;
1677
- url: '/registry';
2481
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1678
2482
  };
1679
- export type ListRepositoriesErrors = {
2483
+ export type UpdateFleetErrors = {
1680
2484
  /**
1681
- * Not authenticated
2485
+ * Organization must have a valid payment method configured to access this endpoint.
1682
2486
  */
1683
- 401: unknown;
2487
+ 402: string;
1684
2488
  /**
1685
- * Internal server error
2489
+ * 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.
1686
2490
  */
1687
- 500: unknown;
2491
+ 409: string;
1688
2492
  };
1689
- export type ListRepositoriesResponses = {
2493
+ export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
2494
+ export type UpdateFleetResponses = {
1690
2495
  /**
1691
- * List of repositories
2496
+ * Successfully updated.
1692
2497
  */
1693
- 200: Array<RegistryRepository>;
2498
+ 200: string;
1694
2499
  };
1695
- export type ListRepositoriesResponse = ListRepositoriesResponses[keyof ListRepositoriesResponses];
1696
- export type ListTagsData = {
2500
+ export type UpdateFleetResponse = UpdateFleetResponses[keyof UpdateFleetResponses];
2501
+ export type ListChartsData = {
1697
2502
  body?: never;
1698
2503
  path: {
1699
2504
  /**
1700
- * Region where the repository is located
1701
- */
1702
- region: string;
1703
- /**
1704
- * Name of the repository
2505
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1705
2506
  */
1706
- repository: string;
2507
+ cluster_id: string;
1707
2508
  };
1708
2509
  query?: never;
1709
- url: '/registry/{region}/{repository}';
2510
+ url: '/clusters/{cluster_id}/charts';
1710
2511
  };
1711
- export type ListTagsErrors = {
2512
+ export type ListChartsErrors = {
1712
2513
  /**
1713
2514
  * Not authenticated
1714
2515
  */
1715
2516
  401: unknown;
2517
+ };
2518
+ export type ListChartsResponses = {
1716
2519
  /**
1717
- * Repository not found
2520
+ * An array of charts
1718
2521
  */
1719
- 404: unknown;
2522
+ 200: Array<Chart>;
2523
+ };
2524
+ export type ListChartsResponse = ListChartsResponses[keyof ListChartsResponses];
2525
+ export type CreateChartData = {
2526
+ body: ChartCreateInput;
2527
+ path: {
2528
+ /**
2529
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2530
+ */
2531
+ cluster_id: string;
2532
+ };
2533
+ query?: never;
2534
+ url: '/clusters/{cluster_id}/charts';
2535
+ };
2536
+ export type CreateChartErrors = {
1720
2537
  /**
1721
- * Internal server error
2538
+ * 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.
1722
2539
  */
1723
- 500: unknown;
2540
+ 409: string;
1724
2541
  };
1725
- export type ListTagsResponses = {
2542
+ export type CreateChartError = CreateChartErrors[keyof CreateChartErrors];
2543
+ export type CreateChartResponses = {
1726
2544
  /**
1727
- * Repository with tags
2545
+ * Successfully created. Returns created Chart ID.
1728
2546
  */
1729
- 200: RegistryRepositoryWithTags;
2547
+ 200: string;
1730
2548
  };
1731
- export type ListTagsResponse = ListTagsResponses[keyof ListTagsResponses];
1732
- export type DeleteTagData = {
2549
+ export type CreateChartResponse = CreateChartResponses[keyof CreateChartResponses];
2550
+ export type DeleteChartData = {
1733
2551
  body?: never;
1734
2552
  path: {
1735
2553
  /**
1736
- * Region where the repository is located
2554
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1737
2555
  */
1738
- region: string;
2556
+ cluster_id: string;
1739
2557
  /**
1740
- * Name of the repository
2558
+ * Chart deployment name as the unique identifier of the chart.
1741
2559
  */
1742
- repository: string;
2560
+ chart_name: string;
2561
+ };
2562
+ query?: never;
2563
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
2564
+ };
2565
+ export type DeleteChartErrors = {
2566
+ /**
2567
+ * 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.
2568
+ */
2569
+ 409: string;
2570
+ };
2571
+ export type DeleteChartError = DeleteChartErrors[keyof DeleteChartErrors];
2572
+ export type DeleteChartResponses = {
2573
+ /**
2574
+ * Successfully deleted.
2575
+ */
2576
+ 200: string;
2577
+ };
2578
+ export type DeleteChartResponse = DeleteChartResponses[keyof DeleteChartResponses];
2579
+ export type GetChartData = {
2580
+ body?: never;
2581
+ path: {
1743
2582
  /**
1744
- * Name of the tag
2583
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1745
2584
  */
1746
- tag: string;
2585
+ cluster_id: string;
2586
+ /**
2587
+ * Chart deployment name as the unique identifier of the chart.
2588
+ */
2589
+ chart_name: string;
1747
2590
  };
1748
2591
  query?: never;
1749
- url: '/registry/{region}/{repository}/{tag}';
2592
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1750
2593
  };
1751
- export type DeleteTagErrors = {
2594
+ export type GetChartResponses = {
2595
+ /**
2596
+ * Returns a single object containing chart details.
2597
+ */
2598
+ 200: Chart;
2599
+ };
2600
+ export type GetChartResponse = GetChartResponses[keyof GetChartResponses];
2601
+ export type UpdateChartData = {
2602
+ body: ChartUpdateInput;
2603
+ path: {
2604
+ /**
2605
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2606
+ */
2607
+ cluster_id: string;
2608
+ /**
2609
+ * Chart deployment name as the unique identifier of the chart.
2610
+ */
2611
+ chart_name: string;
2612
+ };
2613
+ query?: never;
2614
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
2615
+ };
2616
+ export type UpdateChartErrors = {
2617
+ /**
2618
+ * 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.
2619
+ */
2620
+ 409: string;
2621
+ };
2622
+ export type UpdateChartError = UpdateChartErrors[keyof UpdateChartErrors];
2623
+ export type UpdateChartResponses = {
2624
+ /**
2625
+ * Successfully updated.
2626
+ */
2627
+ 200: string;
2628
+ };
2629
+ export type UpdateChartResponse = UpdateChartResponses[keyof UpdateChartResponses];
2630
+ export type ListClustersData = {
2631
+ body?: never;
2632
+ path?: never;
2633
+ query?: never;
2634
+ url: '/clusters';
2635
+ };
2636
+ export type ListClustersErrors = {
1752
2637
  /**
1753
2638
  * Not authenticated
1754
2639
  */
1755
2640
  401: unknown;
2641
+ };
2642
+ export type ListClustersResponses = {
1756
2643
  /**
1757
- * Tag not found
2644
+ * An array of clusters
2645
+ */
2646
+ 200: Array<Cluster>;
2647
+ };
2648
+ export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
2649
+ export type CreateClusterData = {
2650
+ body: ClusterCreateInput;
2651
+ path?: never;
2652
+ query?: never;
2653
+ url: '/clusters';
2654
+ };
2655
+ export type CreateClusterErrors = {
2656
+ /**
2657
+ * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
2658
+ */
2659
+ 402: string;
2660
+ };
2661
+ export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
2662
+ export type CreateClusterResponses = {
2663
+ /**
2664
+ * Successfully created. Returns created Cluster ID.
2665
+ */
2666
+ 200: string;
2667
+ };
2668
+ export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
2669
+ export type DeleteClusterData = {
2670
+ body?: never;
2671
+ path: {
2672
+ /**
2673
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2674
+ */
2675
+ cluster_id: string;
2676
+ };
2677
+ query?: never;
2678
+ url: '/clusters/{cluster_id}';
2679
+ };
2680
+ export type DeleteClusterErrors = {
2681
+ /**
2682
+ * Cluster not found; it does not exist or has already been deleted.
1758
2683
  */
1759
2684
  404: unknown;
1760
2685
  /**
1761
- * Internal server error
2686
+ * 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.
1762
2687
  */
1763
- 500: unknown;
2688
+ 409: string;
2689
+ /**
2690
+ * Transient failure tearing down the cluster; retry the request.
2691
+ */
2692
+ 503: unknown;
1764
2693
  };
1765
- export type DeleteTagResponses = {
2694
+ export type DeleteClusterError = DeleteClusterErrors[keyof DeleteClusterErrors];
2695
+ export type DeleteClusterResponses = {
1766
2696
  /**
1767
- * Tag successfully deleted
2697
+ * Successfully deleted. The cluster has been torn down.
1768
2698
  */
1769
- 200: unknown;
2699
+ 200: string;
1770
2700
  };
1771
- export type GetTagData = {
2701
+ export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
2702
+ export type GetClusterData = {
1772
2703
  body?: never;
1773
2704
  path: {
1774
2705
  /**
1775
- * Region where the repository is located
2706
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1776
2707
  */
1777
- region: string;
2708
+ cluster_id: string;
2709
+ };
2710
+ query?: never;
2711
+ url: '/clusters/{cluster_id}';
2712
+ };
2713
+ export type GetClusterResponses = {
2714
+ /**
2715
+ * Returns a single object containing cluster details.
2716
+ */
2717
+ 200: Cluster;
2718
+ };
2719
+ export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
2720
+ export type UpdateClusterData = {
2721
+ body: ClusterUpdateInput;
2722
+ path: {
1778
2723
  /**
1779
- * Name of the repository
2724
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1780
2725
  */
1781
- repository: string;
2726
+ cluster_id: string;
2727
+ };
2728
+ query?: never;
2729
+ url: '/clusters/{cluster_id}';
2730
+ };
2731
+ export type UpdateClusterErrors = {
2732
+ /**
2733
+ * 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.
2734
+ */
2735
+ 409: string;
2736
+ };
2737
+ export type UpdateClusterError = UpdateClusterErrors[keyof UpdateClusterErrors];
2738
+ export type UpdateClusterResponses = {
2739
+ /**
2740
+ * Successfully updated. Returns updated cluster details.
2741
+ */
2742
+ 200: Cluster;
2743
+ };
2744
+ export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
2745
+ export type GetJoinInformationData = {
2746
+ body?: never;
2747
+ path: {
1782
2748
  /**
1783
- * Name of the tag
2749
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1784
2750
  */
1785
- tag: string;
2751
+ cluster_id: string;
1786
2752
  };
1787
2753
  query?: never;
1788
- url: '/registry/{region}/{repository}/{tag}';
2754
+ url: '/clusters/{cluster_id}/join_information';
1789
2755
  };
1790
- export type GetTagErrors = {
2756
+ export type GetJoinInformationErrors = {
1791
2757
  /**
1792
2758
  * Not authenticated
1793
2759
  */
1794
2760
  401: unknown;
1795
2761
  /**
1796
- * Tag not found
2762
+ * 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.
1797
2763
  */
1798
- 404: unknown;
2764
+ 409: string;
1799
2765
  /**
1800
- * Internal server error
2766
+ * 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.
1801
2767
  */
1802
- 500: unknown;
2768
+ 426: string;
1803
2769
  };
1804
- export type GetTagResponses = {
2770
+ export type GetJoinInformationError = GetJoinInformationErrors[keyof GetJoinInformationErrors];
2771
+ export type GetJoinInformationResponses = {
1805
2772
  /**
1806
- * Tag details
2773
+ * An object of cluster join information
1807
2774
  */
1808
- 200: RegistryTag;
2775
+ 200: ClusterJoinInformation;
1809
2776
  };
1810
- export type GetTagResponse = GetTagResponses[keyof GetTagResponses];
1811
- export type ListTokensData = {
2777
+ export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
2778
+ export type GetUsageData = {
1812
2779
  body?: never;
1813
2780
  path?: never;
1814
- query?: never;
1815
- url: '/tokens';
2781
+ query?: {
2782
+ /**
2783
+ * 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)
2784
+ */
2785
+ granularity?: 'hourly' | 'daily' | 'monthly';
2786
+ };
2787
+ url: '/billing/usage';
1816
2788
  };
1817
- export type ListTokensErrors = {
2789
+ export type GetUsageErrors = {
1818
2790
  /**
1819
2791
  * Not authenticated
1820
2792
  */
1821
2793
  401: unknown;
1822
2794
  };
1823
- export type ListTokensResponses = {
2795
+ export type GetUsageResponses = {
1824
2796
  /**
1825
- * Returns a list of access token details with masked secrets.
2797
+ * Usage data with facets for filtering
1826
2798
  */
1827
- 200: Array<Token>;
2799
+ 200: UsageResponse;
1828
2800
  };
1829
- export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1830
- export type CreateTokenData = {
1831
- body: TokenCreateInput;
2801
+ export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
2802
+ export type GetPaymentMethodSecretData = {
2803
+ body?: never;
1832
2804
  path?: never;
1833
2805
  query?: never;
1834
- url: '/tokens';
1835
- };
1836
- export type CreateTokenErrors = {
1837
- /**
1838
- * Not authenticated
1839
- */
1840
- 401: unknown;
2806
+ url: '/billing/payment-method';
1841
2807
  };
1842
- export type CreateTokenResponses = {
2808
+ export type GetPaymentMethodSecretResponses = {
1843
2809
  /**
1844
- * Successfully created. Returns created token details with unmasked/raw secret.
2810
+ * 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.
2811
+ *
1845
2812
  */
1846
- 200: Token;
1847
- };
1848
- export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1849
- export type DeleteTokenData = {
1850
- body?: never;
1851
- path: {
2813
+ 200: {
1852
2814
  /**
1853
- * Generated unique identifier of the access token.
2815
+ * The client secret.
1854
2816
  */
1855
- token_id: string;
2817
+ id?: string;
1856
2818
  };
1857
- query?: never;
1858
- url: '/tokens/{token_id}';
1859
- };
1860
- export type DeleteTokenResponses = {
1861
- /**
1862
- * Successfully deleted.
1863
- */
1864
- 200: unknown;
1865
2819
  };
1866
- export type GetTokenData = {
2820
+ export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
2821
+ export type ListPaymentMethodsData = {
1867
2822
  body?: never;
1868
- path: {
1869
- /**
1870
- * Generated unique identifier of the access token.
1871
- */
1872
- token_id: string;
1873
- };
2823
+ path?: never;
1874
2824
  query?: never;
1875
- url: '/tokens/{token_id}';
2825
+ url: '/billing/payment-methods';
1876
2826
  };
1877
- export type GetTokenErrors = {
2827
+ export type ListPaymentMethodsErrors = {
1878
2828
  /**
1879
2829
  * Not authenticated
1880
2830
  */
1881
2831
  401: unknown;
1882
2832
  };
1883
- export type GetTokenResponses = {
2833
+ export type ListPaymentMethodsResponses = {
1884
2834
  /**
1885
- * Returns access token details with masked secret.
2835
+ * An array of payment methods.
1886
2836
  */
1887
- 200: Token;
2837
+ 200: Array<PaymentMethod>;
1888
2838
  };
1889
- export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
1890
- export type UpdateTokenData = {
1891
- body: TokenUpdateInput;
2839
+ export type ListPaymentMethodsResponse = ListPaymentMethodsResponses[keyof ListPaymentMethodsResponses];
2840
+ export type SetDefaultPaymentMethodData = {
2841
+ body?: never;
1892
2842
  path: {
1893
2843
  /**
1894
- * Generated unique identifier of the access token.
2844
+ * Stripe payment method identifier.
1895
2845
  */
1896
- token_id: string;
2846
+ paymentMethodId: string;
1897
2847
  };
1898
2848
  query?: never;
1899
- url: '/tokens/{token_id}';
2849
+ url: '/billing/payment-methods/{paymentMethodId}/default';
1900
2850
  };
1901
- export type UpdateTokenErrors = {
2851
+ export type SetDefaultPaymentMethodErrors = {
2852
+ /**
2853
+ * The bank transfer payment method cannot be set as the default.
2854
+ */
2855
+ 400: unknown;
1902
2856
  /**
1903
2857
  * Not authenticated
1904
2858
  */
1905
2859
  401: unknown;
2860
+ /**
2861
+ * Payment method not found.
2862
+ */
2863
+ 404: unknown;
1906
2864
  };
1907
- export type UpdateTokenResponses = {
2865
+ export type SetDefaultPaymentMethodResponses = {
1908
2866
  /**
1909
- * Successfully updated. Returns updated token details with masked secret.
2867
+ * Default payment method updated.
1910
2868
  */
1911
- 200: Token;
2869
+ 204: void;
1912
2870
  };
1913
- export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
1914
- export type RegenerateTokenData = {
2871
+ export type SetDefaultPaymentMethodResponse = SetDefaultPaymentMethodResponses[keyof SetDefaultPaymentMethodResponses];
2872
+ export type DeletePaymentMethodData = {
1915
2873
  body?: never;
1916
2874
  path: {
1917
2875
  /**
1918
- * Generated unique identifier of the access token.
2876
+ * Stripe payment method identifier.
1919
2877
  */
1920
- token_id: string;
2878
+ paymentMethodId: string;
1921
2879
  };
1922
2880
  query?: never;
1923
- url: '/tokens/{token_id}/secret';
2881
+ url: '/billing/payment-methods/{paymentMethodId}';
1924
2882
  };
1925
- export type RegenerateTokenErrors = {
2883
+ export type DeletePaymentMethodErrors = {
2884
+ /**
2885
+ * The bank transfer payment method cannot be removed.
2886
+ */
2887
+ 400: unknown;
1926
2888
  /**
1927
2889
  * Not authenticated
1928
2890
  */
1929
2891
  401: unknown;
2892
+ /**
2893
+ * Payment method not found.
2894
+ */
2895
+ 404: unknown;
2896
+ /**
2897
+ * Cannot delete the only remaining payment method.
2898
+ */
2899
+ 409: unknown;
1930
2900
  };
1931
- export type RegenerateTokenResponses = {
2901
+ export type DeletePaymentMethodResponses = {
1932
2902
  /**
1933
- * Successfully updated. Returns updated token details with unmasked / raw secret.
2903
+ * Payment method deleted.
1934
2904
  */
1935
- 200: Token;
2905
+ 204: void;
1936
2906
  };
1937
- export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
1938
- export type ListUserOrganizationsData = {
2907
+ export type DeletePaymentMethodResponse = DeletePaymentMethodResponses[keyof DeletePaymentMethodResponses];
2908
+ export type ListInvoicesData = {
1939
2909
  body?: never;
1940
- path: {
1941
- /**
1942
- * User email address.
1943
- */
1944
- email: string;
1945
- };
2910
+ path?: never;
1946
2911
  query?: never;
1947
- url: '/users/organizations/{email}';
2912
+ url: '/billing/invoices';
1948
2913
  };
1949
- export type ListUserOrganizationsResponses = {
2914
+ export type ListInvoicesErrors = {
1950
2915
  /**
1951
- * An array of organizations the user belongs to.
2916
+ * Not authenticated
1952
2917
  */
1953
- 200: Array<{
1954
- /**
1955
- * Unique identifier of the organization. UUID v4 string in canonical form
1956
- */
1957
- realm?: string;
1958
- /**
1959
- * Human-readable name of the organization
1960
- */
1961
- displayName?: string;
1962
- }>;
2918
+ 401: unknown;
1963
2919
  };
1964
- export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
1965
- export type ListUsersData = {
2920
+ export type ListInvoicesResponses = {
2921
+ /**
2922
+ * An array of usage records.
2923
+ */
2924
+ 200: Array<Invoice>;
2925
+ };
2926
+ export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
2927
+ export type PayOpenInvoicesData = {
1966
2928
  body?: never;
1967
2929
  path?: never;
1968
2930
  query?: never;
1969
- url: '/users';
2931
+ url: '/billing/invoices/pay';
1970
2932
  };
1971
- export type ListUsersErrors = {
2933
+ export type PayOpenInvoicesErrors = {
2934
+ /**
2935
+ * The organization has no payment method that can be charged.
2936
+ */
2937
+ 400: unknown;
1972
2938
  /**
1973
2939
  * Not authenticated
1974
2940
  */
1975
2941
  401: unknown;
2942
+ /**
2943
+ * Too many payment attempts for this organization.
2944
+ */
2945
+ 429: unknown;
1976
2946
  };
1977
- export type ListUsersResponses = {
2947
+ export type PayOpenInvoicesResponses = {
1978
2948
  /**
1979
- * An array of users
2949
+ * The outcome of the attempt.
1980
2950
  */
1981
- 200: Array<User>;
2951
+ 200: InvoicePaymentResult;
1982
2952
  };
1983
- export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
1984
- export type CreateUserData = {
1985
- body: UserCreateInput;
2953
+ export type PayOpenInvoicesResponse = PayOpenInvoicesResponses[keyof PayOpenInvoicesResponses];
2954
+ export type GetContactData = {
2955
+ body?: never;
1986
2956
  path?: never;
1987
2957
  query?: never;
1988
- url: '/users';
2958
+ url: '/billing/contact';
1989
2959
  };
1990
- export type CreateUserResponses = {
2960
+ export type GetContactResponses = {
1991
2961
  /**
1992
- * Successfully created. Returns created user details.
2962
+ * Returns a single object containing organization contact and billing address details.
1993
2963
  */
1994
- 200: User;
2964
+ 200: BillingContact;
1995
2965
  };
1996
- export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
1997
- export type DeleteUserData = {
1998
- body?: never;
1999
- path: {
2000
- /**
2001
- * Unique user identifier. UUID v4 string in canonical form
2002
- */
2003
- user_id: string;
2004
- };
2966
+ export type GetContactResponse = GetContactResponses[keyof GetContactResponses];
2967
+ export type UpdateContactData = {
2968
+ body: BillingContact;
2969
+ path?: never;
2005
2970
  query?: never;
2006
- url: '/users/{user_id}';
2971
+ url: '/billing/contact';
2007
2972
  };
2008
- export type DeleteUserErrors = {
2973
+ export type UpdateContactResponses = {
2009
2974
  /**
2010
- * Deleting own user is not allowed. Delete your organization instead.
2975
+ * Successfully updated. Returns updated organization details.
2011
2976
  */
2012
- 400: unknown;
2977
+ 200: BillingContact;
2978
+ };
2979
+ export type UpdateContactResponse = UpdateContactResponses[keyof UpdateContactResponses];
2980
+ export type GetCreditsData = {
2981
+ body?: never;
2982
+ path?: never;
2983
+ query?: never;
2984
+ url: '/billing/credits';
2985
+ };
2986
+ export type GetCreditsErrors = {
2013
2987
  /**
2014
2988
  * Not authenticated
2015
2989
  */
2016
2990
  401: unknown;
2017
2991
  };
2018
- export type DeleteUserResponses = {
2992
+ export type GetCreditsResponses = {
2019
2993
  /**
2020
- * User profile information
2994
+ * An array of the applied promotional credits records.
2021
2995
  */
2022
- 200: User;
2996
+ 200: Array<BillingCredits>;
2023
2997
  };
2024
- export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
2025
- export type GetUserData = {
2026
- body?: never;
2027
- path: {
2998
+ export type GetCreditsResponse = GetCreditsResponses[keyof GetCreditsResponses];
2999
+ export type RedeemCreditsData = {
3000
+ body: {
2028
3001
  /**
2029
- * Unique user identifier. UUID v4 string in canonical form
3002
+ * Promotional code to redeem
2030
3003
  */
2031
- user_id: string;
3004
+ code?: string;
2032
3005
  };
3006
+ path?: never;
2033
3007
  query?: never;
2034
- url: '/users/{user_id}';
3008
+ url: '/billing/credits';
2035
3009
  };
2036
- export type GetUserErrors = {
3010
+ export type RedeemCreditsErrors = {
2037
3011
  /**
2038
3012
  * Not authenticated
2039
3013
  */
2040
3014
  401: unknown;
2041
3015
  };
2042
- export type GetUserResponses = {
2043
- /**
2044
- * User profile information
2045
- */
2046
- 200: User;
2047
- };
2048
- export type GetUserResponse = GetUserResponses[keyof GetUserResponses];
2049
- export type UpdateUserData = {
2050
- body: UserUpdateInput;
2051
- path: {
2052
- /**
2053
- * Unique user identifier. UUID v4 string in canonical form
2054
- */
2055
- user_id: string;
2056
- };
2057
- query?: never;
2058
- url: '/users/{user_id}';
2059
- };
2060
- export type UpdateUserResponses = {
3016
+ export type RedeemCreditsResponses = {
2061
3017
  /**
2062
- * Successfully created. Returns created user details.
3018
+ * Successfully created a new organization.
2063
3019
  */
2064
- 200: User;
3020
+ 200: unknown;
2065
3021
  };
2066
- export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
2067
3022
  //# sourceMappingURL=types.gen.d.ts.map