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

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