@cloudfleet/sdk 0.0.1-4943b4e → 0.0.1-4adea55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,10 @@ export type ClientOptions = {
2
2
  baseUrl: 'https://api.cloudfleet.ai/v1' | (string & {});
3
3
  };
4
4
  export type BillingContact = {
5
+ /**
6
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
7
+ */
8
+ type: 'business' | 'personal';
5
9
  /**
6
10
  * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
7
11
  */
@@ -129,9 +133,9 @@ export type Chart = {
129
133
  */
130
134
  chart: string;
131
135
  /**
132
- * Status of the chart deployment.
136
+ * Status of the chart deployment (Flux HelmRelease Ready condition reason, e.g. InstallSucceeded, UpgradeFailed, Progressing).
133
137
  */
134
- status: 'InstallSucceeded' | 'InstallFailed' | 'UpgradeSucceeded' | 'UpgradeFailed' | 'TestSucceeded' | 'TestFailed' | 'RollbackSucceeded' | 'RollbackFailed' | 'UninstallSucceeded' | 'UninstallFailed' | 'ArtifactFailed' | 'DependencyNotReady' | 'Progressing' | 'SourceNotReady';
138
+ status: string;
135
139
  /**
136
140
  * Current version of the chart deployment.
137
141
  */
@@ -159,6 +163,9 @@ export type ChartUpdateInput = {
159
163
  */
160
164
  version_channel: string;
161
165
  };
166
+ /**
167
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
168
+ */
162
169
  export type ClusterCreateInput = {
163
170
  /**
164
171
  * Name of the cluster.
@@ -167,15 +174,61 @@ export type ClusterCreateInput = {
167
174
  /**
168
175
  * Tier of the cluster.
169
176
  */
170
- tier: 'basic' | 'pro';
177
+ tier?: 'basic' | 'pro' | 'enterprise';
178
+ /**
179
+ * Version of the kubernetes cluster.
180
+ */
181
+ version_channel?: string;
171
182
  /**
172
- * Cloudfleet control plane region. One of "staging-1a", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.
183
+ * Release channel for the cluster's control plane.
173
184
  */
174
- region?: 'staging-1a' | 'northamerica-central-1' | 'europe-central-1a' | 'northamerica-central-1a';
185
+ release_channel?: 'rapid' | 'stable' | 'extended';
175
186
  /**
176
- * Version of the kubernetes cluster.
187
+ * Cluster feature toggles.
188
+ */
189
+ features?: {
190
+ /**
191
+ * GPU sharing strategy.
192
+ */
193
+ gpu_sharing_strategy?: 'none' | 'mps' | 'time_slicing';
194
+ /**
195
+ * Maximum number of pods that may share a single GPU.
196
+ */
197
+ gpu_max_shared_clients_per_gpu?: number;
198
+ /**
199
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
200
+ */
201
+ cilium_socket_lb_host_namespace_only?: boolean;
202
+ };
203
+ /**
204
+ * Cloudfleet control plane region. This field can not be updated after creation.
177
205
  */
178
- version_channel?: '1.x.x-cfke.x' | '1.31.x-cfke.x' | '1.32.x-cfke.x' | '1.33.x-cfke.x';
206
+ region: string;
207
+ /**
208
+ * Cluster networking configuration. Immutable after creation.
209
+ */
210
+ networking?: {
211
+ /**
212
+ * CIDR block for pod IPs.
213
+ */
214
+ pod_cidr?: string;
215
+ /**
216
+ * CIDR block for service IPs.
217
+ */
218
+ service_cidr?: string;
219
+ /**
220
+ * Enable IPv4+IPv6 dual-stack networking.
221
+ */
222
+ dual_stack?: boolean;
223
+ /**
224
+ * IPv6 pod CIDR. Requires dual_stack.
225
+ */
226
+ pod_cidr_v6?: string;
227
+ /**
228
+ * IPv6 service CIDR. Requires dual_stack.
229
+ */
230
+ service_cidr_v6?: string;
231
+ };
179
232
  };
180
233
  export type ClusterJoinInformation = {
181
234
  /**
@@ -190,6 +243,10 @@ export type ClusterJoinInformation = {
190
243
  * Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.
191
244
  */
192
245
  cluster_dns: string;
246
+ /**
247
+ * Pod CIDR for the cluster. Used to configure iptables rules on nodes to prevent Tailscale routing loops.
248
+ */
249
+ pod_cidr: string;
193
250
  /**
194
251
  * Authentication key for the cluster.
195
252
  */
@@ -237,6 +294,9 @@ export type ClusterJoinInformation = {
237
294
  gcp_workload_identity_provider: string;
238
295
  };
239
296
  };
297
+ /**
298
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
299
+ */
240
300
  export type Cluster = {
241
301
  /**
242
302
  * Name of the cluster.
@@ -245,20 +305,71 @@ export type Cluster = {
245
305
  /**
246
306
  * Tier of the cluster.
247
307
  */
248
- tier: 'basic' | 'pro';
308
+ tier: 'basic' | 'pro' | 'enterprise';
249
309
  /**
250
- * Cloudfleet control plane region. One of "staging-1a", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.
310
+ * Version of the kubernetes cluster.
311
+ */
312
+ version_channel: string;
313
+ /**
314
+ * Release channel for the cluster's control plane.
315
+ */
316
+ release_channel: 'rapid' | 'stable' | 'extended';
317
+ /**
318
+ * Cluster feature toggles.
319
+ */
320
+ features: {
321
+ /**
322
+ * GPU sharing strategy.
323
+ */
324
+ gpu_sharing_strategy: 'none' | 'mps' | 'time_slicing';
325
+ /**
326
+ * Maximum number of pods that may share a single GPU.
327
+ */
328
+ gpu_max_shared_clients_per_gpu: number;
329
+ /**
330
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
331
+ */
332
+ cilium_socket_lb_host_namespace_only: boolean;
333
+ };
334
+ /**
335
+ * Cloudfleet control plane region. This field can not be updated after creation.
336
+ */
337
+ region: string;
338
+ /**
339
+ * Cluster networking configuration. Immutable after creation.
251
340
  */
252
- region?: 'staging-1a' | 'northamerica-central-1' | 'europe-central-1a' | 'northamerica-central-1a';
341
+ networking: {
342
+ /**
343
+ * CIDR block for pod IPs.
344
+ */
345
+ pod_cidr: string;
346
+ /**
347
+ * CIDR block for service IPs.
348
+ */
349
+ service_cidr: string;
350
+ /**
351
+ * Enable IPv4+IPv6 dual-stack networking.
352
+ */
353
+ dual_stack: boolean;
354
+ /**
355
+ * IPv6 pod CIDR. Requires dual_stack.
356
+ */
357
+ pod_cidr_v6: string;
358
+ /**
359
+ * IPv6 service CIDR. Requires dual_stack.
360
+ */
361
+ service_cidr_v6: string;
362
+ };
253
363
  /**
254
364
  * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
255
365
  */
256
366
  id: string;
257
367
  /**
258
- * Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.
368
+ * Status of the cluster.
259
369
  */
260
- status: 'active' | 'disabled' | 'deleted' | 'creating' | 'deployed' | 'failed' | 'updating';
370
+ status: 'creating' | 'deployed' | 'updating' | 'disabled';
261
371
  endpoint?: string | '';
372
+ endpoint_public?: string | '';
262
373
  /**
263
374
  * Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.
264
375
  */
@@ -278,129 +389,259 @@ export type Cluster = {
278
389
  /**
279
390
  * Indicates if the cluster is ready to be used.
280
391
  */
281
- ready?: boolean;
282
- /**
283
- * Version of the kubernetes cluster.
284
- */
285
- version_channel?: string;
392
+ ready: boolean;
286
393
  };
394
+ /**
395
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
396
+ */
287
397
  export type ClusterUpdateInput = {
288
398
  /**
289
399
  * Name of the cluster.
290
400
  */
291
- name?: string;
401
+ name: string;
292
402
  /**
293
403
  * Tier of the cluster.
294
404
  */
295
- tier: 'basic' | 'pro';
405
+ tier?: 'basic' | 'pro' | 'enterprise';
296
406
  /**
297
407
  * Version of the kubernetes cluster.
298
408
  */
299
409
  version_channel?: string;
410
+ /**
411
+ * Release channel for the cluster's control plane.
412
+ */
413
+ release_channel?: 'rapid' | 'stable' | 'extended';
414
+ /**
415
+ * Cluster feature toggles.
416
+ */
417
+ features?: {
418
+ /**
419
+ * GPU sharing strategy.
420
+ */
421
+ gpu_sharing_strategy?: 'none' | 'mps' | 'time_slicing';
422
+ /**
423
+ * Maximum number of pods that may share a single GPU.
424
+ */
425
+ gpu_max_shared_clients_per_gpu?: number;
426
+ /**
427
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
428
+ */
429
+ cilium_socket_lb_host_namespace_only?: boolean;
430
+ };
300
431
  };
432
+ /**
433
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
434
+ */
301
435
  export type FleetCreateInput = {
302
436
  /**
303
437
  * Limits define a set of bounds for provisioning capacity.
304
438
  */
305
439
  limits?: {
306
440
  /**
307
- * CPU limit in cores.
441
+ * CPU limit in cores. Maximum 100,000.
308
442
  */
309
- cpu: number;
443
+ cpu?: number;
310
444
  };
311
445
  gcp?: {
312
- enabled?: boolean;
446
+ enabled: boolean;
313
447
  /**
314
- * Project GCP Project id to deploy instances into
448
+ * GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.
315
449
  */
316
- project: string;
450
+ project?: string;
317
451
  };
318
452
  hetzner?: {
319
- enabled?: boolean;
453
+ enabled: boolean;
320
454
  /**
321
- * Hetzner Cloud API key with read / write access
455
+ * Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.
322
456
  */
323
- apiKey: string;
457
+ apiKey?: string;
324
458
  };
325
459
  aws?: {
326
- enabled?: boolean;
460
+ enabled: boolean;
461
+ /**
462
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
463
+ */
464
+ controllerRoleArn?: string;
465
+ };
466
+ /**
467
+ * 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.
468
+ */
469
+ constraints?: {
470
+ /**
471
+ * Allowed values for `karpenter.sh/capacity-type`.
472
+ */
473
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
474
+ /**
475
+ * Allowed values for `kubernetes.io/arch`.
476
+ */
477
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
327
478
  /**
328
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
479
+ * Allowed values for `cfke.io/instance-family`.
329
480
  */
330
- controllerRoleArn: string;
481
+ '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'>;
482
+ /**
483
+ * Allowed values for `topology.kubernetes.io/region`.
484
+ */
485
+ 'topology.kubernetes.io/region'?: Array<'africa-south1' | 'ap-northeast-1' | 'ap-northeast-2' | 'ap-northeast-3' | 'ap-south-1' | 'ap-southeast-1' | 'ap-southeast-2' | 'ash' | 'asia-east1' | 'asia-east2' | 'asia-northeast1' | 'asia-northeast2' | 'asia-northeast3' | 'asia-south1' | 'asia-south2' | 'asia-southeast1' | 'asia-southeast2' | 'australia-southeast1' | 'australia-southeast2' | 'ca-central-1' | 'eu-central-1' | 'eu-central-2' | 'eu-north-1' | 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'europe-central2' | 'europe-north1' | 'europe-southwest1' | 'europe-west1' | 'europe-west10' | 'europe-west12' | 'europe-west2' | 'europe-west3' | 'europe-west4' | 'europe-west6' | 'europe-west8' | 'europe-west9' | 'fsn1' | 'hel1' | 'hil' | 'me-central1' | 'me-central2' | 'me-west1' | 'nbg1' | 'northamerica-northeast1' | 'northamerica-northeast2' | 'sa-east-1' | 'sin' | 'southamerica-east1' | 'southamerica-west1' | 'us-central1' | 'us-east-1' | 'us-east-2' | 'us-east1' | 'us-east4' | 'us-east5' | 'us-south1' | 'us-west-1' | 'us-west-2' | 'us-west1' | 'us-west2' | 'us-west3' | 'us-west4'>;
331
486
  };
487
+ /**
488
+ * 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`).
489
+ */
490
+ scalingProfile?: 'aggressive' | 'conservative';
332
491
  /**
333
492
  * Unique identifier of the kubernetes fleet.
334
493
  */
335
494
  id: string;
336
495
  };
496
+ /**
497
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
498
+ */
337
499
  export type Fleet = {
338
500
  /**
339
501
  * Limits define a set of bounds for provisioning capacity.
340
502
  */
341
503
  limits?: {
342
504
  /**
343
- * CPU limit in cores.
505
+ * CPU limit in cores. Maximum 100,000.
344
506
  */
345
- cpu: number;
507
+ cpu?: number;
346
508
  };
347
509
  gcp?: {
348
- enabled?: boolean;
510
+ enabled: boolean;
349
511
  /**
350
- * Project GCP Project id to deploy instances into
512
+ * GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.
351
513
  */
352
- project: string;
514
+ project?: string;
353
515
  };
354
516
  hetzner?: {
355
- enabled?: boolean;
517
+ enabled: boolean;
356
518
  /**
357
- * Hetzner Cloud API key with read / write access
519
+ * Redacted Hetzner API token. Returned as 64 asterisks when a token is configured; omitted otherwise. The real value is never echoed by the API.
358
520
  */
359
- apiKey: string;
521
+ apiKey?: string;
360
522
  };
361
523
  aws?: {
362
- enabled?: boolean;
524
+ enabled: boolean;
525
+ /**
526
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
527
+ */
528
+ controllerRoleArn?: string;
529
+ };
530
+ /**
531
+ * 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.
532
+ */
533
+ constraints: {
534
+ /**
535
+ * Allowed values for `karpenter.sh/capacity-type`.
536
+ */
537
+ 'karpenter.sh/capacity-type': Array<'on-demand' | 'spot'>;
538
+ /**
539
+ * Allowed values for `kubernetes.io/arch`.
540
+ */
541
+ 'kubernetes.io/arch': Array<'amd64' | 'arm64'>;
542
+ /**
543
+ * Allowed values for `cfke.io/instance-family`.
544
+ */
545
+ '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'>;
363
546
  /**
364
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
547
+ * Allowed values for `topology.kubernetes.io/region`.
365
548
  */
366
- controllerRoleArn: string;
549
+ 'topology.kubernetes.io/region'?: Array<'africa-south1' | 'ap-northeast-1' | 'ap-northeast-2' | 'ap-northeast-3' | 'ap-south-1' | 'ap-southeast-1' | 'ap-southeast-2' | 'ash' | 'asia-east1' | 'asia-east2' | 'asia-northeast1' | 'asia-northeast2' | 'asia-northeast3' | 'asia-south1' | 'asia-south2' | 'asia-southeast1' | 'asia-southeast2' | 'australia-southeast1' | 'australia-southeast2' | 'ca-central-1' | 'eu-central-1' | 'eu-central-2' | 'eu-north-1' | 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'europe-central2' | 'europe-north1' | 'europe-southwest1' | 'europe-west1' | 'europe-west10' | 'europe-west12' | 'europe-west2' | 'europe-west3' | 'europe-west4' | 'europe-west6' | 'europe-west8' | 'europe-west9' | 'fsn1' | 'hel1' | 'hil' | 'me-central1' | 'me-central2' | 'me-west1' | 'nbg1' | 'northamerica-northeast1' | 'northamerica-northeast2' | 'sa-east-1' | 'sin' | 'southamerica-east1' | 'southamerica-west1' | 'us-central1' | 'us-east-1' | 'us-east-2' | 'us-east1' | 'us-east4' | 'us-east5' | 'us-south1' | 'us-west-1' | 'us-west-2' | 'us-west1' | 'us-west2' | 'us-west3' | 'us-west4'>;
367
550
  };
551
+ /**
552
+ * 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`).
553
+ */
554
+ scalingProfile: 'aggressive' | 'conservative';
368
555
  /**
369
556
  * Unique identifier of the kubernetes fleet.
370
557
  */
371
558
  id: string;
559
+ /**
560
+ * Indicates whether the fleet configuration is healthy.
561
+ */
562
+ ready: boolean;
563
+ /**
564
+ * Human-readable reason the fleet is not ready. Present only when `ready` is false.
565
+ */
566
+ status_message?: string;
567
+ /**
568
+ * Creation date and time of the fleet.
569
+ */
570
+ created_at: string;
571
+ /**
572
+ * Date and time the fleet was last updated.
573
+ */
574
+ updated_at: string;
372
575
  };
576
+ /**
577
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
578
+ */
373
579
  export type FleetUpdateInput = {
374
580
  /**
375
581
  * Limits define a set of bounds for provisioning capacity.
376
582
  */
377
583
  limits?: {
378
584
  /**
379
- * CPU limit in cores.
585
+ * CPU limit in cores. Maximum 100,000.
380
586
  */
381
- cpu: number;
587
+ cpu?: number;
382
588
  };
383
589
  gcp?: {
384
- enabled?: boolean;
590
+ enabled: boolean;
385
591
  /**
386
- * Project GCP Project id to deploy instances into
592
+ * GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.
387
593
  */
388
- project: string;
594
+ project?: string;
389
595
  };
390
596
  hetzner?: {
391
- enabled?: boolean;
597
+ enabled: boolean;
392
598
  /**
393
- * Hetzner Cloud API key with read / write access
599
+ * Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.
394
600
  */
395
- apiKey: string;
601
+ apiKey?: string;
396
602
  };
397
603
  aws?: {
398
- enabled?: boolean;
604
+ enabled: boolean;
605
+ /**
606
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
607
+ */
608
+ controllerRoleArn?: string;
609
+ };
610
+ /**
611
+ * 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.
612
+ */
613
+ constraints?: {
614
+ /**
615
+ * Allowed values for `karpenter.sh/capacity-type`.
616
+ */
617
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
618
+ /**
619
+ * Allowed values for `kubernetes.io/arch`.
620
+ */
621
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
622
+ /**
623
+ * Allowed values for `cfke.io/instance-family`.
624
+ */
625
+ 'cfke.io/instance-family'?: Array<'a1' | 'a2' | 'a3' | 'a4' | 'c1' | 'c2' | 'c2d' | 'c3' | 'c3d' | 'c4' | 'c4a' | 'c4d' | 'c5' | 'c5a' | 'c5ad' | 'c5d' | 'c5n' | 'c6a' | 'c6g' | 'c6gd' | 'c6gn' | 'c6i' | 'c6id' | 'c6in' | 'c7a' | 'c7g' | 'c7gd' | 'c7gn' | 'c7i' | 'c7i-flex' | 'c8g' | 'c8gd' | 'cax' | 'ccx' | 'cpx' | 'cx' | 'd2' | 'd3' | 'd3en' | 'dl1' | 'dl2q' | 'e2' | 'f1' | 'f2' | 'g1' | 'g2' | 'g4ad' | 'g4dn' | 'g5' | 'g5g' | 'g6' | 'g6e' | 'gr6' | 'h1' | 'h3' | 'hpc6a' | 'hpc6id' | 'hpc7a' | 'hpc7g' | 'i2' | 'i3' | 'i3en' | 'i4g' | 'i4i' | 'i7i' | 'i7ie' | 'i8g' | 'im4gn' | 'inf1' | 'inf2' | 'is4gen' | 'm1' | 'm2' | 'm3' | 'm4' | 'm5' | 'm5a' | 'm5ad' | 'm5d' | 'm5dn' | 'm5n' | 'm5zn' | 'm6a' | 'm6g' | 'm6gd' | 'm6i' | 'm6id' | 'm6idn' | 'm6in' | 'm7a' | 'm7g' | 'm7gd' | 'm7i' | 'm7i-flex' | 'm8g' | 'm8gd' | 'n1' | 'n2' | 'n2d' | 'n4' | 'p3' | 'p3dn' | 'p4d' | 'p4de' | 'p5' | 'p5e' | 'p5en' | 'p6-b200' | 'r3' | 'r4' | 'r5' | 'r5a' | 'r5ad' | 'r5b' | 'r5d' | 'r5dn' | 'r5n' | 'r6a' | 'r6g' | 'r6gd' | 'r6i' | 'r6id' | 'r6idn' | 'r6in' | 'r7a' | 'r7g' | 'r7gd' | 'r7i' | 'r7iz' | 'r8g' | 'r8gd' | 't2' | 't2a' | 't2d' | 't3' | 't3a' | 't4g' | 'trn1' | 'trn1n' | 'u-3tb1' | 'u-6tb1' | 'u7i-12tb' | 'u7i-6tb' | 'u7i-8tb' | 'u7in-16tb' | 'u7in-24tb' | 'u7in-32tb' | 'vt1' | 'x1' | 'x1e' | 'x2gd' | 'x2idn' | 'x2iedn' | 'x2iezn' | 'x4' | 'x8g' | 'z1d' | 'z3'>;
399
626
  /**
400
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
627
+ * Allowed values for `topology.kubernetes.io/region`.
401
628
  */
402
- controllerRoleArn: string;
629
+ 'topology.kubernetes.io/region'?: Array<'africa-south1' | 'ap-northeast-1' | 'ap-northeast-2' | 'ap-northeast-3' | 'ap-south-1' | 'ap-southeast-1' | 'ap-southeast-2' | 'ash' | 'asia-east1' | 'asia-east2' | 'asia-northeast1' | 'asia-northeast2' | 'asia-northeast3' | 'asia-south1' | 'asia-south2' | 'asia-southeast1' | 'asia-southeast2' | 'australia-southeast1' | 'australia-southeast2' | 'ca-central-1' | 'eu-central-1' | 'eu-central-2' | 'eu-north-1' | 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'europe-central2' | 'europe-north1' | 'europe-southwest1' | 'europe-west1' | 'europe-west10' | 'europe-west12' | 'europe-west2' | 'europe-west3' | 'europe-west4' | 'europe-west6' | 'europe-west8' | 'europe-west9' | 'fsn1' | 'hel1' | 'hil' | 'me-central1' | 'me-central2' | 'me-west1' | 'nbg1' | 'northamerica-northeast1' | 'northamerica-northeast2' | 'sa-east-1' | 'sin' | 'southamerica-east1' | 'southamerica-west1' | 'us-central1' | 'us-east-1' | 'us-east-2' | 'us-east1' | 'us-east4' | 'us-east5' | 'us-south1' | 'us-west-1' | 'us-west-2' | 'us-west1' | 'us-west2' | 'us-west3' | 'us-west4'>;
403
630
  };
631
+ /**
632
+ * 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`).
633
+ */
634
+ scalingProfile?: 'aggressive' | 'conservative';
635
+ };
636
+ export type InviteCreateInput = {
637
+ /**
638
+ * Email address of the user to invite.
639
+ */
640
+ email: string;
641
+ /**
642
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
643
+ */
644
+ role?: 'Administrator' | 'User';
404
645
  };
405
646
  export type Invite = {
406
647
  /**
@@ -423,6 +664,10 @@ export type Invite = {
423
664
  * Generated unique invite code.
424
665
  */
425
666
  code?: string;
667
+ /**
668
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
669
+ */
670
+ role?: 'Administrator' | 'User';
426
671
  };
427
672
  export type Invoice = {
428
673
  /**
@@ -543,6 +788,10 @@ export type MarketplaceListing = {
543
788
  };
544
789
  };
545
790
  export type OrganizationCreateInput = {
791
+ /**
792
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
793
+ */
794
+ type: 'business' | 'personal';
546
795
  /**
547
796
  * Email address used for billing as a string.
548
797
  */
@@ -564,6 +813,12 @@ export type OrganizationCreateInput = {
564
813
  */
565
814
  password: string;
566
815
  };
816
+ export type OrganizationCreateOutput = {
817
+ /**
818
+ * Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.
819
+ */
820
+ id: string;
821
+ };
567
822
  export type Organization = {
568
823
  /**
569
824
  * Unique identifier of the organization. UUID v4 string in canonical form
@@ -573,6 +828,10 @@ export type Organization = {
573
828
  * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
574
829
  */
575
830
  name?: string;
831
+ /**
832
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
833
+ */
834
+ type: 'business' | 'personal';
576
835
  /**
577
836
  * Creation date of the organization. ISO 8601 date string in UTC timezone
578
837
  */
@@ -597,6 +856,14 @@ export type Organization = {
597
856
  * Available number of Pro clusters that can be created.
598
857
  */
599
858
  pro_clusters_available: number;
859
+ /**
860
+ * Maximum number of Enterprise clusters that can be created.
861
+ */
862
+ enterprise_clusters_max: number;
863
+ /**
864
+ * Available number of Enterprise clusters that can be created.
865
+ */
866
+ enterprise_clusters_available: number;
600
867
  /**
601
868
  * Maximum number of fleets that can be created per cluster.
602
869
  */
@@ -631,36 +898,52 @@ export type Organization = {
631
898
  * Status of the organization. Can be `active` or `closed`, or `suspended`.
632
899
  */
633
900
  status: 'active' | 'closed' | 'suspended';
901
+ /**
902
+ * 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.
903
+ */
904
+ verification: 'none' | 'submitted' | 'verified';
634
905
  };
635
906
  export type PaymentMethod = {
636
907
  /**
637
- * Unique identifier of the organization. UUID v4 string in canonical form.
908
+ * Payment method identifier. Stripe payment method id for cards/SEPA; the constant `bank_transfer` for the invoice/bank-transfer method. Used to set as default or delete the payment method.
638
909
  */
639
910
  id: string;
640
911
  /**
641
- * Whether organization payment method was set up and ready to use for payments.
642
- */
643
- setup: boolean;
644
- /**
645
- * Payment method type type. Only `card` payments supported at the moment.
912
+ * Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.
646
913
  */
647
- type: 'card';
914
+ type: 'card' | 'sepa_debit' | 'bank_transfer';
648
915
  /**
649
- * Last 4 digits of the payment card number.
916
+ * Last 4 digits of the payment card number, of the bank account (IBAN) for SEPA Direct Debit, or of the destination IBAN for bank transfer.
650
917
  */
651
918
  last4: string;
652
919
  /**
653
- * Two-digit number representing the card's expiration month.
920
+ * Two-digit number representing the card's expiration month. Null for SEPA Direct Debit and bank transfer.
654
921
  */
655
922
  exp_month: number;
656
923
  /**
657
- * Four-digit number representing the card's expiration year.
924
+ * Four-digit number representing the card's expiration year. May be in the past for an expired card still on file. Null for SEPA Direct Debit and bank transfer.
658
925
  */
659
926
  exp_year: number;
660
927
  /**
661
- * Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
928
+ * Payment card brand as reported by Stripe, e.g. `visa`, `mastercard`, `amex`, `cartes_bancaires`, or `unknown`. Null for SEPA Direct Debit and bank transfer.
929
+ */
930
+ brand: string;
931
+ /**
932
+ * 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.
933
+ */
934
+ iban: string;
935
+ /**
936
+ * BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.
937
+ */
938
+ bic: string;
939
+ /**
940
+ * Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.
941
+ */
942
+ account_holder_name: string;
943
+ /**
944
+ * Whether this payment method is the default used for invoices and active subscriptions. Always false for `bank_transfer` (it cannot be a Stripe default payment method).
662
945
  */
663
- brand: 'amex' | 'diners' | 'discover' | 'eftpos_au' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
946
+ is_default: boolean;
664
947
  };
665
948
  export type PlatformQuota = {
666
949
  /**
@@ -679,6 +962,14 @@ export type PlatformQuota = {
679
962
  * Available number of Pro clusters that can be created.
680
963
  */
681
964
  pro_clusters_available: number;
965
+ /**
966
+ * Maximum number of Enterprise clusters that can be created.
967
+ */
968
+ enterprise_clusters_max: number;
969
+ /**
970
+ * Available number of Enterprise clusters that can be created.
971
+ */
972
+ enterprise_clusters_available: number;
682
973
  /**
683
974
  * Maximum number of fleets that can be created per cluster.
684
975
  */
@@ -857,111 +1148,363 @@ export type RegistryTag = {
857
1148
  */
858
1149
  uri: string;
859
1150
  };
860
- export type TokenCreateInput = {
861
- /**
862
- * Human readable access token name.
863
- */
864
- name: string;
865
- /**
866
- * Role assumed by the token.
867
- */
868
- role: 'Administrator' | 'User';
869
- };
870
- export type Token = {
871
- /**
872
- * Human readable access token name.
873
- */
874
- name: string;
1151
+ export type TicketAttachment = {
875
1152
  /**
876
- * Role assumed by the token.
1153
+ * Unique identifier of the attachment (Mongo ObjectId).
877
1154
  */
878
- role: 'Administrator' | 'User';
1155
+ id: string;
879
1156
  /**
880
- * Generated unique identifier of the access token.
1157
+ * Original filename as uploaded.
881
1158
  */
882
- id?: string;
1159
+ filename: string;
883
1160
  /**
884
- * Access token secret. Unmasked only during creation.
1161
+ * MIME content type of the attachment.
885
1162
  */
886
- secret?: string;
1163
+ content_type: string;
887
1164
  /**
888
- * Creation date of the access token. ISO 8601 date string in UTC timezone
1165
+ * Size of the attachment in bytes.
889
1166
  */
890
- date_created: string;
1167
+ size: number;
891
1168
  };
892
- export type TokenUpdateInput = {
893
- /**
894
- * Human readable access token name.
895
- */
896
- name?: string;
1169
+ export type TicketCreateInput = {
897
1170
  /**
898
- * Role assumed by the token.
1171
+ * Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.
899
1172
  */
900
- role?: 'Administrator' | 'User';
901
- };
902
- export type UsageFacets = {
1173
+ category: 'billing' | 'technical' | 'general';
903
1174
  /**
904
- * List of unique cluster IDs
1175
+ * Initial message body in markdown. There is no separate subject — the first message body is the description.
905
1176
  */
906
- cluster_id?: Array<string>;
1177
+ body: string;
907
1178
  /**
908
- * List of unique products
1179
+ * Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).
909
1180
  */
910
- product?: Array<string>;
1181
+ properties?: {
1182
+ [key: string]: unknown;
1183
+ };
911
1184
  };
912
- export type UsageResponse = {
1185
+ export type TicketListResponse = {
913
1186
  /**
914
- * Usage data
1187
+ * Tickets for the organization, ordered newest first. Messages are omitted from list responses.
915
1188
  */
916
- data: Array<{
1189
+ items: Array<{
917
1190
  /**
918
- * Hour of the usage
1191
+ * Unique identifier of the ticket (Mongo ObjectId).
919
1192
  */
920
- hour: string;
1193
+ id: string;
921
1194
  /**
922
- * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1195
+ * Current state of the ticket.
923
1196
  */
924
- cluster_id: string;
1197
+ status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
925
1198
  /**
926
- * The product the usage is associated with
1199
+ * Ticket category.
927
1200
  */
928
- product: string;
1201
+ category: 'billing' | 'technical' | 'general';
929
1202
  /**
930
- * Consumption
1203
+ * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
931
1204
  */
932
- value: number;
1205
+ summary: string;
933
1206
  /**
934
- * Price per unit
1207
+ * Closure timestamp. Null while the ticket is open.
935
1208
  */
936
- price: number;
1209
+ closed_at?: string;
937
1210
  /**
938
- * Total cost
1211
+ * Creation date of the ticket. ISO 8601 UTC.
939
1212
  */
940
- total: number;
941
- }>;
942
- /**
943
- * Facets for filtering
944
- */
945
- facets: {
1213
+ date_created: string;
946
1214
  /**
947
- * List of unique cluster IDs
1215
+ * Last update date of the ticket. ISO 8601 UTC.
948
1216
  */
949
- cluster_id?: Array<string>;
1217
+ date_updated: string;
950
1218
  /**
951
- * List of unique products
1219
+ * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
952
1220
  */
953
- product?: Array<string>;
954
- };
1221
+ messages?: Array<{
1222
+ /**
1223
+ * Unique identifier of the message (Mongo ObjectId).
1224
+ */
1225
+ id: string;
1226
+ /**
1227
+ * Message type. Internal notes are filtered out of customer-facing responses.
1228
+ */
1229
+ type: 'customer_reply' | 'agent_reply';
1230
+ /**
1231
+ * Message body in markdown.
1232
+ */
1233
+ body: string;
1234
+ /**
1235
+ * First name of the author. Null when not provided.
1236
+ */
1237
+ author_first_name?: string;
1238
+ /**
1239
+ * Last name of the author. Null when not provided.
1240
+ */
1241
+ author_last_name?: string;
1242
+ /**
1243
+ * Attachments associated with this message.
1244
+ */
1245
+ attachments?: Array<{
1246
+ /**
1247
+ * Unique identifier of the attachment (Mongo ObjectId).
1248
+ */
1249
+ id: string;
1250
+ /**
1251
+ * Original filename as uploaded.
1252
+ */
1253
+ filename: string;
1254
+ /**
1255
+ * MIME content type of the attachment.
1256
+ */
1257
+ content_type: string;
1258
+ /**
1259
+ * Size of the attachment in bytes.
1260
+ */
1261
+ size: number;
1262
+ }>;
1263
+ /**
1264
+ * Creation date of the message. ISO 8601 UTC.
1265
+ */
1266
+ date_created: string;
1267
+ }>;
1268
+ }>;
955
1269
  };
956
- export type Usage = {
1270
+ export type TicketMessageInput = {
957
1271
  /**
958
- * Hour of the usage
1272
+ * Reply body in markdown.
959
1273
  */
960
- hour: string;
1274
+ body: string;
1275
+ };
1276
+ export type TicketMessage = {
961
1277
  /**
962
- * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1278
+ * Unique identifier of the message (Mongo ObjectId).
963
1279
  */
964
- cluster_id: string;
1280
+ id: string;
1281
+ /**
1282
+ * Message type. Internal notes are filtered out of customer-facing responses.
1283
+ */
1284
+ type: 'customer_reply' | 'agent_reply';
1285
+ /**
1286
+ * Message body in markdown.
1287
+ */
1288
+ body: string;
1289
+ /**
1290
+ * First name of the author. Null when not provided.
1291
+ */
1292
+ author_first_name?: string;
1293
+ /**
1294
+ * Last name of the author. Null when not provided.
1295
+ */
1296
+ author_last_name?: string;
1297
+ /**
1298
+ * Attachments associated with this message.
1299
+ */
1300
+ attachments?: Array<{
1301
+ /**
1302
+ * Unique identifier of the attachment (Mongo ObjectId).
1303
+ */
1304
+ id: string;
1305
+ /**
1306
+ * Original filename as uploaded.
1307
+ */
1308
+ filename: string;
1309
+ /**
1310
+ * MIME content type of the attachment.
1311
+ */
1312
+ content_type: string;
1313
+ /**
1314
+ * Size of the attachment in bytes.
1315
+ */
1316
+ size: number;
1317
+ }>;
1318
+ /**
1319
+ * Creation date of the message. ISO 8601 UTC.
1320
+ */
1321
+ date_created: string;
1322
+ };
1323
+ export type Ticket = {
1324
+ /**
1325
+ * Unique identifier of the ticket (Mongo ObjectId).
1326
+ */
1327
+ id: string;
1328
+ /**
1329
+ * Current state of the ticket.
1330
+ */
1331
+ status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
1332
+ /**
1333
+ * Ticket category.
1334
+ */
1335
+ category: 'billing' | 'technical' | 'general';
1336
+ /**
1337
+ * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
1338
+ */
1339
+ summary: string;
1340
+ /**
1341
+ * Closure timestamp. Null while the ticket is open.
1342
+ */
1343
+ closed_at?: string;
1344
+ /**
1345
+ * Creation date of the ticket. ISO 8601 UTC.
1346
+ */
1347
+ date_created: string;
1348
+ /**
1349
+ * Last update date of the ticket. ISO 8601 UTC.
1350
+ */
1351
+ date_updated: string;
1352
+ /**
1353
+ * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
1354
+ */
1355
+ messages?: Array<{
1356
+ /**
1357
+ * Unique identifier of the message (Mongo ObjectId).
1358
+ */
1359
+ id: string;
1360
+ /**
1361
+ * Message type. Internal notes are filtered out of customer-facing responses.
1362
+ */
1363
+ type: 'customer_reply' | 'agent_reply';
1364
+ /**
1365
+ * Message body in markdown.
1366
+ */
1367
+ body: string;
1368
+ /**
1369
+ * First name of the author. Null when not provided.
1370
+ */
1371
+ author_first_name?: string;
1372
+ /**
1373
+ * Last name of the author. Null when not provided.
1374
+ */
1375
+ author_last_name?: string;
1376
+ /**
1377
+ * Attachments associated with this message.
1378
+ */
1379
+ attachments?: Array<{
1380
+ /**
1381
+ * Unique identifier of the attachment (Mongo ObjectId).
1382
+ */
1383
+ id: string;
1384
+ /**
1385
+ * Original filename as uploaded.
1386
+ */
1387
+ filename: string;
1388
+ /**
1389
+ * MIME content type of the attachment.
1390
+ */
1391
+ content_type: string;
1392
+ /**
1393
+ * Size of the attachment in bytes.
1394
+ */
1395
+ size: number;
1396
+ }>;
1397
+ /**
1398
+ * Creation date of the message. ISO 8601 UTC.
1399
+ */
1400
+ date_created: string;
1401
+ }>;
1402
+ };
1403
+ export type TokenCreateInput = {
1404
+ /**
1405
+ * Human readable access token name.
1406
+ */
1407
+ name: string;
1408
+ /**
1409
+ * Role assumed by the token.
1410
+ */
1411
+ role: 'Administrator' | 'User';
1412
+ };
1413
+ export type Token = {
1414
+ /**
1415
+ * Human readable access token name.
1416
+ */
1417
+ name: string;
1418
+ /**
1419
+ * Role assumed by the token.
1420
+ */
1421
+ role: 'Administrator' | 'User';
1422
+ /**
1423
+ * Generated unique identifier of the access token.
1424
+ */
1425
+ id?: string;
1426
+ /**
1427
+ * Access token secret. Unmasked only during creation.
1428
+ */
1429
+ secret?: string;
1430
+ /**
1431
+ * Creation date of the access token. ISO 8601 date string in UTC timezone
1432
+ */
1433
+ date_created: string;
1434
+ };
1435
+ export type TokenUpdateInput = {
1436
+ /**
1437
+ * Human readable access token name.
1438
+ */
1439
+ name?: string;
1440
+ /**
1441
+ * Role assumed by the token.
1442
+ */
1443
+ role?: 'Administrator' | 'User';
1444
+ };
1445
+ export type UsageFacets = {
1446
+ /**
1447
+ * List of unique cluster IDs
1448
+ */
1449
+ cluster_id?: Array<string>;
1450
+ /**
1451
+ * List of unique products
1452
+ */
1453
+ product?: Array<string>;
1454
+ };
1455
+ export type UsageResponse = {
1456
+ /**
1457
+ * Usage data
1458
+ */
1459
+ data: Array<{
1460
+ /**
1461
+ * Hour of the usage
1462
+ */
1463
+ hour: string;
1464
+ /**
1465
+ * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1466
+ */
1467
+ cluster_id: string;
1468
+ /**
1469
+ * The product the usage is associated with
1470
+ */
1471
+ product: string;
1472
+ /**
1473
+ * Consumption
1474
+ */
1475
+ value: number;
1476
+ /**
1477
+ * Price per unit
1478
+ */
1479
+ price: number;
1480
+ /**
1481
+ * Total cost
1482
+ */
1483
+ total: number;
1484
+ }>;
1485
+ /**
1486
+ * Facets for filtering
1487
+ */
1488
+ facets: {
1489
+ /**
1490
+ * List of unique cluster IDs
1491
+ */
1492
+ cluster_id?: Array<string>;
1493
+ /**
1494
+ * List of unique products
1495
+ */
1496
+ product?: Array<string>;
1497
+ };
1498
+ };
1499
+ export type Usage = {
1500
+ /**
1501
+ * Hour of the usage
1502
+ */
1503
+ hour: string;
1504
+ /**
1505
+ * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1506
+ */
1507
+ cluster_id: string;
965
1508
  /**
966
1509
  * The product the usage is associated with
967
1510
  */
@@ -1000,14 +1543,6 @@ export type UserCreateInput = {
1000
1543
  * User password. Must be at least 8 characters long.
1001
1544
  */
1002
1545
  password: string;
1003
- /**
1004
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1005
- */
1006
- status?: 'active' | 'inactive';
1007
- /**
1008
- * User role. Can be 'Administrator', 'User'.
1009
- */
1010
- role?: 'Administrator' | 'User';
1011
1546
  };
1012
1547
  export type User = {
1013
1548
  /**
@@ -1061,466 +1596,698 @@ export type UserUpdateInput = {
1061
1596
  */
1062
1597
  status?: 'active' | 'inactive';
1063
1598
  };
1064
- export type GetUsageData = {
1599
+ export type ListUserOrganizationsData = {
1065
1600
  body?: never;
1066
- path?: never;
1067
- query?: {
1601
+ path: {
1068
1602
  /**
1069
- * Time granularity for usage aggregation - hourly (Past 48 hours aggregated by hour), daily (Past 30 days aggregated by day), monthly (Past 12 months aggregated by month)
1603
+ * User email address.
1070
1604
  */
1071
- granularity?: 'hourly' | 'daily' | 'monthly';
1605
+ email: string;
1072
1606
  };
1073
- url: '/billing/usage';
1074
- };
1075
- export type GetUsageErrors = {
1076
- /**
1077
- * Not authenticated
1078
- */
1079
- 401: unknown;
1607
+ query?: never;
1608
+ url: '/users/organizations/{email}';
1080
1609
  };
1081
- export type GetUsageResponses = {
1610
+ export type ListUserOrganizationsResponses = {
1082
1611
  /**
1083
- * Usage data with facets for filtering
1612
+ * An array of organizations the user belongs to.
1084
1613
  */
1085
- 200: UsageResponse;
1614
+ 200: Array<{
1615
+ /**
1616
+ * Unique identifier of the organization. UUID v4 string in canonical form
1617
+ */
1618
+ realm?: string;
1619
+ /**
1620
+ * Human-readable name of the organization
1621
+ */
1622
+ displayName?: string;
1623
+ }>;
1086
1624
  };
1087
- export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
1088
- export type GetPaymentMethodData = {
1625
+ export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
1626
+ export type ListUsersData = {
1089
1627
  body?: never;
1090
1628
  path?: never;
1091
1629
  query?: never;
1092
- url: '/billing/payment-method';
1630
+ url: '/users';
1093
1631
  };
1094
- export type GetPaymentMethodErrors = {
1632
+ export type ListUsersErrors = {
1095
1633
  /**
1096
- * Returns 404 Not Found if the organization does not have a payment method set up.
1634
+ * Not authenticated
1097
1635
  */
1098
- 404: unknown;
1636
+ 401: unknown;
1099
1637
  };
1100
- export type GetPaymentMethodResponses = {
1638
+ export type ListUsersResponses = {
1101
1639
  /**
1102
- * Redacted payment card information.
1640
+ * An array of users
1103
1641
  */
1104
- 200: PaymentMethod;
1642
+ 200: Array<User>;
1105
1643
  };
1106
- export type GetPaymentMethodResponse = GetPaymentMethodResponses[keyof GetPaymentMethodResponses];
1107
- export type GetPaymentMethodSecretData = {
1108
- body?: never;
1644
+ export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
1645
+ export type CreateUserData = {
1646
+ body: UserCreateInput;
1109
1647
  path?: never;
1110
1648
  query?: never;
1111
- url: '/billing/payment-method';
1649
+ url: '/users';
1112
1650
  };
1113
- export type GetPaymentMethodSecretResponses = {
1651
+ export type CreateUserResponses = {
1114
1652
  /**
1115
- * The client secret. Used for client-side retrieval using a publishable key. The client secret can be used to complete a payment from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.
1116
- *
1653
+ * Successfully created. Returns created user details.
1117
1654
  */
1118
- 200: {
1655
+ 200: User;
1656
+ };
1657
+ export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
1658
+ export type DeleteUserData = {
1659
+ body?: never;
1660
+ path: {
1119
1661
  /**
1120
- * The client secret.
1662
+ * Unique user identifier. UUID v4 string in canonical form
1121
1663
  */
1122
- id?: string;
1664
+ user_id: string;
1123
1665
  };
1666
+ query?: never;
1667
+ url: '/users/{user_id}';
1124
1668
  };
1125
- export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
1126
- export type ListInvoicesData = {
1127
- body?: never;
1128
- path?: never;
1129
- query?: never;
1130
- url: '/billing/invoices';
1131
- };
1132
- export type ListInvoicesErrors = {
1669
+ export type DeleteUserErrors = {
1670
+ /**
1671
+ * Deleting own user is not allowed. Delete your organization instead.
1672
+ */
1673
+ 400: unknown;
1133
1674
  /**
1134
1675
  * Not authenticated
1135
1676
  */
1136
1677
  401: unknown;
1137
1678
  };
1138
- export type ListInvoicesResponses = {
1679
+ export type DeleteUserResponses = {
1139
1680
  /**
1140
- * An array of usage records.
1681
+ * User profile information
1141
1682
  */
1142
- 200: Array<Invoice>;
1683
+ 200: User;
1143
1684
  };
1144
- export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
1145
- export type GetContactData = {
1685
+ export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
1686
+ export type GetUserData = {
1146
1687
  body?: never;
1147
- path?: never;
1688
+ path: {
1689
+ /**
1690
+ * Unique user identifier. UUID v4 string in canonical form
1691
+ */
1692
+ user_id: string;
1693
+ };
1148
1694
  query?: never;
1149
- url: '/billing/contact';
1695
+ url: '/users/{user_id}';
1150
1696
  };
1151
- export type GetContactResponses = {
1697
+ export type GetUserErrors = {
1152
1698
  /**
1153
- * Returns a single object containing organization contact and billing address details.
1699
+ * Not authenticated
1154
1700
  */
1155
- 200: BillingContact;
1701
+ 401: unknown;
1156
1702
  };
1157
- export type GetContactResponse = GetContactResponses[keyof GetContactResponses];
1158
- export type UpdateContactData = {
1159
- body: BillingContact;
1160
- path?: never;
1703
+ export type GetUserResponses = {
1704
+ /**
1705
+ * User profile information
1706
+ */
1707
+ 200: User;
1708
+ };
1709
+ export type GetUserResponse = GetUserResponses[keyof GetUserResponses];
1710
+ export type UpdateUserData = {
1711
+ body: UserUpdateInput;
1712
+ path: {
1713
+ /**
1714
+ * Unique user identifier. UUID v4 string in canonical form
1715
+ */
1716
+ user_id: string;
1717
+ };
1161
1718
  query?: never;
1162
- url: '/billing/contact';
1719
+ url: '/users/{user_id}';
1163
1720
  };
1164
- export type UpdateContactResponses = {
1721
+ export type UpdateUserResponses = {
1165
1722
  /**
1166
- * Successfully updated. Returns updated organization details.
1723
+ * Successfully created. Returns created user details.
1167
1724
  */
1168
- 200: BillingContact;
1725
+ 200: User;
1169
1726
  };
1170
- export type UpdateContactResponse = UpdateContactResponses[keyof UpdateContactResponses];
1171
- export type GetCreditsData = {
1727
+ export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
1728
+ export type ListTokensData = {
1172
1729
  body?: never;
1173
1730
  path?: never;
1174
1731
  query?: never;
1175
- url: '/billing/credits';
1732
+ url: '/tokens';
1176
1733
  };
1177
- export type GetCreditsErrors = {
1734
+ export type ListTokensErrors = {
1178
1735
  /**
1179
1736
  * Not authenticated
1180
1737
  */
1181
1738
  401: unknown;
1182
1739
  };
1183
- export type GetCreditsResponses = {
1740
+ export type ListTokensResponses = {
1184
1741
  /**
1185
- * An array of the applied promotional credits records.
1742
+ * Returns a list of access token details with masked secrets.
1186
1743
  */
1187
- 200: Array<BillingCredits>;
1744
+ 200: Array<Token>;
1188
1745
  };
1189
- export type GetCreditsResponse = GetCreditsResponses[keyof GetCreditsResponses];
1190
- export type RedeemCreditsData = {
1191
- body: {
1192
- /**
1193
- * Promotional code to redeem
1194
- */
1195
- code?: string;
1196
- };
1746
+ export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1747
+ export type CreateTokenData = {
1748
+ body: TokenCreateInput;
1197
1749
  path?: never;
1198
1750
  query?: never;
1199
- url: '/billing/credits';
1751
+ url: '/tokens';
1200
1752
  };
1201
- export type RedeemCreditsErrors = {
1753
+ export type CreateTokenErrors = {
1202
1754
  /**
1203
1755
  * Not authenticated
1204
1756
  */
1205
1757
  401: unknown;
1206
1758
  };
1207
- export type RedeemCreditsResponses = {
1759
+ export type CreateTokenResponses = {
1208
1760
  /**
1209
- * Successfully created a new organization.
1761
+ * Successfully created. Returns created token details with unmasked/raw secret.
1762
+ */
1763
+ 200: Token;
1764
+ };
1765
+ export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1766
+ export type DeleteTokenData = {
1767
+ body?: never;
1768
+ path: {
1769
+ /**
1770
+ * Generated unique identifier of the access token.
1771
+ */
1772
+ token_id: string;
1773
+ };
1774
+ query?: never;
1775
+ url: '/tokens/{token_id}';
1776
+ };
1777
+ export type DeleteTokenResponses = {
1778
+ /**
1779
+ * Successfully deleted.
1210
1780
  */
1211
1781
  200: unknown;
1212
1782
  };
1213
- export type ListChartsData = {
1783
+ export type GetTokenData = {
1214
1784
  body?: never;
1215
1785
  path: {
1216
1786
  /**
1217
- * Unique identifier of the cluster. UUID v4 string in canonical form
1787
+ * Generated unique identifier of the access token.
1218
1788
  */
1219
- cluster_id: string;
1789
+ token_id: string;
1220
1790
  };
1221
1791
  query?: never;
1222
- url: '/clusters/{cluster_id}/charts';
1792
+ url: '/tokens/{token_id}';
1223
1793
  };
1224
- export type ListChartsErrors = {
1794
+ export type GetTokenErrors = {
1225
1795
  /**
1226
1796
  * Not authenticated
1227
1797
  */
1228
1798
  401: unknown;
1229
1799
  };
1230
- export type ListChartsResponses = {
1800
+ export type GetTokenResponses = {
1231
1801
  /**
1232
- * An array of charts
1802
+ * Returns access token details with masked secret.
1233
1803
  */
1234
- 200: Array<Chart>;
1804
+ 200: Token;
1235
1805
  };
1236
- export type ListChartsResponse = ListChartsResponses[keyof ListChartsResponses];
1237
- export type CreateChartData = {
1238
- body: ChartCreateInput;
1806
+ export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
1807
+ export type UpdateTokenData = {
1808
+ body: TokenUpdateInput;
1239
1809
  path: {
1240
1810
  /**
1241
- * Unique identifier of the cluster. UUID v4 string in canonical form
1811
+ * Generated unique identifier of the access token.
1242
1812
  */
1243
- cluster_id: string;
1813
+ token_id: string;
1244
1814
  };
1245
1815
  query?: never;
1246
- url: '/clusters/{cluster_id}/charts';
1816
+ url: '/tokens/{token_id}';
1247
1817
  };
1248
- export type CreateChartResponses = {
1818
+ export type UpdateTokenErrors = {
1249
1819
  /**
1250
- * Successfully created. Returns created Chart ID.
1820
+ * Not authenticated
1251
1821
  */
1252
- 200: string;
1822
+ 401: unknown;
1253
1823
  };
1254
- export type CreateChartResponse = CreateChartResponses[keyof CreateChartResponses];
1255
- export type DeleteChartData = {
1824
+ export type UpdateTokenResponses = {
1825
+ /**
1826
+ * Successfully updated. Returns updated token details with masked secret.
1827
+ */
1828
+ 200: Token;
1829
+ };
1830
+ export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
1831
+ export type RegenerateTokenData = {
1256
1832
  body?: never;
1257
1833
  path: {
1258
1834
  /**
1259
- * Unique identifier of the cluster. UUID v4 string in canonical form
1260
- */
1261
- cluster_id: string;
1262
- /**
1263
- * Chart deployment name as the unique identifier of the chart.
1835
+ * Generated unique identifier of the access token.
1264
1836
  */
1265
- chart_name: string;
1837
+ token_id: string;
1266
1838
  };
1267
1839
  query?: never;
1268
- url: '/clusters/{cluster_id}/charts/{chart_name}';
1840
+ url: '/tokens/{token_id}/secret';
1269
1841
  };
1270
- export type DeleteChartResponses = {
1842
+ export type RegenerateTokenErrors = {
1271
1843
  /**
1272
- * Successfully deleted.
1844
+ * Not authenticated
1273
1845
  */
1274
- 200: string;
1846
+ 401: unknown;
1275
1847
  };
1276
- export type DeleteChartResponse = DeleteChartResponses[keyof DeleteChartResponses];
1277
- export type GetChartData = {
1848
+ export type RegenerateTokenResponses = {
1849
+ /**
1850
+ * Successfully updated. Returns updated token details with unmasked / raw secret.
1851
+ */
1852
+ 200: Token;
1853
+ };
1854
+ export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
1855
+ export type ListTicketsData = {
1278
1856
  body?: never;
1279
- path: {
1280
- /**
1281
- * Unique identifier of the cluster. UUID v4 string in canonical form
1282
- */
1283
- cluster_id: string;
1284
- /**
1285
- * Chart deployment name as the unique identifier of the chart.
1286
- */
1287
- chart_name: string;
1288
- };
1857
+ path?: never;
1289
1858
  query?: never;
1290
- url: '/clusters/{cluster_id}/charts/{chart_name}';
1859
+ url: '/tickets';
1291
1860
  };
1292
- export type GetChartResponses = {
1861
+ export type ListTicketsResponses = {
1293
1862
  /**
1294
- * Returns a single object containing chart details.
1863
+ * Tickets for the organization.
1295
1864
  */
1296
- 200: Chart;
1865
+ 200: TicketListResponse;
1297
1866
  };
1298
- export type GetChartResponse = GetChartResponses[keyof GetChartResponses];
1299
- export type UpdateChartData = {
1300
- body: ChartUpdateInput;
1301
- path: {
1302
- /**
1303
- * Unique identifier of the cluster. UUID v4 string in canonical form
1304
- */
1305
- cluster_id: string;
1867
+ export type ListTicketsResponse = ListTicketsResponses[keyof ListTicketsResponses];
1868
+ export type CreateTicketData = {
1869
+ body: {
1306
1870
  /**
1307
- * Chart deployment name as the unique identifier of the chart.
1871
+ * JSON-encoded TicketCreateInput.
1308
1872
  */
1309
- chart_name: string;
1873
+ payload?: string;
1874
+ attachments?: Array<Blob | File>;
1310
1875
  };
1876
+ path?: never;
1311
1877
  query?: never;
1312
- url: '/clusters/{cluster_id}/charts/{chart_name}';
1878
+ url: '/tickets';
1313
1879
  };
1314
- export type UpdateChartResponses = {
1880
+ export type CreateTicketResponses = {
1315
1881
  /**
1316
- * Successfully updated.
1882
+ * Ticket created.
1317
1883
  */
1318
- 200: string;
1884
+ 200: Ticket;
1319
1885
  };
1320
- export type UpdateChartResponse = UpdateChartResponses[keyof UpdateChartResponses];
1321
- export type ListFleetsData = {
1886
+ export type CreateTicketResponse = CreateTicketResponses[keyof CreateTicketResponses];
1887
+ export type CloseTicketData = {
1322
1888
  body?: never;
1323
1889
  path: {
1324
- /**
1325
- * Unique identifier of the cluster. UUID v4 string in canonical form
1326
- */
1327
- cluster_id: string;
1890
+ ticket_id: string;
1328
1891
  };
1329
1892
  query?: never;
1330
- url: '/clusters/{cluster_id}/fleets';
1893
+ url: '/tickets/{ticket_id}';
1331
1894
  };
1332
- export type ListFleetsErrors = {
1895
+ export type CloseTicketResponses = {
1333
1896
  /**
1334
- * Not authenticated
1897
+ * Ticket closed.
1335
1898
  */
1336
- 401: unknown;
1899
+ 200: Ticket;
1337
1900
  };
1338
- export type ListFleetsResponses = {
1901
+ export type CloseTicketResponse = CloseTicketResponses[keyof CloseTicketResponses];
1902
+ export type GetTicketData = {
1903
+ body?: never;
1904
+ path: {
1905
+ ticket_id: string;
1906
+ };
1907
+ query?: never;
1908
+ url: '/tickets/{ticket_id}';
1909
+ };
1910
+ export type GetTicketResponses = {
1339
1911
  /**
1340
- * An array of fleets
1912
+ * Ticket with messages (internal notes excluded).
1341
1913
  */
1342
- 200: Array<Fleet>;
1914
+ 200: Ticket;
1343
1915
  };
1344
- export type ListFleetsResponse = ListFleetsResponses[keyof ListFleetsResponses];
1345
- export type CreateFleetData = {
1346
- body: FleetCreateInput;
1347
- path: {
1916
+ export type GetTicketResponse = GetTicketResponses[keyof GetTicketResponses];
1917
+ export type ReplyTicketData = {
1918
+ body: {
1348
1919
  /**
1349
- * Unique identifier of the cluster. UUID v4 string in canonical form
1920
+ * JSON-encoded TicketMessageInput.
1350
1921
  */
1351
- cluster_id: string;
1922
+ payload?: string;
1923
+ attachments?: Array<Blob | File>;
1924
+ };
1925
+ path: {
1926
+ ticket_id: string;
1352
1927
  };
1353
1928
  query?: never;
1354
- url: '/clusters/{cluster_id}/fleets';
1929
+ url: '/tickets/{ticket_id}/messages';
1355
1930
  };
1356
- export type CreateFleetErrors = {
1931
+ export type ReplyTicketErrors = {
1357
1932
  /**
1358
- * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
1933
+ * Ticket is closed. Open a new ticket instead.
1359
1934
  */
1360
- 402: string;
1935
+ 409: unknown;
1361
1936
  };
1362
- export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
1363
- export type CreateFleetResponses = {
1937
+ export type ReplyTicketResponses = {
1364
1938
  /**
1365
- * Successfully created. Returns created Fleet ID.
1939
+ * Reply appended.
1366
1940
  */
1367
- 200: string;
1941
+ 200: TicketMessage;
1368
1942
  };
1369
- export type CreateFleetResponse = CreateFleetResponses[keyof CreateFleetResponses];
1370
- export type DeleteFleetData = {
1943
+ export type ReplyTicketResponse = ReplyTicketResponses[keyof ReplyTicketResponses];
1944
+ export type GetTicketAttachmentData = {
1371
1945
  body?: never;
1372
1946
  path: {
1373
- /**
1374
- * Unique identifier of the cluster. UUID v4 string in canonical form
1375
- */
1376
- cluster_id: string;
1377
- /**
1378
- * Unique identifier of the fleet. UUID v4 string in canonical form
1379
- */
1380
- fleet_name: string;
1947
+ ticket_id: string;
1948
+ attachment_id: string;
1381
1949
  };
1382
1950
  query?: never;
1383
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1951
+ url: '/tickets/{ticket_id}/attachments/{attachment_id}';
1384
1952
  };
1385
- export type DeleteFleetResponses = {
1953
+ export type GetTicketAttachmentResponses = {
1386
1954
  /**
1387
- * Successfully deleted.
1955
+ * Attachment binary stream.
1388
1956
  */
1389
- 200: string;
1957
+ 200: Blob | File;
1390
1958
  };
1391
- export type DeleteFleetResponse = DeleteFleetResponses[keyof DeleteFleetResponses];
1392
- export type GetFleetData = {
1959
+ export type GetTicketAttachmentResponse = GetTicketAttachmentResponses[keyof GetTicketAttachmentResponses];
1960
+ export type ListRepositoriesData = {
1961
+ body?: never;
1962
+ path?: never;
1963
+ query?: never;
1964
+ url: '/registry';
1965
+ };
1966
+ export type ListRepositoriesErrors = {
1967
+ /**
1968
+ * Not authenticated
1969
+ */
1970
+ 401: unknown;
1971
+ /**
1972
+ * Internal server error
1973
+ */
1974
+ 500: unknown;
1975
+ };
1976
+ export type ListRepositoriesResponses = {
1977
+ /**
1978
+ * List of repositories
1979
+ */
1980
+ 200: Array<RegistryRepository>;
1981
+ };
1982
+ export type ListRepositoriesResponse = ListRepositoriesResponses[keyof ListRepositoriesResponses];
1983
+ export type ListTagsData = {
1393
1984
  body?: never;
1394
1985
  path: {
1395
1986
  /**
1396
- * Unique identifier of the cluster. UUID v4 string in canonical form
1987
+ * Region where the repository is located
1397
1988
  */
1398
- cluster_id: string;
1989
+ region: string;
1399
1990
  /**
1400
- * Unique identifier of the fleet. UUID v4 string in canonical form
1991
+ * Name of the repository
1401
1992
  */
1402
- fleet_name: string;
1993
+ repository: string;
1403
1994
  };
1404
1995
  query?: never;
1405
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1996
+ url: '/registry/{region}/{repository}';
1406
1997
  };
1407
- export type GetFleetResponses = {
1998
+ export type ListTagsErrors = {
1408
1999
  /**
1409
- * Returns a single object containing fleet details.
2000
+ * Not authenticated
1410
2001
  */
1411
- 200: Fleet;
2002
+ 401: unknown;
2003
+ /**
2004
+ * Repository not found
2005
+ */
2006
+ 404: unknown;
2007
+ /**
2008
+ * Internal server error
2009
+ */
2010
+ 500: unknown;
1412
2011
  };
1413
- export type GetFleetResponse = GetFleetResponses[keyof GetFleetResponses];
1414
- export type UpdateFleetData = {
1415
- body: FleetUpdateInput;
2012
+ export type ListTagsResponses = {
2013
+ /**
2014
+ * Repository with tags
2015
+ */
2016
+ 200: RegistryRepositoryWithTags;
2017
+ };
2018
+ export type ListTagsResponse = ListTagsResponses[keyof ListTagsResponses];
2019
+ export type DeleteTagData = {
2020
+ body?: never;
1416
2021
  path: {
1417
2022
  /**
1418
- * Unique identifier of the cluster. UUID v4 string in canonical form
2023
+ * Region where the repository is located
1419
2024
  */
1420
- cluster_id: string;
2025
+ region: string;
1421
2026
  /**
1422
- * Unique identifier of the fleet. UUID v4 string in canonical form
2027
+ * Name of the repository
1423
2028
  */
1424
- fleet_name: string;
2029
+ repository: string;
2030
+ /**
2031
+ * Name of the tag
2032
+ */
2033
+ tag: string;
1425
2034
  };
1426
2035
  query?: never;
1427
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2036
+ url: '/registry/{region}/{repository}/{tag}';
1428
2037
  };
1429
- export type UpdateFleetErrors = {
2038
+ export type DeleteTagErrors = {
1430
2039
  /**
1431
- * Organization must have a valid payment method configured to access this endpoint.
2040
+ * Not authenticated
1432
2041
  */
1433
- 402: string;
2042
+ 401: unknown;
2043
+ /**
2044
+ * Tag not found
2045
+ */
2046
+ 404: unknown;
2047
+ /**
2048
+ * Internal server error
2049
+ */
2050
+ 500: unknown;
1434
2051
  };
1435
- export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
1436
- export type UpdateFleetResponses = {
2052
+ export type DeleteTagResponses = {
1437
2053
  /**
1438
- * Successfully updated.
2054
+ * Tag successfully deleted
1439
2055
  */
1440
- 200: string;
2056
+ 200: unknown;
1441
2057
  };
1442
- export type UpdateFleetResponse = UpdateFleetResponses[keyof UpdateFleetResponses];
1443
- export type QueryClusterData = {
2058
+ export type GetTagData = {
1444
2059
  body?: never;
1445
2060
  path: {
1446
2061
  /**
1447
- * Unique identifier of the cluster. UUID v4 string in canonical form
2062
+ * Region where the repository is located
1448
2063
  */
1449
- cluster_id: string;
2064
+ region: string;
2065
+ /**
2066
+ * Name of the repository
2067
+ */
2068
+ repository: string;
2069
+ /**
2070
+ * Name of the tag
2071
+ */
2072
+ tag: string;
1450
2073
  };
1451
2074
  query?: never;
1452
- url: '/clusters/{cluster_id}/query';
2075
+ url: '/registry/{region}/{repository}/{tag}';
1453
2076
  };
1454
- export type QueryClusterErrors = {
2077
+ export type GetTagErrors = {
1455
2078
  /**
1456
2079
  * Not authenticated
1457
2080
  */
1458
2081
  401: unknown;
2082
+ /**
2083
+ * Tag not found
2084
+ */
2085
+ 404: unknown;
2086
+ /**
2087
+ * Internal server error
2088
+ */
2089
+ 500: unknown;
1459
2090
  };
1460
- export type QueryClusterResponses = {
2091
+ export type GetTagResponses = {
1461
2092
  /**
1462
- * Kubernetes API response
2093
+ * Tag details
1463
2094
  */
1464
- 200: unknown;
2095
+ 200: RegistryTag;
1465
2096
  };
1466
- export type ListClustersData = {
2097
+ export type GetTagResponse = GetTagResponses[keyof GetTagResponses];
2098
+ export type GetOrganizationData = {
1467
2099
  body?: never;
1468
2100
  path?: never;
1469
2101
  query?: never;
1470
- url: '/clusters';
2102
+ url: '/organization';
1471
2103
  };
1472
- export type ListClustersErrors = {
2104
+ export type GetOrganizationResponses = {
2105
+ /**
2106
+ * Returns a single object containing organization details.
2107
+ */
2108
+ 200: Organization;
2109
+ };
2110
+ export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
2111
+ export type CreateOrganizationData = {
2112
+ body: OrganizationCreateInput;
2113
+ path?: never;
2114
+ query?: never;
2115
+ url: '/organization';
2116
+ };
2117
+ export type CreateOrganizationResponses = {
2118
+ /**
2119
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
2120
+ *
2121
+ */
2122
+ 200: OrganizationCreateOutput;
2123
+ };
2124
+ export type CreateOrganizationResponse = CreateOrganizationResponses[keyof CreateOrganizationResponses];
2125
+ export type PostMcpData = {
2126
+ /**
2127
+ * JSON-RPC 2.0 request payload
2128
+ */
2129
+ body: {
2130
+ jsonrpc?: string;
2131
+ method?: string;
2132
+ id?: string | number;
2133
+ /**
2134
+ * Method-specific parameters
2135
+ */
2136
+ params?: {
2137
+ [key: string]: unknown;
2138
+ };
2139
+ };
2140
+ path?: never;
2141
+ query?: never;
2142
+ url: '/mcp';
2143
+ };
2144
+ export type PostMcpErrors = {
1473
2145
  /**
1474
2146
  * Not authenticated
1475
2147
  */
1476
2148
  401: unknown;
1477
2149
  };
1478
- export type ListClustersResponses = {
2150
+ export type PostMcpResponses = {
1479
2151
  /**
1480
- * An array of clusters
2152
+ * JSON-RPC 2.0 success or error response
1481
2153
  */
1482
- 200: Array<Cluster>;
2154
+ 200: {
2155
+ jsonrpc?: string;
2156
+ id?: string | number;
2157
+ result?: {
2158
+ [key: string]: unknown;
2159
+ };
2160
+ error?: {
2161
+ code?: number;
2162
+ message?: string;
2163
+ };
2164
+ };
1483
2165
  };
1484
- export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
1485
- export type CreateClusterData = {
1486
- body: ClusterCreateInput;
2166
+ export type PostMcpResponse = PostMcpResponses[keyof PostMcpResponses];
2167
+ export type ListMarketplaceChartsData = {
2168
+ body?: never;
1487
2169
  path?: never;
1488
2170
  query?: never;
1489
- url: '/clusters';
2171
+ url: '/marketplace';
1490
2172
  };
1491
- export type CreateClusterErrors = {
2173
+ export type ListMarketplaceChartsErrors = {
1492
2174
  /**
1493
- * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
2175
+ * Not authenticated
1494
2176
  */
1495
- 402: string;
2177
+ 401: unknown;
1496
2178
  };
1497
- export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
1498
- export type CreateClusterResponses = {
2179
+ export type ListMarketplaceChartsResponses = {
1499
2180
  /**
1500
- * Successfully created. Returns created Cluster ID.
2181
+ * An array of chart listings in the marketplace.
1501
2182
  */
1502
- 200: string;
2183
+ 200: Array<MarketplaceListing>;
1503
2184
  };
1504
- export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
1505
- export type DeleteClusterData = {
2185
+ export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
2186
+ export type GetMarketplaceChartFilesData = {
1506
2187
  body?: never;
1507
2188
  path: {
1508
2189
  /**
1509
- * Unique identifier of the cluster. UUID v4 string in canonical form
2190
+ * Name of the chart in the marketplace.
1510
2191
  */
1511
- cluster_id: string;
2192
+ chart_name: string;
2193
+ /**
2194
+ * 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).
2195
+ */
2196
+ version_channel: string;
1512
2197
  };
1513
2198
  query?: never;
1514
- url: '/clusters/{cluster_id}';
2199
+ url: '/marketplace/{chart_name}/files/{version_channel}';
1515
2200
  };
1516
- export type DeleteClusterResponses = {
2201
+ export type GetMarketplaceChartFilesErrors = {
2202
+ /**
2203
+ * Chart not found or no version matches the channel
2204
+ */
2205
+ 404: unknown;
2206
+ };
2207
+ export type GetMarketplaceChartFilesResponses = {
2208
+ /**
2209
+ * Returns an object containing the chart files for the latest matching version.
2210
+ */
2211
+ 200: MarketplaceListingFiles;
2212
+ };
2213
+ export type GetMarketplaceChartFilesResponse = GetMarketplaceChartFilesResponses[keyof GetMarketplaceChartFilesResponses];
2214
+ export type ListInvitesData = {
2215
+ body?: never;
2216
+ path?: never;
2217
+ query?: never;
2218
+ url: '/invites';
2219
+ };
2220
+ export type ListInvitesErrors = {
2221
+ /**
2222
+ * Not authenticated
2223
+ */
2224
+ 401: unknown;
2225
+ };
2226
+ export type ListInvitesResponses = {
2227
+ /**
2228
+ * An array of invites
2229
+ */
2230
+ 200: Array<Invite>;
2231
+ };
2232
+ export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
2233
+ export type CreateInviteData = {
2234
+ body: InviteCreateInput;
2235
+ path?: never;
2236
+ query?: never;
2237
+ url: '/invites';
2238
+ };
2239
+ export type CreateInviteResponses = {
2240
+ /**
2241
+ * Successfully created. Returns created invite details.
2242
+ */
2243
+ 200: Invite;
2244
+ };
2245
+ export type CreateInviteResponse = CreateInviteResponses[keyof CreateInviteResponses];
2246
+ export type GetInviteData = {
2247
+ body?: never;
2248
+ path: {
2249
+ /**
2250
+ * Invitation code
2251
+ */
2252
+ code: string;
2253
+ };
2254
+ query?: never;
2255
+ url: '/invites/{code}';
2256
+ };
2257
+ export type GetInviteResponses = {
2258
+ /**
2259
+ * The invitation code is valid. Returns the invited email and organization.
2260
+ */
2261
+ 200: {
2262
+ /**
2263
+ * Email address the invite was issued to.
2264
+ */
2265
+ email?: string;
2266
+ /**
2267
+ * Identifier of the organization the invite grants access to.
2268
+ */
2269
+ organization_id?: string;
2270
+ };
2271
+ };
2272
+ export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
2273
+ export type DeleteInviteData = {
2274
+ body?: never;
2275
+ path: {
2276
+ /**
2277
+ * User email address
2278
+ */
2279
+ email: string;
2280
+ };
2281
+ query?: never;
2282
+ url: '/invites/{email}';
2283
+ };
2284
+ export type DeleteInviteResponses = {
1517
2285
  /**
1518
2286
  * Successfully deleted.
1519
2287
  */
1520
- 200: string;
2288
+ 200: unknown;
1521
2289
  };
1522
- export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
1523
- export type GetClusterData = {
2290
+ export type QueryClusterData = {
1524
2291
  body?: never;
1525
2292
  path: {
1526
2293
  /**
@@ -1529,17 +2296,22 @@ export type GetClusterData = {
1529
2296
  cluster_id: string;
1530
2297
  };
1531
2298
  query?: never;
1532
- url: '/clusters/{cluster_id}';
2299
+ url: '/clusters/{cluster_id}/query';
1533
2300
  };
1534
- export type GetClusterResponses = {
2301
+ export type QueryClusterErrors = {
1535
2302
  /**
1536
- * Returns a single object containing cluster details.
2303
+ * Not authenticated
1537
2304
  */
1538
- 200: Cluster;
2305
+ 401: unknown;
1539
2306
  };
1540
- export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
1541
- export type UpdateClusterData = {
1542
- body: ClusterUpdateInput;
2307
+ export type QueryClusterResponses = {
2308
+ /**
2309
+ * Kubernetes API response
2310
+ */
2311
+ 200: unknown;
2312
+ };
2313
+ export type ListFleetsData = {
2314
+ body?: never;
1543
2315
  path: {
1544
2316
  /**
1545
2317
  * Unique identifier of the cluster. UUID v4 string in canonical form
@@ -1547,17 +2319,23 @@ export type UpdateClusterData = {
1547
2319
  cluster_id: string;
1548
2320
  };
1549
2321
  query?: never;
1550
- url: '/clusters/{cluster_id}';
2322
+ url: '/clusters/{cluster_id}/fleets';
1551
2323
  };
1552
- export type UpdateClusterResponses = {
2324
+ export type ListFleetsErrors = {
1553
2325
  /**
1554
- * Successfully updated. Returns updated cluster details.
2326
+ * Not authenticated
1555
2327
  */
1556
- 200: Cluster;
2328
+ 401: unknown;
1557
2329
  };
1558
- export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
1559
- export type GetClusterCaData = {
1560
- body?: never;
2330
+ export type ListFleetsResponses = {
2331
+ /**
2332
+ * An array of fleets
2333
+ */
2334
+ 200: Array<Fleet>;
2335
+ };
2336
+ export type ListFleetsResponse = ListFleetsResponses[keyof ListFleetsResponses];
2337
+ export type CreateFleetData = {
2338
+ body: FleetCreateInput;
1561
2339
  path: {
1562
2340
  /**
1563
2341
  * Unique identifier of the cluster. UUID v4 string in canonical form
@@ -1565,623 +2343,598 @@ export type GetClusterCaData = {
1565
2343
  cluster_id: string;
1566
2344
  };
1567
2345
  query?: never;
1568
- url: '/clusters/{cluster_id}/ca';
2346
+ url: '/clusters/{cluster_id}/fleets';
1569
2347
  };
1570
- export type GetClusterCaErrors = {
2348
+ export type CreateFleetErrors = {
2349
+ /**
2350
+ * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
2351
+ */
2352
+ 402: string;
1571
2353
  /**
1572
- * Cluster not found, or its certificate authority is not available yet.
2354
+ * 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.
1573
2355
  */
1574
- 404: unknown;
2356
+ 409: string;
1575
2357
  };
1576
- export type GetClusterCaResponses = {
2358
+ export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
2359
+ export type CreateFleetResponses = {
1577
2360
  /**
1578
- * PEM-encoded certificate authority of the cluster.
2361
+ * Successfully created. Returns created Fleet ID.
1579
2362
  */
1580
2363
  200: string;
1581
2364
  };
1582
- export type GetClusterCaResponse = GetClusterCaResponses[keyof GetClusterCaResponses];
1583
- export type GetJoinInformationData = {
2365
+ export type CreateFleetResponse = CreateFleetResponses[keyof CreateFleetResponses];
2366
+ export type DeleteFleetData = {
1584
2367
  body?: never;
1585
2368
  path: {
1586
2369
  /**
1587
2370
  * Unique identifier of the cluster. UUID v4 string in canonical form
1588
2371
  */
1589
2372
  cluster_id: string;
2373
+ /**
2374
+ * Unique identifier of the fleet. UUID v4 string in canonical form
2375
+ */
2376
+ fleet_name: string;
1590
2377
  };
1591
2378
  query?: never;
1592
- url: '/clusters/{cluster_id}/join_information';
2379
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1593
2380
  };
1594
- export type GetJoinInformationErrors = {
2381
+ export type DeleteFleetErrors = {
1595
2382
  /**
1596
- * Not authenticated
2383
+ * 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.
1597
2384
  */
1598
- 401: unknown;
2385
+ 409: string;
1599
2386
  };
1600
- export type GetJoinInformationResponses = {
2387
+ export type DeleteFleetError = DeleteFleetErrors[keyof DeleteFleetErrors];
2388
+ export type DeleteFleetResponses = {
1601
2389
  /**
1602
- * An object of cluster join information
2390
+ * Successfully deleted.
1603
2391
  */
1604
- 200: ClusterJoinInformation;
2392
+ 200: string;
1605
2393
  };
1606
- export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
1607
- export type ListInvitesData = {
2394
+ export type DeleteFleetResponse = DeleteFleetResponses[keyof DeleteFleetResponses];
2395
+ export type GetFleetData = {
1608
2396
  body?: never;
1609
- path?: never;
2397
+ path: {
2398
+ /**
2399
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2400
+ */
2401
+ cluster_id: string;
2402
+ /**
2403
+ * Unique identifier of the fleet. UUID v4 string in canonical form
2404
+ */
2405
+ fleet_name: string;
2406
+ };
1610
2407
  query?: never;
1611
- url: '/invites';
2408
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1612
2409
  };
1613
- export type ListInvitesErrors = {
2410
+ export type GetFleetResponses = {
1614
2411
  /**
1615
- * Not authenticated
2412
+ * Returns a single object containing fleet details.
1616
2413
  */
1617
- 401: unknown;
2414
+ 200: Fleet;
1618
2415
  };
1619
- export type ListInvitesResponses = {
2416
+ export type GetFleetResponse = GetFleetResponses[keyof GetFleetResponses];
2417
+ export type UpdateFleetData = {
2418
+ body: FleetUpdateInput;
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
+ };
2429
+ query?: never;
2430
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2431
+ };
2432
+ export type UpdateFleetErrors = {
1620
2433
  /**
1621
- * An array of invites
2434
+ * Organization must have a valid payment method configured to access this endpoint.
1622
2435
  */
1623
- 200: Array<Invite>;
2436
+ 402: string;
2437
+ /**
2438
+ * 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.
2439
+ */
2440
+ 409: string;
1624
2441
  };
1625
- export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
1626
- export type CreateInviteData = {
1627
- body: {
2442
+ export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
2443
+ export type UpdateFleetResponses = {
2444
+ /**
2445
+ * Successfully updated.
2446
+ */
2447
+ 200: string;
2448
+ };
2449
+ export type UpdateFleetResponse = UpdateFleetResponses[keyof UpdateFleetResponses];
2450
+ export type ListChartsData = {
2451
+ body?: never;
2452
+ path: {
1628
2453
  /**
1629
- * User email address
2454
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1630
2455
  */
1631
- email?: string;
2456
+ cluster_id: string;
1632
2457
  };
1633
- path?: never;
1634
2458
  query?: never;
1635
- url: '/invites';
2459
+ url: '/clusters/{cluster_id}/charts';
1636
2460
  };
1637
- export type CreateInviteResponses = {
2461
+ export type ListChartsErrors = {
1638
2462
  /**
1639
- * Successfully created. Returns created invite details.
2463
+ * Not authenticated
1640
2464
  */
1641
- 200: Invite;
2465
+ 401: unknown;
1642
2466
  };
1643
- export type CreateInviteResponse = CreateInviteResponses[keyof CreateInviteResponses];
1644
- export type GetInviteData = {
1645
- body?: never;
2467
+ export type ListChartsResponses = {
2468
+ /**
2469
+ * An array of charts
2470
+ */
2471
+ 200: Array<Chart>;
2472
+ };
2473
+ export type ListChartsResponse = ListChartsResponses[keyof ListChartsResponses];
2474
+ export type CreateChartData = {
2475
+ body: ChartCreateInput;
1646
2476
  path: {
1647
2477
  /**
1648
- * Invitation code
2478
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1649
2479
  */
1650
- code: string;
2480
+ cluster_id: string;
1651
2481
  };
1652
2482
  query?: never;
1653
- url: '/invites/{code}';
2483
+ url: '/clusters/{cluster_id}/charts';
1654
2484
  };
1655
- export type GetInviteResponses = {
2485
+ export type CreateChartErrors = {
1656
2486
  /**
1657
- * Returns a single object containing invite details.
2487
+ * 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.
1658
2488
  */
1659
- 200: Invite;
2489
+ 409: string;
1660
2490
  };
1661
- export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
1662
- export type DeleteInviteData = {
2491
+ export type CreateChartError = CreateChartErrors[keyof CreateChartErrors];
2492
+ export type CreateChartResponses = {
2493
+ /**
2494
+ * Successfully created. Returns created Chart ID.
2495
+ */
2496
+ 200: string;
2497
+ };
2498
+ export type CreateChartResponse = CreateChartResponses[keyof CreateChartResponses];
2499
+ export type DeleteChartData = {
1663
2500
  body?: never;
1664
2501
  path: {
1665
2502
  /**
1666
- * User email address
2503
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1667
2504
  */
1668
- email: string;
2505
+ cluster_id: string;
2506
+ /**
2507
+ * Chart deployment name as the unique identifier of the chart.
2508
+ */
2509
+ chart_name: string;
1669
2510
  };
1670
2511
  query?: never;
1671
- url: '/invites/{email}';
1672
- };
1673
- export type DeleteInviteResponses = {
1674
- /**
1675
- * Successfully deleted.
1676
- */
1677
- 200: unknown;
1678
- };
1679
- export type ListMarketplaceChartsData = {
1680
- body?: never;
1681
- path?: never;
1682
- query?: never;
1683
- url: '/marketplace';
2512
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1684
2513
  };
1685
- export type ListMarketplaceChartsErrors = {
2514
+ export type DeleteChartErrors = {
1686
2515
  /**
1687
- * Not authenticated
2516
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
1688
2517
  */
1689
- 401: unknown;
2518
+ 409: string;
1690
2519
  };
1691
- export type ListMarketplaceChartsResponses = {
2520
+ export type DeleteChartError = DeleteChartErrors[keyof DeleteChartErrors];
2521
+ export type DeleteChartResponses = {
1692
2522
  /**
1693
- * An array of chart listings in the marketplace.
2523
+ * Successfully deleted.
1694
2524
  */
1695
- 200: Array<MarketplaceListing>;
2525
+ 200: string;
1696
2526
  };
1697
- export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
1698
- export type GetMarketplaceChartFilesData = {
2527
+ export type DeleteChartResponse = DeleteChartResponses[keyof DeleteChartResponses];
2528
+ export type GetChartData = {
1699
2529
  body?: never;
1700
2530
  path: {
1701
2531
  /**
1702
- * Name of the chart in the marketplace.
2532
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1703
2533
  */
1704
- chart_name: string;
2534
+ cluster_id: string;
1705
2535
  /**
1706
- * Version channel pattern to match (e.g., "1.31.x-cfke.x" for latest 1.31 patch, "1.x.x-cfke.x" for latest 1.x minor).
2536
+ * Chart deployment name as the unique identifier of the chart.
1707
2537
  */
1708
- version_channel: string;
2538
+ chart_name: string;
1709
2539
  };
1710
2540
  query?: never;
1711
- url: '/marketplace/{chart_name}/files/{version_channel}';
1712
- };
1713
- export type GetMarketplaceChartFilesErrors = {
1714
- /**
1715
- * Chart not found or no version matches the channel
1716
- */
1717
- 404: unknown;
2541
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1718
2542
  };
1719
- export type GetMarketplaceChartFilesResponses = {
2543
+ export type GetChartResponses = {
1720
2544
  /**
1721
- * Returns an object containing the chart files for the latest matching version.
2545
+ * Returns a single object containing chart details.
1722
2546
  */
1723
- 200: MarketplaceListingFiles;
2547
+ 200: Chart;
1724
2548
  };
1725
- export type GetMarketplaceChartFilesResponse = GetMarketplaceChartFilesResponses[keyof GetMarketplaceChartFilesResponses];
1726
- export type PostMcpData = {
1727
- /**
1728
- * JSON-RPC 2.0 request payload
1729
- */
1730
- body: {
1731
- jsonrpc?: string;
1732
- method?: string;
1733
- id?: string | number;
2549
+ export type GetChartResponse = GetChartResponses[keyof GetChartResponses];
2550
+ export type UpdateChartData = {
2551
+ body: ChartUpdateInput;
2552
+ path: {
1734
2553
  /**
1735
- * Method-specific parameters
2554
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1736
2555
  */
1737
- params?: {
1738
- [key: string]: unknown;
1739
- };
2556
+ cluster_id: string;
2557
+ /**
2558
+ * Chart deployment name as the unique identifier of the chart.
2559
+ */
2560
+ chart_name: string;
1740
2561
  };
1741
- path?: never;
1742
2562
  query?: never;
1743
- url: '/mcp';
2563
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1744
2564
  };
1745
- export type PostMcpErrors = {
2565
+ export type UpdateChartErrors = {
1746
2566
  /**
1747
- * Not authenticated
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.
1748
2568
  */
1749
- 401: unknown;
2569
+ 409: string;
1750
2570
  };
1751
- export type PostMcpResponses = {
2571
+ export type UpdateChartError = UpdateChartErrors[keyof UpdateChartErrors];
2572
+ export type UpdateChartResponses = {
1752
2573
  /**
1753
- * JSON-RPC 2.0 success or error response
2574
+ * Successfully updated.
1754
2575
  */
1755
- 200: {
1756
- jsonrpc?: string;
1757
- id?: string | number;
1758
- result?: {
1759
- [key: string]: unknown;
1760
- };
1761
- error?: {
1762
- code?: number;
1763
- message?: string;
1764
- };
1765
- };
2576
+ 200: string;
1766
2577
  };
1767
- export type PostMcpResponse = PostMcpResponses[keyof PostMcpResponses];
1768
- export type GetOrganizationData = {
2578
+ export type UpdateChartResponse = UpdateChartResponses[keyof UpdateChartResponses];
2579
+ export type ListClustersData = {
1769
2580
  body?: never;
1770
2581
  path?: never;
1771
2582
  query?: never;
1772
- url: '/organization';
2583
+ url: '/clusters';
1773
2584
  };
1774
- export type GetOrganizationResponses = {
2585
+ export type ListClustersErrors = {
1775
2586
  /**
1776
- * Returns a single object containing organization details.
2587
+ * Not authenticated
1777
2588
  */
1778
- 200: Organization;
1779
- };
1780
- export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
1781
- export type CreateOrganizationData = {
1782
- body: OrganizationCreateInput;
1783
- path?: never;
1784
- query?: never;
1785
- url: '/organization';
2589
+ 401: unknown;
1786
2590
  };
1787
- export type CreateOrganizationResponses = {
2591
+ export type ListClustersResponses = {
1788
2592
  /**
1789
- * Successfully created a new organization.
2593
+ * An array of clusters
1790
2594
  */
1791
- 200: unknown;
2595
+ 200: Array<Cluster>;
1792
2596
  };
1793
- export type ListRepositoriesData = {
1794
- body?: never;
2597
+ export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
2598
+ export type CreateClusterData = {
2599
+ body: ClusterCreateInput;
1795
2600
  path?: never;
1796
2601
  query?: never;
1797
- url: '/registry';
2602
+ url: '/clusters';
1798
2603
  };
1799
- export type ListRepositoriesErrors = {
1800
- /**
1801
- * Not authenticated
1802
- */
1803
- 401: unknown;
2604
+ export type CreateClusterErrors = {
1804
2605
  /**
1805
- * Internal server error
2606
+ * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
1806
2607
  */
1807
- 500: unknown;
2608
+ 402: string;
1808
2609
  };
1809
- export type ListRepositoriesResponses = {
2610
+ export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
2611
+ export type CreateClusterResponses = {
1810
2612
  /**
1811
- * List of repositories
2613
+ * Successfully created. Returns created Cluster ID.
1812
2614
  */
1813
- 200: Array<RegistryRepository>;
2615
+ 200: string;
1814
2616
  };
1815
- export type ListRepositoriesResponse = ListRepositoriesResponses[keyof ListRepositoriesResponses];
1816
- export type ListTagsData = {
2617
+ export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
2618
+ export type DeleteClusterData = {
1817
2619
  body?: never;
1818
2620
  path: {
1819
2621
  /**
1820
- * Region where the repository is located
1821
- */
1822
- region: string;
1823
- /**
1824
- * Name of the repository
2622
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1825
2623
  */
1826
- repository: string;
2624
+ cluster_id: string;
1827
2625
  };
1828
2626
  query?: never;
1829
- url: '/registry/{region}/{repository}';
2627
+ url: '/clusters/{cluster_id}';
1830
2628
  };
1831
- export type ListTagsErrors = {
2629
+ export type DeleteClusterErrors = {
1832
2630
  /**
1833
- * Not authenticated
2631
+ * Cluster not found; it does not exist or has already been deleted.
1834
2632
  */
1835
- 401: unknown;
2633
+ 404: unknown;
1836
2634
  /**
1837
- * Repository not found
2635
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
1838
2636
  */
1839
- 404: unknown;
2637
+ 409: string;
1840
2638
  /**
1841
- * Internal server error
2639
+ * Transient failure tearing down the cluster; retry the request.
1842
2640
  */
1843
- 500: unknown;
2641
+ 503: unknown;
1844
2642
  };
1845
- export type ListTagsResponses = {
2643
+ export type DeleteClusterError = DeleteClusterErrors[keyof DeleteClusterErrors];
2644
+ export type DeleteClusterResponses = {
1846
2645
  /**
1847
- * Repository with tags
2646
+ * Successfully deleted. The cluster has been torn down.
1848
2647
  */
1849
- 200: RegistryRepositoryWithTags;
2648
+ 200: string;
1850
2649
  };
1851
- export type ListTagsResponse = ListTagsResponses[keyof ListTagsResponses];
1852
- export type DeleteTagData = {
2650
+ export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
2651
+ export type GetClusterData = {
1853
2652
  body?: never;
1854
2653
  path: {
1855
2654
  /**
1856
- * Region where the repository is located
1857
- */
1858
- region: string;
1859
- /**
1860
- * Name of the repository
1861
- */
1862
- repository: string;
1863
- /**
1864
- * Name of the tag
2655
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1865
2656
  */
1866
- tag: string;
2657
+ cluster_id: string;
1867
2658
  };
1868
2659
  query?: never;
1869
- url: '/registry/{region}/{repository}/{tag}';
2660
+ url: '/clusters/{cluster_id}';
1870
2661
  };
1871
- export type DeleteTagErrors = {
1872
- /**
1873
- * Not authenticated
1874
- */
1875
- 401: unknown;
2662
+ export type GetClusterResponses = {
1876
2663
  /**
1877
- * Tag not found
2664
+ * Returns a single object containing cluster details.
1878
2665
  */
1879
- 404: unknown;
2666
+ 200: Cluster;
2667
+ };
2668
+ export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
2669
+ export type UpdateClusterData = {
2670
+ body: ClusterUpdateInput;
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 UpdateClusterErrors = {
1880
2681
  /**
1881
- * Internal server error
2682
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
1882
2683
  */
1883
- 500: unknown;
2684
+ 409: string;
1884
2685
  };
1885
- export type DeleteTagResponses = {
2686
+ export type UpdateClusterError = UpdateClusterErrors[keyof UpdateClusterErrors];
2687
+ export type UpdateClusterResponses = {
1886
2688
  /**
1887
- * Tag successfully deleted
2689
+ * Successfully updated. Returns updated cluster details.
1888
2690
  */
1889
- 200: unknown;
2691
+ 200: Cluster;
1890
2692
  };
1891
- export type GetTagData = {
1892
- body?: never;
1893
- path: {
1894
- /**
1895
- * Region where the repository is located
1896
- */
1897
- region: string;
1898
- /**
1899
- * Name of the repository
1900
- */
1901
- repository: string;
2693
+ export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
2694
+ export type GetJoinInformationData = {
2695
+ body?: never;
2696
+ path: {
1902
2697
  /**
1903
- * Name of the tag
2698
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1904
2699
  */
1905
- tag: string;
2700
+ cluster_id: string;
1906
2701
  };
1907
2702
  query?: never;
1908
- url: '/registry/{region}/{repository}/{tag}';
2703
+ url: '/clusters/{cluster_id}/join_information';
1909
2704
  };
1910
- export type GetTagErrors = {
2705
+ export type GetJoinInformationErrors = {
1911
2706
  /**
1912
2707
  * Not authenticated
1913
2708
  */
1914
2709
  401: unknown;
1915
2710
  /**
1916
- * Tag not found
1917
- */
1918
- 404: unknown;
1919
- /**
1920
- * Internal server error
2711
+ * 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.
1921
2712
  */
1922
- 500: unknown;
2713
+ 409: string;
1923
2714
  };
1924
- export type GetTagResponses = {
2715
+ export type GetJoinInformationError = GetJoinInformationErrors[keyof GetJoinInformationErrors];
2716
+ export type GetJoinInformationResponses = {
1925
2717
  /**
1926
- * Tag details
2718
+ * An object of cluster join information
1927
2719
  */
1928
- 200: RegistryTag;
2720
+ 200: ClusterJoinInformation;
1929
2721
  };
1930
- export type GetTagResponse = GetTagResponses[keyof GetTagResponses];
1931
- export type ListTokensData = {
2722
+ export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
2723
+ export type GetUsageData = {
1932
2724
  body?: never;
1933
2725
  path?: never;
1934
- query?: never;
1935
- url: '/tokens';
2726
+ query?: {
2727
+ /**
2728
+ * 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)
2729
+ */
2730
+ granularity?: 'hourly' | 'daily' | 'monthly';
2731
+ };
2732
+ url: '/billing/usage';
1936
2733
  };
1937
- export type ListTokensErrors = {
2734
+ export type GetUsageErrors = {
1938
2735
  /**
1939
2736
  * Not authenticated
1940
2737
  */
1941
2738
  401: unknown;
1942
2739
  };
1943
- export type ListTokensResponses = {
2740
+ export type GetUsageResponses = {
1944
2741
  /**
1945
- * Returns a list of access token details with masked secrets.
2742
+ * Usage data with facets for filtering
1946
2743
  */
1947
- 200: Array<Token>;
2744
+ 200: UsageResponse;
1948
2745
  };
1949
- export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1950
- export type CreateTokenData = {
1951
- body: TokenCreateInput;
2746
+ export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
2747
+ export type GetPaymentMethodSecretData = {
2748
+ body?: never;
1952
2749
  path?: never;
1953
2750
  query?: never;
1954
- url: '/tokens';
1955
- };
1956
- export type CreateTokenErrors = {
1957
- /**
1958
- * Not authenticated
1959
- */
1960
- 401: unknown;
2751
+ url: '/billing/payment-method';
1961
2752
  };
1962
- export type CreateTokenResponses = {
2753
+ export type GetPaymentMethodSecretResponses = {
1963
2754
  /**
1964
- * Successfully created. Returns created token details with unmasked/raw secret.
2755
+ * 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.
2756
+ *
1965
2757
  */
1966
- 200: Token;
1967
- };
1968
- export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1969
- export type DeleteTokenData = {
1970
- body?: never;
1971
- path: {
2758
+ 200: {
1972
2759
  /**
1973
- * Generated unique identifier of the access token.
2760
+ * The client secret.
1974
2761
  */
1975
- token_id: string;
2762
+ id?: string;
1976
2763
  };
1977
- query?: never;
1978
- url: '/tokens/{token_id}';
1979
- };
1980
- export type DeleteTokenResponses = {
1981
- /**
1982
- * Successfully deleted.
1983
- */
1984
- 200: unknown;
1985
2764
  };
1986
- export type GetTokenData = {
2765
+ export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
2766
+ export type ListPaymentMethodsData = {
1987
2767
  body?: never;
1988
- path: {
1989
- /**
1990
- * Generated unique identifier of the access token.
1991
- */
1992
- token_id: string;
1993
- };
2768
+ path?: never;
1994
2769
  query?: never;
1995
- url: '/tokens/{token_id}';
2770
+ url: '/billing/payment-methods';
1996
2771
  };
1997
- export type GetTokenErrors = {
2772
+ export type ListPaymentMethodsErrors = {
1998
2773
  /**
1999
2774
  * Not authenticated
2000
2775
  */
2001
2776
  401: unknown;
2002
2777
  };
2003
- export type GetTokenResponses = {
2778
+ export type ListPaymentMethodsResponses = {
2004
2779
  /**
2005
- * Returns access token details with masked secret.
2780
+ * An array of payment methods.
2006
2781
  */
2007
- 200: Token;
2782
+ 200: Array<PaymentMethod>;
2008
2783
  };
2009
- export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
2010
- export type UpdateTokenData = {
2011
- body: TokenUpdateInput;
2784
+ export type ListPaymentMethodsResponse = ListPaymentMethodsResponses[keyof ListPaymentMethodsResponses];
2785
+ export type SetDefaultPaymentMethodData = {
2786
+ body?: never;
2012
2787
  path: {
2013
2788
  /**
2014
- * Generated unique identifier of the access token.
2789
+ * Stripe payment method identifier.
2015
2790
  */
2016
- token_id: string;
2791
+ paymentMethodId: string;
2017
2792
  };
2018
2793
  query?: never;
2019
- url: '/tokens/{token_id}';
2794
+ url: '/billing/payment-methods/{paymentMethodId}/default';
2020
2795
  };
2021
- export type UpdateTokenErrors = {
2796
+ export type SetDefaultPaymentMethodErrors = {
2797
+ /**
2798
+ * The bank transfer payment method cannot be set as the default.
2799
+ */
2800
+ 400: unknown;
2022
2801
  /**
2023
2802
  * Not authenticated
2024
2803
  */
2025
2804
  401: unknown;
2805
+ /**
2806
+ * Payment method not found.
2807
+ */
2808
+ 404: unknown;
2026
2809
  };
2027
- export type UpdateTokenResponses = {
2810
+ export type SetDefaultPaymentMethodResponses = {
2028
2811
  /**
2029
- * Successfully updated. Returns updated token details with masked secret.
2812
+ * Default payment method updated.
2030
2813
  */
2031
- 200: Token;
2814
+ 204: void;
2032
2815
  };
2033
- export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
2034
- export type RegenerateTokenData = {
2816
+ export type SetDefaultPaymentMethodResponse = SetDefaultPaymentMethodResponses[keyof SetDefaultPaymentMethodResponses];
2817
+ export type DeletePaymentMethodData = {
2035
2818
  body?: never;
2036
2819
  path: {
2037
2820
  /**
2038
- * Generated unique identifier of the access token.
2821
+ * Stripe payment method identifier.
2039
2822
  */
2040
- token_id: string;
2823
+ paymentMethodId: string;
2041
2824
  };
2042
2825
  query?: never;
2043
- url: '/tokens/{token_id}/secret';
2826
+ url: '/billing/payment-methods/{paymentMethodId}';
2044
2827
  };
2045
- export type RegenerateTokenErrors = {
2828
+ export type DeletePaymentMethodErrors = {
2829
+ /**
2830
+ * The bank transfer payment method cannot be removed.
2831
+ */
2832
+ 400: unknown;
2046
2833
  /**
2047
2834
  * Not authenticated
2048
2835
  */
2049
2836
  401: unknown;
2050
- };
2051
- export type RegenerateTokenResponses = {
2052
2837
  /**
2053
- * Successfully updated. Returns updated token details with unmasked / raw secret.
2838
+ * Payment method not found.
2054
2839
  */
2055
- 200: Token;
2056
- };
2057
- export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
2058
- export type ListUserOrganizationsData = {
2059
- body?: never;
2060
- path: {
2061
- /**
2062
- * User email address.
2063
- */
2064
- email: string;
2065
- };
2066
- query?: never;
2067
- url: '/users/organizations/{email}';
2840
+ 404: unknown;
2841
+ /**
2842
+ * Cannot delete the only remaining payment method.
2843
+ */
2844
+ 409: unknown;
2068
2845
  };
2069
- export type ListUserOrganizationsResponses = {
2846
+ export type DeletePaymentMethodResponses = {
2070
2847
  /**
2071
- * An array of organizations the user belongs to.
2848
+ * Payment method deleted.
2072
2849
  */
2073
- 200: Array<{
2074
- /**
2075
- * Unique identifier of the organization. UUID v4 string in canonical form
2076
- */
2077
- realm?: string;
2078
- /**
2079
- * Human-readable name of the organization
2080
- */
2081
- displayName?: string;
2082
- }>;
2850
+ 204: void;
2083
2851
  };
2084
- export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
2085
- export type ListUsersData = {
2852
+ export type DeletePaymentMethodResponse = DeletePaymentMethodResponses[keyof DeletePaymentMethodResponses];
2853
+ export type ListInvoicesData = {
2086
2854
  body?: never;
2087
2855
  path?: never;
2088
2856
  query?: never;
2089
- url: '/users';
2857
+ url: '/billing/invoices';
2090
2858
  };
2091
- export type ListUsersErrors = {
2859
+ export type ListInvoicesErrors = {
2092
2860
  /**
2093
2861
  * Not authenticated
2094
2862
  */
2095
2863
  401: unknown;
2096
2864
  };
2097
- export type ListUsersResponses = {
2865
+ export type ListInvoicesResponses = {
2098
2866
  /**
2099
- * An array of users
2867
+ * An array of usage records.
2100
2868
  */
2101
- 200: Array<User>;
2869
+ 200: Array<Invoice>;
2102
2870
  };
2103
- export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
2104
- export type CreateUserData = {
2105
- body: UserCreateInput;
2871
+ export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
2872
+ export type GetContactData = {
2873
+ body?: never;
2106
2874
  path?: never;
2107
2875
  query?: never;
2108
- url: '/users';
2876
+ url: '/billing/contact';
2109
2877
  };
2110
- export type CreateUserResponses = {
2878
+ export type GetContactResponses = {
2111
2879
  /**
2112
- * Successfully created. Returns created user details.
2880
+ * Returns a single object containing organization contact and billing address details.
2113
2881
  */
2114
- 200: User;
2882
+ 200: BillingContact;
2115
2883
  };
2116
- export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
2117
- export type DeleteUserData = {
2118
- body?: never;
2119
- path: {
2120
- /**
2121
- * Unique user identifier. UUID v4 string in canonical form
2122
- */
2123
- user_id: string;
2124
- };
2884
+ export type GetContactResponse = GetContactResponses[keyof GetContactResponses];
2885
+ export type UpdateContactData = {
2886
+ body: BillingContact;
2887
+ path?: never;
2125
2888
  query?: never;
2126
- url: '/users/{user_id}';
2889
+ url: '/billing/contact';
2127
2890
  };
2128
- export type DeleteUserErrors = {
2891
+ export type UpdateContactResponses = {
2129
2892
  /**
2130
- * Deleting own user is not allowed. Delete your organization instead.
2893
+ * Successfully updated. Returns updated organization details.
2131
2894
  */
2132
- 400: unknown;
2895
+ 200: BillingContact;
2896
+ };
2897
+ export type UpdateContactResponse = UpdateContactResponses[keyof UpdateContactResponses];
2898
+ export type GetCreditsData = {
2899
+ body?: never;
2900
+ path?: never;
2901
+ query?: never;
2902
+ url: '/billing/credits';
2903
+ };
2904
+ export type GetCreditsErrors = {
2133
2905
  /**
2134
2906
  * Not authenticated
2135
2907
  */
2136
2908
  401: unknown;
2137
2909
  };
2138
- export type DeleteUserResponses = {
2910
+ export type GetCreditsResponses = {
2139
2911
  /**
2140
- * User profile information
2912
+ * An array of the applied promotional credits records.
2141
2913
  */
2142
- 200: User;
2914
+ 200: Array<BillingCredits>;
2143
2915
  };
2144
- export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
2145
- export type GetUserData = {
2146
- body?: never;
2147
- path: {
2916
+ export type GetCreditsResponse = GetCreditsResponses[keyof GetCreditsResponses];
2917
+ export type RedeemCreditsData = {
2918
+ body: {
2148
2919
  /**
2149
- * Unique user identifier. UUID v4 string in canonical form
2920
+ * Promotional code to redeem
2150
2921
  */
2151
- user_id: string;
2922
+ code?: string;
2152
2923
  };
2924
+ path?: never;
2153
2925
  query?: never;
2154
- url: '/users/{user_id}';
2926
+ url: '/billing/credits';
2155
2927
  };
2156
- export type GetUserErrors = {
2928
+ export type RedeemCreditsErrors = {
2157
2929
  /**
2158
2930
  * Not authenticated
2159
2931
  */
2160
2932
  401: unknown;
2161
2933
  };
2162
- export type GetUserResponses = {
2163
- /**
2164
- * User profile information
2165
- */
2166
- 200: User;
2167
- };
2168
- export type GetUserResponse = GetUserResponses[keyof GetUserResponses];
2169
- export type UpdateUserData = {
2170
- body: UserUpdateInput;
2171
- path: {
2172
- /**
2173
- * Unique user identifier. UUID v4 string in canonical form
2174
- */
2175
- user_id: string;
2176
- };
2177
- query?: never;
2178
- url: '/users/{user_id}';
2179
- };
2180
- export type UpdateUserResponses = {
2934
+ export type RedeemCreditsResponses = {
2181
2935
  /**
2182
- * Successfully created. Returns created user details.
2936
+ * Successfully created a new organization.
2183
2937
  */
2184
- 200: User;
2938
+ 200: unknown;
2185
2939
  };
2186
- export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
2187
2940
  //# sourceMappingURL=types.gen.d.ts.map