@cloudfleet/sdk 0.0.1-cb34d78 → 0.0.1-cc82d04

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +26 -2
  2. package/dist/@tanstack/react-query.gen.d.ts +1061 -0
  3. package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
  4. package/dist/@tanstack/react-query.gen.js +1234 -0
  5. package/dist/@tanstack/react-query.gen.js.map +1 -0
  6. package/dist/client/client.gen.d.ts.map +1 -1
  7. package/dist/client/client.gen.js +114 -102
  8. package/dist/client/client.gen.js.map +1 -1
  9. package/dist/client/index.d.ts +1 -1
  10. package/dist/client/index.d.ts.map +1 -1
  11. package/dist/client/index.js.map +1 -1
  12. package/dist/client/types.gen.d.ts +9 -13
  13. package/dist/client/types.gen.d.ts.map +1 -1
  14. package/dist/client/utils.gen.d.ts +8 -4
  15. package/dist/client/utils.gen.d.ts.map +1 -1
  16. package/dist/client/utils.gen.js +13 -15
  17. package/dist/client/utils.gen.js.map +1 -1
  18. package/dist/client.gen.d.ts.map +1 -1
  19. package/dist/client.gen.js +1 -3
  20. package/dist/client.gen.js.map +1 -1
  21. package/dist/core/auth.gen.d.ts.map +1 -1
  22. package/dist/core/auth.gen.js.map +1 -1
  23. package/dist/core/bodySerializer.gen.d.ts +16 -8
  24. package/dist/core/bodySerializer.gen.d.ts.map +1 -1
  25. package/dist/core/bodySerializer.gen.js +1 -1
  26. package/dist/core/bodySerializer.gen.js.map +1 -1
  27. package/dist/core/params.gen.d.ts +10 -0
  28. package/dist/core/params.gen.d.ts.map +1 -1
  29. package/dist/core/params.gen.js +22 -10
  30. package/dist/core/params.gen.js.map +1 -1
  31. package/dist/core/pathSerializer.gen.d.ts.map +1 -1
  32. package/dist/core/pathSerializer.gen.js +3 -11
  33. package/dist/core/pathSerializer.gen.js.map +1 -1
  34. package/dist/core/queryKeySerializer.gen.d.ts.map +1 -1
  35. package/dist/core/queryKeySerializer.gen.js +4 -11
  36. package/dist/core/queryKeySerializer.gen.js.map +1 -1
  37. package/dist/core/serverSentEvents.gen.d.ts +1 -1
  38. package/dist/core/serverSentEvents.gen.d.ts.map +1 -1
  39. package/dist/core/serverSentEvents.gen.js +6 -9
  40. package/dist/core/serverSentEvents.gen.js.map +1 -1
  41. package/dist/core/types.gen.d.ts +1 -1
  42. package/dist/core/types.gen.d.ts.map +1 -1
  43. package/dist/core/utils.gen.d.ts.map +1 -1
  44. package/dist/core/utils.gen.js +1 -1
  45. package/dist/core/utils.gen.js.map +1 -1
  46. package/dist/schemas.gen.d.ts +1744 -675
  47. package/dist/schemas.gen.d.ts.map +1 -1
  48. package/dist/schemas.gen.js +3077 -672
  49. package/dist/schemas.gen.js.map +1 -1
  50. package/dist/sdk.gen.d.ts +316 -161
  51. package/dist/sdk.gen.d.ts.map +1 -1
  52. package/dist/sdk.gen.js +459 -344
  53. package/dist/sdk.gen.js.map +1 -1
  54. package/dist/services/kubernetes/api.d.ts +8 -8
  55. package/dist/types.gen.d.ts +1943 -839
  56. package/dist/types.gen.d.ts.map +1 -1
  57. package/dist/zod.gen.d.ts +3637 -2553
  58. package/dist/zod.gen.d.ts.map +1 -1
  59. package/dist/zod.gen.js +1505 -1185
  60. package/dist/zod.gen.js.map +1 -1
  61. package/package.json +28 -8
@@ -1,7 +1,31 @@
1
1
  export type ClientOptions = {
2
2
  baseUrl: 'https://api.cloudfleet.ai/v1' | (string & {});
3
3
  };
4
+ export type BasicPriceConsentInput = {
5
+ /**
6
+ * The administrator's decision on the new Basic price. `accepted` continues to paid billing when the signup credit runs out; `rejected` opts out (clusters are suspended, never charged). A `rejected` org can later be flipped back to `accepted`.
7
+ */
8
+ decision: 'accepted' | 'rejected';
9
+ };
10
+ export type BasicPriceConsent = {
11
+ /**
12
+ * Consent status for the new Basic price. `not_applicable` when the organization is not in scope for the migration. `pending` when the organization must opt in but no admin has decided yet. `accepted` / `rejected` reflect the recorded decision.
13
+ */
14
+ status: 'not_applicable' | 'pending' | 'accepted' | 'rejected';
15
+ /**
16
+ * When the current decision was recorded. Absent while `not_applicable` or `pending`.
17
+ */
18
+ decided_at?: string;
19
+ /**
20
+ * User id of the administrator who recorded the current decision. Absent while `not_applicable` or `pending`.
21
+ */
22
+ decided_by?: string;
23
+ };
4
24
  export type BillingContact = {
25
+ /**
26
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
27
+ */
28
+ type: 'business' | 'personal';
5
29
  /**
6
30
  * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
7
31
  */
@@ -39,13 +63,9 @@ export type BillingContact = {
39
63
  */
40
64
  email: string;
41
65
  /**
42
- * First name of the billing contact person.
43
- */
44
- first_name: string;
45
- /**
46
- * Last name of the billing contact person.
66
+ * Name of the billing contact person.
47
67
  */
48
- last_name: string;
68
+ individual_name: string;
49
69
  /**
50
70
  * Tax ID of the organization.
51
71
  */
@@ -61,35 +81,31 @@ export type BillingCredits = {
61
81
  */
62
82
  id?: string;
63
83
  /**
64
- * Date of the credit application. ISO 8601 date string in the UTC timezone.
65
- */
66
- date_created: string;
67
- /**
68
- * Promotional code used by the customer.
84
+ * Type of the promotional code.
69
85
  */
70
- code: string;
86
+ type: 'credit' | 'discount';
71
87
  /**
72
- * Description of the promotional code.
88
+ * Timestamp when the credit becomes active. ISO 8601 date string in the UTC timezone.
73
89
  */
74
- description?: string;
90
+ date_start: string;
75
91
  /**
76
- * List of product SKUs that the promotional code can be used on.
92
+ * Timestamp when the credit expires or becomes inactive. ISO 8601 date string in the UTC timezone.
77
93
  */
78
- products?: Array<string>;
94
+ date_end?: string;
79
95
  /**
80
- * Type of the promotional code.
96
+ * Promotional code used by the customer.
81
97
  */
82
- type: 'credit' | 'discount';
98
+ code: string;
83
99
  /**
84
- * Value of the promotional code.
100
+ * Description of the promotional code.
85
101
  */
86
- value: number;
102
+ description?: string;
87
103
  /**
88
- * Date of the billing cycle. An ISO 8601 date string in the UTC timezone.
104
+ * Total value of the promotional code.
89
105
  */
90
- billing_period: string;
106
+ value_total: number;
91
107
  /**
92
- * Value of the promotional code.
108
+ * Remaining value of the promotional code.
93
109
  */
94
110
  value_remaining?: number;
95
111
  };
@@ -137,9 +153,9 @@ export type Chart = {
137
153
  */
138
154
  chart: string;
139
155
  /**
140
- * Status of the chart deployment.
156
+ * Status of the chart deployment (Flux HelmRelease Ready condition reason, e.g. InstallSucceeded, UpgradeFailed, Progressing).
141
157
  */
142
- status: 'InstallSucceeded' | 'InstallFailed' | 'UpgradeSucceeded' | 'UpgradeFailed' | 'TestSucceeded' | 'TestFailed' | 'RollbackSucceeded' | 'RollbackFailed' | 'UninstallSucceeded' | 'UninstallFailed' | 'ArtifactFailed' | 'DependencyNotReady' | 'Progressing' | 'SourceNotReady';
158
+ status: string;
143
159
  /**
144
160
  * Current version of the chart deployment.
145
161
  */
@@ -167,6 +183,9 @@ export type ChartUpdateInput = {
167
183
  */
168
184
  version_channel: string;
169
185
  };
186
+ /**
187
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
188
+ */
170
189
  export type ClusterCreateInput = {
171
190
  /**
172
191
  * Name of the cluster.
@@ -175,15 +194,61 @@ export type ClusterCreateInput = {
175
194
  /**
176
195
  * Tier of the cluster.
177
196
  */
178
- tier: 'basic' | 'pro';
179
- /**
180
- * Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.
181
- */
182
- region?: 'staging' | 'northamerica-central-1' | 'europe-central-1a' | 'northamerica-central-1a';
197
+ tier?: 'basic' | 'pro' | 'enterprise';
183
198
  /**
184
199
  * Version of the kubernetes cluster.
185
200
  */
186
201
  version_channel?: string;
202
+ /**
203
+ * Release channel for the cluster's control plane.
204
+ */
205
+ release_channel?: 'rapid' | 'stable' | 'extended';
206
+ /**
207
+ * Cluster feature toggles.
208
+ */
209
+ features?: {
210
+ /**
211
+ * GPU sharing strategy.
212
+ */
213
+ gpu_sharing_strategy?: 'none' | 'mps' | 'time_slicing';
214
+ /**
215
+ * Maximum number of pods that may share a single GPU.
216
+ */
217
+ gpu_max_shared_clients_per_gpu?: number;
218
+ /**
219
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
220
+ */
221
+ cilium_socket_lb_host_namespace_only?: boolean;
222
+ };
223
+ /**
224
+ * Cloudfleet control plane region. This field can not be updated after creation.
225
+ */
226
+ region: string;
227
+ /**
228
+ * Cluster networking configuration. Immutable after creation.
229
+ */
230
+ networking?: {
231
+ /**
232
+ * CIDR block for pod IPs.
233
+ */
234
+ pod_cidr?: string;
235
+ /**
236
+ * CIDR block for service IPs.
237
+ */
238
+ service_cidr?: string;
239
+ /**
240
+ * Enable IPv4+IPv6 dual-stack networking.
241
+ */
242
+ dual_stack?: boolean;
243
+ /**
244
+ * IPv6 pod CIDR. Requires dual_stack.
245
+ */
246
+ pod_cidr_v6?: string;
247
+ /**
248
+ * IPv6 service CIDR. Requires dual_stack.
249
+ */
250
+ service_cidr_v6?: string;
251
+ };
187
252
  };
188
253
  export type ClusterJoinInformation = {
189
254
  /**
@@ -194,10 +259,22 @@ export type ClusterJoinInformation = {
194
259
  * Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.
195
260
  */
196
261
  endpoint: string;
262
+ /**
263
+ * Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.
264
+ */
265
+ cluster_dns: string;
266
+ /**
267
+ * Pod CIDR for the cluster. Used to configure iptables rules on nodes to prevent Tailscale routing loops.
268
+ */
269
+ pod_cidr: string;
197
270
  /**
198
271
  * Authentication key for the cluster.
199
272
  */
200
273
  auth_key: string;
274
+ /**
275
+ * 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.
276
+ */
277
+ login_server: string;
201
278
  /**
202
279
  * Bootstrap token for the cluster.
203
280
  */
@@ -241,6 +318,9 @@ export type ClusterJoinInformation = {
241
318
  gcp_workload_identity_provider: string;
242
319
  };
243
320
  };
321
+ /**
322
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
323
+ */
244
324
  export type Cluster = {
245
325
  /**
246
326
  * Name of the cluster.
@@ -249,24 +329,71 @@ export type Cluster = {
249
329
  /**
250
330
  * Tier of the cluster.
251
331
  */
252
- tier: 'basic' | 'pro';
332
+ tier: 'basic' | 'pro' | 'enterprise';
253
333
  /**
254
- * Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.
334
+ * Version of the kubernetes cluster.
255
335
  */
256
- region?: 'staging' | 'northamerica-central-1' | 'europe-central-1a' | 'northamerica-central-1a';
336
+ version_channel: string;
257
337
  /**
258
- * Version of the kubernetes cluster.
338
+ * Release channel for the cluster's control plane.
259
339
  */
260
- version_channel?: string;
340
+ release_channel: 'rapid' | 'stable' | 'extended';
341
+ /**
342
+ * Cluster feature toggles.
343
+ */
344
+ features: {
345
+ /**
346
+ * GPU sharing strategy.
347
+ */
348
+ gpu_sharing_strategy: 'none' | 'mps' | 'time_slicing';
349
+ /**
350
+ * Maximum number of pods that may share a single GPU.
351
+ */
352
+ gpu_max_shared_clients_per_gpu: number;
353
+ /**
354
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
355
+ */
356
+ cilium_socket_lb_host_namespace_only: boolean;
357
+ };
358
+ /**
359
+ * Cloudfleet control plane region. This field can not be updated after creation.
360
+ */
361
+ region: string;
362
+ /**
363
+ * Cluster networking configuration. Immutable after creation.
364
+ */
365
+ networking: {
366
+ /**
367
+ * CIDR block for pod IPs.
368
+ */
369
+ pod_cidr: string;
370
+ /**
371
+ * CIDR block for service IPs.
372
+ */
373
+ service_cidr: string;
374
+ /**
375
+ * Enable IPv4+IPv6 dual-stack networking.
376
+ */
377
+ dual_stack: boolean;
378
+ /**
379
+ * IPv6 pod CIDR. Requires dual_stack.
380
+ */
381
+ pod_cidr_v6: string;
382
+ /**
383
+ * IPv6 service CIDR. Requires dual_stack.
384
+ */
385
+ service_cidr_v6: string;
386
+ };
261
387
  /**
262
388
  * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
263
389
  */
264
390
  id: string;
265
391
  /**
266
- * Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.
392
+ * Status of the cluster.
267
393
  */
268
- status: 'active' | 'deleted' | 'creating' | 'deployed' | 'failed' | 'updating';
394
+ status: 'creating' | 'deployed' | 'updating' | 'disabled';
269
395
  endpoint?: string | '';
396
+ endpoint_public?: string | '';
270
397
  /**
271
398
  * Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.
272
399
  */
@@ -286,125 +413,259 @@ export type Cluster = {
286
413
  /**
287
414
  * Indicates if the cluster is ready to be used.
288
415
  */
289
- ready?: boolean;
416
+ ready: boolean;
290
417
  };
418
+ /**
419
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
420
+ */
291
421
  export type ClusterUpdateInput = {
292
422
  /**
293
423
  * Name of the cluster.
294
424
  */
295
- name?: string;
425
+ name: string;
296
426
  /**
297
427
  * Tier of the cluster.
298
428
  */
299
- tier: 'basic' | 'pro';
429
+ tier?: 'basic' | 'pro' | 'enterprise';
300
430
  /**
301
431
  * Version of the kubernetes cluster.
302
432
  */
303
433
  version_channel?: string;
434
+ /**
435
+ * Release channel for the cluster's control plane.
436
+ */
437
+ release_channel?: 'rapid' | 'stable' | 'extended';
438
+ /**
439
+ * Cluster feature toggles.
440
+ */
441
+ features?: {
442
+ /**
443
+ * GPU sharing strategy.
444
+ */
445
+ gpu_sharing_strategy?: 'none' | 'mps' | 'time_slicing';
446
+ /**
447
+ * Maximum number of pods that may share a single GPU.
448
+ */
449
+ gpu_max_shared_clients_per_gpu?: number;
450
+ /**
451
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
452
+ */
453
+ cilium_socket_lb_host_namespace_only?: boolean;
454
+ };
304
455
  };
456
+ /**
457
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
458
+ */
305
459
  export type FleetCreateInput = {
306
460
  /**
307
461
  * Limits define a set of bounds for provisioning capacity.
308
462
  */
309
463
  limits?: {
310
464
  /**
311
- * CPU limit in cores.
465
+ * CPU limit in cores. Maximum 100,000.
312
466
  */
313
- cpu: number;
467
+ cpu?: number;
314
468
  };
315
469
  gcp?: {
316
- enabled?: boolean;
470
+ enabled: boolean;
317
471
  /**
318
- * Project GCP Project id to deploy instances into
472
+ * 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.
319
473
  */
320
- project: string;
474
+ project?: string;
321
475
  };
322
476
  hetzner?: {
323
- enabled?: boolean;
477
+ enabled: boolean;
324
478
  /**
325
- * Hetzner Cloud API key with read / write access
479
+ * 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.
326
480
  */
327
- apiKey: string;
481
+ apiKey?: string;
328
482
  };
329
483
  aws?: {
330
- enabled?: boolean;
484
+ enabled: boolean;
485
+ /**
486
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
487
+ */
488
+ controllerRoleArn?: string;
489
+ };
490
+ /**
491
+ * 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.
492
+ */
493
+ constraints?: {
494
+ /**
495
+ * Allowed values for `karpenter.sh/capacity-type`.
496
+ */
497
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
498
+ /**
499
+ * Allowed values for `kubernetes.io/arch`.
500
+ */
501
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
502
+ /**
503
+ * Allowed values for `cfke.io/instance-family`.
504
+ */
505
+ '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'>;
331
506
  /**
332
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
507
+ * Allowed values for `topology.kubernetes.io/region`.
333
508
  */
334
- controllerRoleArn: string;
509
+ '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'>;
335
510
  };
511
+ /**
512
+ * 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`).
513
+ */
514
+ scalingProfile?: 'aggressive' | 'conservative';
336
515
  /**
337
516
  * Unique identifier of the kubernetes fleet.
338
517
  */
339
518
  id: string;
340
519
  };
520
+ /**
521
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
522
+ */
341
523
  export type Fleet = {
342
524
  /**
343
525
  * Limits define a set of bounds for provisioning capacity.
344
526
  */
345
527
  limits?: {
346
528
  /**
347
- * CPU limit in cores.
529
+ * CPU limit in cores. Maximum 100,000.
348
530
  */
349
- cpu: number;
531
+ cpu?: number;
350
532
  };
351
533
  gcp?: {
352
- enabled?: boolean;
534
+ enabled: boolean;
353
535
  /**
354
- * Project GCP Project id to deploy instances into
536
+ * 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.
355
537
  */
356
- project: string;
538
+ project?: string;
357
539
  };
358
540
  hetzner?: {
359
- enabled?: boolean;
541
+ enabled: boolean;
360
542
  /**
361
- * Hetzner Cloud API key with read / write access
543
+ * Redacted Hetzner API token. Returned as 64 asterisks when a token is configured; omitted otherwise. The real value is never echoed by the API.
362
544
  */
363
- apiKey: string;
545
+ apiKey?: string;
364
546
  };
365
547
  aws?: {
366
- enabled?: boolean;
548
+ enabled: boolean;
549
+ /**
550
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
551
+ */
552
+ controllerRoleArn?: string;
553
+ };
554
+ /**
555
+ * 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.
556
+ */
557
+ constraints: {
367
558
  /**
368
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
559
+ * Allowed values for `karpenter.sh/capacity-type`.
369
560
  */
370
- controllerRoleArn: string;
561
+ 'karpenter.sh/capacity-type': Array<'on-demand' | 'spot'>;
562
+ /**
563
+ * Allowed values for `kubernetes.io/arch`.
564
+ */
565
+ 'kubernetes.io/arch': Array<'amd64' | 'arm64'>;
566
+ /**
567
+ * Allowed values for `cfke.io/instance-family`.
568
+ */
569
+ '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'>;
570
+ /**
571
+ * Allowed values for `topology.kubernetes.io/region`.
572
+ */
573
+ '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'>;
371
574
  };
575
+ /**
576
+ * 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`).
577
+ */
578
+ scalingProfile: 'aggressive' | 'conservative';
372
579
  /**
373
580
  * Unique identifier of the kubernetes fleet.
374
581
  */
375
582
  id: string;
583
+ /**
584
+ * Indicates whether the fleet configuration is healthy.
585
+ */
586
+ ready: boolean;
587
+ /**
588
+ * Human-readable reason the fleet is not ready. Present only when `ready` is false.
589
+ */
590
+ status_message?: string;
591
+ /**
592
+ * Creation date and time of the fleet.
593
+ */
594
+ created_at: string;
595
+ /**
596
+ * Date and time the fleet was last updated.
597
+ */
598
+ updated_at: string;
376
599
  };
600
+ /**
601
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
602
+ */
377
603
  export type FleetUpdateInput = {
378
604
  /**
379
605
  * Limits define a set of bounds for provisioning capacity.
380
606
  */
381
607
  limits?: {
382
608
  /**
383
- * CPU limit in cores.
609
+ * CPU limit in cores. Maximum 100,000.
384
610
  */
385
- cpu: number;
611
+ cpu?: number;
386
612
  };
387
613
  gcp?: {
388
- enabled?: boolean;
614
+ enabled: boolean;
389
615
  /**
390
- * Project GCP Project id to deploy instances into
616
+ * 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.
391
617
  */
392
- project: string;
618
+ project?: string;
393
619
  };
394
620
  hetzner?: {
395
- enabled?: boolean;
621
+ enabled: boolean;
396
622
  /**
397
- * Hetzner Cloud API key with read / write access
623
+ * 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.
398
624
  */
399
- apiKey: string;
625
+ apiKey?: string;
400
626
  };
401
627
  aws?: {
402
- enabled?: boolean;
628
+ enabled: boolean;
629
+ /**
630
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
631
+ */
632
+ controllerRoleArn?: string;
633
+ };
634
+ /**
635
+ * 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.
636
+ */
637
+ constraints?: {
403
638
  /**
404
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
639
+ * Allowed values for `karpenter.sh/capacity-type`.
405
640
  */
406
- controllerRoleArn: string;
641
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
642
+ /**
643
+ * Allowed values for `kubernetes.io/arch`.
644
+ */
645
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
646
+ /**
647
+ * Allowed values for `cfke.io/instance-family`.
648
+ */
649
+ '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'>;
650
+ /**
651
+ * Allowed values for `topology.kubernetes.io/region`.
652
+ */
653
+ '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'>;
407
654
  };
655
+ /**
656
+ * 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`).
657
+ */
658
+ scalingProfile?: 'aggressive' | 'conservative';
659
+ };
660
+ export type InviteCreateInput = {
661
+ /**
662
+ * Email address of the user to invite.
663
+ */
664
+ email: string;
665
+ /**
666
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
667
+ */
668
+ role?: 'Administrator' | 'User';
408
669
  };
409
670
  export type Invite = {
410
671
  /**
@@ -427,285 +688,215 @@ export type Invite = {
427
688
  * Generated unique invite code.
428
689
  */
429
690
  code?: string;
430
- };
431
- export type Invoice = {
432
- /**
433
- * Unique identifier of the invoice. UUID v4 string in canonical form
434
- */
435
- id?: string;
436
691
  /**
437
- * Unique identifier of the organization. UUID v4 string in canonical form
692
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
438
693
  */
439
- organizationId?: string;
694
+ role?: 'Administrator' | 'User';
695
+ };
696
+ export type InvoicePaymentAttempt = {
440
697
  /**
441
- * Status of the invoice
698
+ * Identifier of the invoice.
442
699
  */
443
- status?: 'DRAFT' | 'COMMITTED' | 'VOID';
700
+ invoice_id: string;
444
701
  /**
445
- * Total amount of the invoice
702
+ * Invoice number. Null if the invoice has no number.
446
703
  */
447
- amount?: number;
704
+ number: string;
448
705
  /**
449
- * Currency of the invoice
706
+ * Amount outstanding when the charge was attempted, in the smallest currency unit.
450
707
  */
451
- currency?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GGP' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'IMP' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JEP' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SPL' | 'SRD' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TVD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWD' | 'BTC';
708
+ amount: number;
452
709
  /**
453
- * Total amount of credit adjustments
710
+ * Currency of the invoice.
454
711
  */
455
- creditAdj?: number;
712
+ currency: string;
456
713
  /**
457
- * Total amount of refund adjustments
714
+ * Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).
458
715
  */
459
- refundAdj?: number;
716
+ status: 'paid' | 'processing' | 'requires_action' | 'failed';
460
717
  /**
461
- * Date of the invoice
718
+ * Client secret used to complete customer authentication. Set only when `status` is `requires_action`.
462
719
  */
463
- invoiceDate?: string;
720
+ client_secret: string;
464
721
  /**
465
- * Target date of the invoice
722
+ * Decline code. Set only when `status` is `failed`.
466
723
  */
467
- targetDate?: string;
724
+ failure_code: string;
468
725
  /**
469
- * Number of the invoice
726
+ * Explanation of the decline, suitable for display. Set only when `status` is `failed`.
470
727
  */
471
- invoiceNumber?: string;
728
+ failure_message: string;
729
+ };
730
+ export type InvoicePaymentResult = {
472
731
  /**
473
- * Balance of the invoice
732
+ * 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).
474
733
  */
475
- balance?: number;
734
+ code: 'paid' | 'processing' | 'action_required' | 'partially_paid' | 'failed' | 'nothing_due' | 'bank_transfer_due';
476
735
  /**
477
- * Bundle keys of the invoice
736
+ * Summary of the outcome, suitable for display.
478
737
  */
479
- bundleKeys?: string;
738
+ message: string;
480
739
  /**
481
- * Credits of the invoice
740
+ * One entry per invoice charged, oldest first.
482
741
  */
483
- credits?: Array<{
484
- /**
485
- * Unique identifier of the invoice item. UUID v4 string in canonical form
486
- */
487
- id?: string;
488
- /**
489
- * Unique identifier of the linked invoice item. UUID v4 string in canonical form
490
- */
491
- linkedInvoiceItemId?: string;
492
- /**
493
- * Name of the product
494
- */
495
- productName?: string;
496
- /**
497
- * Name of the plan
498
- */
499
- planName?: string;
500
- /**
501
- * Name of the phase
502
- */
503
- phaseName?: string;
504
- /**
505
- * Name of the usage
506
- */
507
- usageName?: string;
742
+ results: Array<{
508
743
  /**
509
- * Pretty name of the product
744
+ * Identifier of the invoice.
510
745
  */
511
- prettyProductName?: string;
746
+ invoice_id: string;
512
747
  /**
513
- * Pretty name of the plan
748
+ * Invoice number. Null if the invoice has no number.
514
749
  */
515
- prettyPlanName?: string;
750
+ number: string;
516
751
  /**
517
- * Pretty name of the phase
752
+ * Amount outstanding when the charge was attempted, in the smallest currency unit.
518
753
  */
519
- prettyPhaseName?: string;
754
+ amount: number;
520
755
  /**
521
- * Pretty name of the usage
756
+ * Currency of the invoice.
522
757
  */
523
- prettyUsageName?: string;
758
+ currency: string;
524
759
  /**
525
- * Type of the invoice item
760
+ * Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).
526
761
  */
527
- itemType?: 'EXTERNAL_CHARGE' | 'FIXED' | 'RECURRING' | 'REPAIR_ADJ' | 'CBA_ADJ' | 'CREDIT_ADJ' | 'ITEM_ADJ' | 'USAGE' | 'TAX' | 'PARENT_SUMMARY';
762
+ status: 'paid' | 'processing' | 'requires_action' | 'failed';
528
763
  /**
529
- * Description of the invoice item
764
+ * Client secret used to complete customer authentication. Set only when `status` is `requires_action`.
530
765
  */
531
- description?: string;
532
- /**
533
- * Start date of the invoice item
534
- */
535
- startDate?: string;
536
- /**
537
- * End date of the invoice item
538
- */
539
- endDate?: string;
540
- /**
541
- * Amount of the invoice item
542
- */
543
- amount?: number;
544
- /**
545
- * Rate of the invoice item
546
- */
547
- rate?: number;
548
- /**
549
- * Currency of the invoice item
550
- */
551
- currency?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GGP' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'IMP' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JEP' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SPL' | 'SRD' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TVD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWD' | 'BTC';
552
- /**
553
- * Quantity of the invoice item
554
- */
555
- quantity?: number;
556
- /**
557
- * Details of the invoice item
558
- */
559
- itemDetails?: string;
766
+ client_secret: string;
560
767
  /**
561
- * Effective date of the catalog
768
+ * Decline code. Set only when `status` is `failed`.
562
769
  */
563
- catalogEffectiveDate?: string;
770
+ failure_code: string;
564
771
  /**
565
- * Child items of the invoice item
772
+ * Explanation of the decline, suitable for display. Set only when `status` is `failed`.
566
773
  */
567
- childItems?: Array<Array<unknown> | boolean | number | {
568
- [key: string]: unknown;
569
- } | string>;
774
+ failure_message: string;
570
775
  }>;
776
+ };
777
+ export type Invoice = {
571
778
  /**
572
- * Items of the invoice
779
+ * Unique identifier of the invoice.
573
780
  */
574
- items?: Array<{
575
- /**
576
- * Unique identifier of the invoice item. UUID v4 string in canonical form
577
- */
578
- id?: string;
579
- /**
580
- * Unique identifier of the linked invoice item. UUID v4 string in canonical form
581
- */
582
- linkedInvoiceItemId?: string;
781
+ id?: string;
782
+ number?: string;
783
+ /**
784
+ * Status of the invoice
785
+ */
786
+ status?: string;
787
+ /**
788
+ * Total amount of the invoice
789
+ */
790
+ total?: number;
791
+ /**
792
+ * Currency of the invoice
793
+ */
794
+ currency?: string;
795
+ /**
796
+ * Timestamp when the invoice was issued. ISO 8601 date string in the UTC timezone.
797
+ */
798
+ created: string;
799
+ /**
800
+ * Billing period start timestamp. ISO 8601 date string in the UTC timezone.
801
+ */
802
+ period_start: string;
803
+ /**
804
+ * Billing period end timestamp. ISO 8601 date string in the UTC timezone.
805
+ */
806
+ period_end: string;
807
+ invoice_pdf?: string;
808
+ };
809
+ export type MarketplaceListingFiles = {
810
+ /**
811
+ * Raw Chart.yaml content from the Helm chart
812
+ */
813
+ chartYaml?: string;
814
+ /**
815
+ * Raw values.yaml content from the Helm chart
816
+ */
817
+ valuesYaml?: string;
818
+ /**
819
+ * JSON schema for values.yaml as a string
820
+ */
821
+ valuesSchemaJson?: string;
822
+ };
823
+ export type MarketplaceListing = {
824
+ /**
825
+ * Name of the chart
826
+ */
827
+ name: string;
828
+ /**
829
+ * Available versions of the chart
830
+ */
831
+ versions: Array<string>;
832
+ /**
833
+ * Version channels for the chart
834
+ */
835
+ version_channels: Array<string>;
836
+ /**
837
+ * Latest version of the chart
838
+ */
839
+ latestVersion: string;
840
+ /**
841
+ * Chart metadata
842
+ */
843
+ metadata?: {
583
844
  /**
584
- * Name of the product
845
+ * Chart name from metadata
585
846
  */
586
- productName?: string;
847
+ name: string;
587
848
  /**
588
- * Name of the plan
849
+ * Chart version from metadata
589
850
  */
590
- planName?: string;
851
+ version: string;
591
852
  /**
592
- * Name of the phase
853
+ * Chart description
593
854
  */
594
- phaseName?: string;
855
+ description?: string;
595
856
  /**
596
- * Name of the usage
857
+ * Application version
597
858
  */
598
- usageName?: string;
859
+ appVersion?: string;
599
860
  /**
600
- * Pretty name of the product
861
+ * Helm API version
601
862
  */
602
- prettyProductName?: string;
863
+ apiVersion?: string;
603
864
  /**
604
- * Pretty name of the plan
865
+ * Chart keywords
605
866
  */
606
- prettyPlanName?: string;
867
+ keywords?: Array<string>;
607
868
  /**
608
- * Pretty name of the phase
869
+ * Chart home URL
609
870
  */
610
- prettyPhaseName?: string;
871
+ home?: string;
611
872
  /**
612
- * Pretty name of the usage
873
+ * A URL to an SVG or PNG image to be used as an icon
613
874
  */
614
- prettyUsageName?: string;
875
+ icon?: string;
615
876
  /**
616
- * Type of the invoice item
877
+ * Chart source URLs
617
878
  */
618
- itemType?: 'EXTERNAL_CHARGE' | 'FIXED' | 'RECURRING' | 'REPAIR_ADJ' | 'CBA_ADJ' | 'CREDIT_ADJ' | 'ITEM_ADJ' | 'USAGE' | 'TAX' | 'PARENT_SUMMARY';
879
+ sources?: Array<string>;
619
880
  /**
620
- * Description of the invoice item
881
+ * Chart maintainers
621
882
  */
622
- description?: string;
623
- /**
624
- * Start date of the invoice item
625
- */
626
- startDate?: string;
627
- /**
628
- * End date of the invoice item
629
- */
630
- endDate?: string;
631
- /**
632
- * Amount of the invoice item
633
- */
634
- amount?: number;
635
- /**
636
- * Rate of the invoice item
637
- */
638
- rate?: number;
639
- /**
640
- * Currency of the invoice item
641
- */
642
- currency?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GGP' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'IMP' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JEP' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SPL' | 'SRD' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TVD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWD' | 'BTC';
643
- /**
644
- * Quantity of the invoice item
645
- */
646
- quantity?: number;
647
- /**
648
- * Details of the invoice item
649
- */
650
- itemDetails?: string;
651
- /**
652
- * Effective date of the catalog
653
- */
654
- catalogEffectiveDate?: string;
655
- /**
656
- * Child items of the invoice item
657
- */
658
- childItems?: Array<Array<unknown> | boolean | number | {
659
- [key: string]: unknown;
660
- } | string>;
661
- }>;
883
+ maintainers?: Array<{
884
+ /**
885
+ * Maintainer name
886
+ */
887
+ name: string;
888
+ /**
889
+ * Maintainer email
890
+ */
891
+ email?: string;
892
+ }>;
893
+ };
662
894
  };
663
- export type MarketplaceListing = {
664
- /**
665
- * Id of the chart listing
666
- */
667
- id: string;
668
- /**
669
- * Name of the chart listing
670
- */
671
- name: string;
672
- /**
673
- * Author of the chart listing
674
- */
675
- developer: string;
676
- /**
677
- * Short description of the chart listing
678
- */
679
- description: string;
680
- /**
681
- * Logo of the chart listing
682
- */
683
- logoUrl: string;
684
- /**
685
- * Long description of the chart listing
686
- */
687
- longDescription: string;
895
+ export type OrganizationCreateInput = {
688
896
  /**
689
- * Tags of the chart
897
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
690
898
  */
691
- categories: Array<string>;
692
- version_channels: Array<string>;
693
- value_schemas: Array<{
694
- /**
695
- * Version of the chart.
696
- */
697
- version: string;
698
- /**
699
- * Schema of the chart values. JSON Schema as string
700
- */
701
- schema: string;
702
- /**
703
- * Schema of the chart values
704
- */
705
- placeholder: string;
706
- }>;
707
- };
708
- export type OrganizationCreateInput = {
899
+ type: 'business' | 'personal';
709
900
  /**
710
901
  * Email address used for billing as a string.
711
902
  */
@@ -727,6 +918,12 @@ export type OrganizationCreateInput = {
727
918
  */
728
919
  password: string;
729
920
  };
921
+ export type OrganizationCreateOutput = {
922
+ /**
923
+ * Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.
924
+ */
925
+ id: string;
926
+ };
730
927
  export type Organization = {
731
928
  /**
732
929
  * Unique identifier of the organization. UUID v4 string in canonical form
@@ -736,6 +933,10 @@ export type Organization = {
736
933
  * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
737
934
  */
738
935
  name?: string;
936
+ /**
937
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
938
+ */
939
+ type: 'business' | 'personal';
739
940
  /**
740
941
  * Creation date of the organization. ISO 8601 date string in UTC timezone
741
942
  */
@@ -760,6 +961,14 @@ export type Organization = {
760
961
  * Available number of Pro clusters that can be created.
761
962
  */
762
963
  pro_clusters_available: number;
964
+ /**
965
+ * Maximum number of Enterprise clusters that can be created.
966
+ */
967
+ enterprise_clusters_max: number;
968
+ /**
969
+ * Available number of Enterprise clusters that can be created.
970
+ */
971
+ enterprise_clusters_available: number;
763
972
  /**
764
973
  * Maximum number of fleets that can be created per cluster.
765
974
  */
@@ -785,490 +994,1379 @@ export type Organization = {
785
994
  */
786
995
  label: string;
787
996
  }>;
997
+ /**
998
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
999
+ */
1000
+ cfcr_storage_gb: number;
788
1001
  };
789
1002
  /**
790
1003
  * Status of the organization. Can be `active` or `closed`, or `suspended`.
791
1004
  */
792
1005
  status: 'active' | 'closed' | 'suspended';
1006
+ /**
1007
+ * 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.
1008
+ */
1009
+ verification: 'none' | 'submitted' | 'verified';
793
1010
  };
794
1011
  export type PaymentMethod = {
795
1012
  /**
796
- * Unique identifier of the organization. UUID v4 string in canonical form.
1013
+ * 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.
797
1014
  */
798
1015
  id: string;
799
1016
  /**
800
- * Whether organization payment method was set up and ready to use for payments.
801
- */
802
- setup: boolean;
803
- /**
804
- * Payment method type type. Only `card` payments supported at the moment.
1017
+ * Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.
805
1018
  */
806
- type: 'card';
1019
+ type: 'card' | 'sepa_debit' | 'bank_transfer';
807
1020
  /**
808
- * Last 4 digits of the payment card number.
1021
+ * 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.
809
1022
  */
810
1023
  last4: string;
811
1024
  /**
812
- * Two-digit number representing the card's expiration month.
1025
+ * Two-digit number representing the card's expiration month. Null for SEPA Direct Debit and bank transfer.
813
1026
  */
814
1027
  exp_month: number;
815
1028
  /**
816
- * Four-digit number representing the card's expiration year.
1029
+ * 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.
817
1030
  */
818
1031
  exp_year: number;
819
1032
  /**
820
- * Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
1033
+ * Payment card brand as reported by Stripe, e.g. `visa`, `mastercard`, `amex`, `cartes_bancaires`, or `unknown`. Null for SEPA Direct Debit and bank transfer.
821
1034
  */
822
- brand: 'amex' | 'diners' | 'discover' | 'eftpos_au' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
823
- };
824
- export type TokenCreateInput = {
1035
+ brand: string;
825
1036
  /**
826
- * Human readable access token name.
1037
+ * 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.
827
1038
  */
828
- name: string;
1039
+ iban: string;
829
1040
  /**
830
- * Role assumed by the token.
1041
+ * BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.
831
1042
  */
832
- role: 'Administrator' | 'User';
833
- };
834
- export type Token = {
1043
+ bic: string;
835
1044
  /**
836
- * Human readable access token name.
1045
+ * Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.
837
1046
  */
838
- name: string;
1047
+ account_holder_name: string;
839
1048
  /**
840
- * Role assumed by the token.
1049
+ * 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).
841
1050
  */
842
- role: 'Administrator' | 'User';
1051
+ is_default: boolean;
1052
+ };
1053
+ export type PlatformQuota = {
843
1054
  /**
844
- * Generated unique identifier of the access token.
1055
+ * Maximum number of Basic clusters that can be created.
845
1056
  */
846
- id?: string;
1057
+ basic_clusters_max: number;
847
1058
  /**
848
- * Access token secret. Unmasked only during creation.
1059
+ * Available number of Basic clusters that can be created.
849
1060
  */
850
- secret?: string;
1061
+ basic_clusters_available: number;
851
1062
  /**
852
- * Creation date of the access token. ISO 8601 date string in UTC timezone
1063
+ * Maximum number of Pro clusters that can be created.
853
1064
  */
854
- date_created: string;
855
- };
856
- export type TokenUpdateInput = {
1065
+ pro_clusters_max: number;
857
1066
  /**
858
- * Human readable access token name.
1067
+ * Available number of Pro clusters that can be created.
859
1068
  */
860
- name?: string;
1069
+ pro_clusters_available: number;
861
1070
  /**
862
- * Role assumed by the token.
1071
+ * Maximum number of Enterprise clusters that can be created.
863
1072
  */
864
- role?: 'Administrator' | 'User';
865
- };
866
- export type Usage = {
1073
+ enterprise_clusters_max: number;
867
1074
  /**
868
- * Hour of the usage
1075
+ * Available number of Enterprise clusters that can be created.
869
1076
  */
870
- hour?: string;
1077
+ enterprise_clusters_available: number;
871
1078
  /**
872
- * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1079
+ * Maximum number of fleets that can be created per cluster.
873
1080
  */
874
- cluster_id: string;
1081
+ fleets_max: number;
875
1082
  /**
876
- * Tier of the cluster.
1083
+ * List of Cloudfleet cluster tiers available for the organization.
877
1084
  */
878
- cluster_tier: 'basic' | 'pro' | '';
1085
+ cluster_tiers: Array<string>;
879
1086
  /**
880
- * The product the usage is associated with
1087
+ * List of Cloudfleet control plane regions available for the organization.
881
1088
  */
882
- product: 'cfke_controlplane' | 'cfke_connected_nodes' | 'infra_compute' | 'infra_storage' | 'infra_loadbalancing' | 'infra_traffic' | 'cfcr_storage';
1089
+ regions: Array<string>;
883
1090
  /**
884
- * Name of the Kubernetes node
1091
+ * List of CFKE control plane versions available for the organization.
885
1092
  */
886
- node_name: string;
1093
+ versions: Array<{
1094
+ /**
1095
+ * Id of the control plane version. Used in API calls.
1096
+ */
1097
+ id: string;
1098
+ /**
1099
+ * Label of the control plane version. Used in frontent UI.
1100
+ */
1101
+ label: string;
1102
+ }>;
887
1103
  /**
888
- * SKU of the Kubernetes node
1104
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
889
1105
  */
890
- sku: string;
891
- cpu: number | '';
892
- price: number | '';
893
- value: number | '';
894
- total: number | '';
1106
+ cfcr_storage_gb: number;
895
1107
  };
896
- export type UserCreateInput = {
1108
+ export type RegistryRepository = {
897
1109
  /**
898
- * User email address.
1110
+ * Repository name.
899
1111
  */
900
- email: string;
1112
+ name: string;
901
1113
  /**
902
- * User first name.
1114
+ * Registry region.
903
1115
  */
904
- first_name: string;
1116
+ region: string;
905
1117
  /**
906
- * User last name.
1118
+ * Full URI of the repository.
907
1119
  */
908
- last_name: string;
1120
+ uri: string;
1121
+ };
1122
+ export type RegistryRepositoryWithTags = {
909
1123
  /**
910
- * Generated unique invite code.
1124
+ * Repository name.
911
1125
  */
912
- code: string;
1126
+ name: string;
913
1127
  /**
914
- * User password. Must be at least 8 characters long.
1128
+ * Registry region.
915
1129
  */
916
- password: string;
1130
+ region: string;
917
1131
  /**
918
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1132
+ * Full URI of the repository.
919
1133
  */
920
- status?: 'active' | 'inactive';
1134
+ uri: string;
921
1135
  /**
922
- * User role. Can be 'Administrator', 'User'.
1136
+ * Array of tags in the repository.
923
1137
  */
924
- role?: 'Administrator' | 'User';
1138
+ tags: Array<{
1139
+ /**
1140
+ * Tag name.
1141
+ */
1142
+ name: string;
1143
+ /**
1144
+ * Size of the tag in bytes.
1145
+ */
1146
+ size: number;
1147
+ /**
1148
+ * Media type of the manifest.
1149
+ */
1150
+ mediaType?: string;
1151
+ /**
1152
+ * Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).
1153
+ */
1154
+ platforms?: Array<string>;
1155
+ }>;
1156
+ /**
1157
+ * Total size of all tags in the repository in bytes.
1158
+ */
1159
+ totalSize: number;
925
1160
  };
926
- export type User = {
1161
+ export type RegistryTag = {
927
1162
  /**
928
- * User email address.
1163
+ * Tag name.
929
1164
  */
930
- email: string;
1165
+ name: string;
931
1166
  /**
932
- * User first name.
1167
+ * Manifest digest for pulling by digest.
933
1168
  */
934
- first_name: string;
1169
+ digest: string;
935
1170
  /**
936
- * User last name.
1171
+ * Media type of the manifest.
937
1172
  */
938
- last_name: string;
1173
+ mediaType?: string;
939
1174
  /**
940
- * User role. Can be 'Administrator', 'User'.
1175
+ * Manifest config metadata.
941
1176
  */
942
- role: 'Administrator' | 'User';
1177
+ config?: {
1178
+ /**
1179
+ * Size of the config in bytes.
1180
+ */
1181
+ size: number;
1182
+ };
943
1183
  /**
944
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1184
+ * Array of layer metadata.
945
1185
  */
946
- status: 'active' | 'inactive';
1186
+ layers?: Array<{
1187
+ /**
1188
+ * Digest of the layer.
1189
+ */
1190
+ digest?: string;
1191
+ /**
1192
+ * Size of the layer in bytes.
1193
+ */
1194
+ size: number;
1195
+ }>;
947
1196
  /**
948
- * Unique identifier of the user. UUID v4 string in canonical form
1197
+ * Array of manifests for multi-arch images.
949
1198
  */
950
- id: string;
1199
+ manifests?: Array<{
1200
+ /**
1201
+ * Digest of the manifest.
1202
+ */
1203
+ digest: string;
1204
+ /**
1205
+ * Platform information for the manifest.
1206
+ */
1207
+ platform?: {
1208
+ /**
1209
+ * Architecture of the platform.
1210
+ */
1211
+ architecture: string;
1212
+ /**
1213
+ * Operating system of the platform.
1214
+ */
1215
+ os: string;
1216
+ /**
1217
+ * Variant of the platform (e.g., v7, v8 for ARM).
1218
+ */
1219
+ variant?: string;
1220
+ };
1221
+ /**
1222
+ * Layers for this platform.
1223
+ */
1224
+ layers?: Array<{
1225
+ /**
1226
+ * Digest of the layer.
1227
+ */
1228
+ digest?: string;
1229
+ /**
1230
+ * Size of the layer in bytes.
1231
+ */
1232
+ size: number;
1233
+ }>;
1234
+ /**
1235
+ * Total size of this platform manifest in bytes.
1236
+ */
1237
+ size?: number;
1238
+ }>;
951
1239
  /**
952
- * Creation date of the user. ISO 8601 date string in UTC timezone
1240
+ * Total size of the tag in bytes.
953
1241
  */
954
- date_created: string;
955
- };
956
- export type UserUpdateInput = {
1242
+ size: number;
957
1243
  /**
958
- * User email address.
1244
+ * Registry region.
959
1245
  */
960
- email?: string;
1246
+ region: string;
961
1247
  /**
962
- * User first name.
1248
+ * Repository name.
963
1249
  */
964
- first_name?: string;
1250
+ repository: string;
965
1251
  /**
966
- * User last name.
1252
+ * Full URI of the tag.
967
1253
  */
968
- last_name?: string;
1254
+ uri: string;
1255
+ };
1256
+ export type TicketAttachment = {
969
1257
  /**
970
- * User role. Can be 'Administrator', 'User'.
1258
+ * Unique identifier of the attachment (Mongo ObjectId).
971
1259
  */
972
- role?: 'Administrator' | 'User';
1260
+ id: string;
973
1261
  /**
974
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1262
+ * Original filename as uploaded.
975
1263
  */
976
- status?: 'active' | 'inactive';
977
- };
978
- export type GetUsageData = {
979
- body?: never;
980
- path?: never;
981
- query?: never;
982
- url: '/billing/usage';
983
- };
984
- export type GetUsageErrors = {
1264
+ filename: string;
985
1265
  /**
986
- * Not authenticated
1266
+ * MIME content type of the attachment.
987
1267
  */
988
- 401: unknown;
989
- };
990
- export type GetUsageResponses = {
1268
+ content_type: string;
991
1269
  /**
992
- * An array of usage records.
1270
+ * Size of the attachment in bytes.
993
1271
  */
994
- 200: Array<Usage>;
995
- };
996
- export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
997
- export type GetBalanceData = {
998
- body?: never;
999
- path?: never;
1000
- query?: never;
1001
- url: '/billing/balance';
1272
+ size: number;
1002
1273
  };
1003
- export type GetBalanceResponses = {
1274
+ export type TicketCreateInput = {
1004
1275
  /**
1005
- * Current balance of the organization in USD as a floating-point number.
1276
+ * Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.
1006
1277
  */
1007
- 200: number;
1008
- };
1009
- export type GetBalanceResponse = GetBalanceResponses[keyof GetBalanceResponses];
1010
- export type GetPaymentMethodData = {
1011
- body?: never;
1012
- path?: never;
1013
- query?: never;
1014
- url: '/billing/payment-method';
1015
- };
1016
- export type GetPaymentMethodErrors = {
1278
+ category: 'billing' | 'technical' | 'general';
1017
1279
  /**
1018
- * Returns 404 Not Found if the organization does not have a payment method set up.
1280
+ * Initial message body in markdown. There is no separate subject — the first message body is the description.
1019
1281
  */
1020
- 404: unknown;
1021
- };
1022
- export type GetPaymentMethodResponses = {
1282
+ body: string;
1023
1283
  /**
1024
- * Redacted payment card information.
1284
+ * Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).
1025
1285
  */
1026
- 200: PaymentMethod;
1286
+ properties?: {
1287
+ [key: string]: unknown;
1288
+ };
1027
1289
  };
1028
- export type GetPaymentMethodResponse = GetPaymentMethodResponses[keyof GetPaymentMethodResponses];
1029
- export type GetPaymentMethodSecretData = {
1030
- body?: never;
1031
- path?: never;
1032
- query?: never;
1033
- url: '/billing/payment-method';
1290
+ export type TicketMessageInput = {
1291
+ /**
1292
+ * Reply body in markdown.
1293
+ */
1294
+ body: string;
1034
1295
  };
1035
- export type GetPaymentMethodSecretResponses = {
1296
+ export type TicketMessage = {
1036
1297
  /**
1037
- * 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.
1038
- *
1298
+ * Unique identifier of the message (Mongo ObjectId).
1039
1299
  */
1040
- 200: {
1300
+ id: string;
1301
+ /**
1302
+ * Message type. Internal notes are filtered out of customer-facing responses.
1303
+ */
1304
+ type: 'customer_reply' | 'agent_reply';
1305
+ /**
1306
+ * Message body in markdown.
1307
+ */
1308
+ body: string;
1309
+ /**
1310
+ * First name of the author. Null when not provided.
1311
+ */
1312
+ author_first_name?: string;
1313
+ /**
1314
+ * Last name of the author. Null when not provided.
1315
+ */
1316
+ author_last_name?: string;
1317
+ /**
1318
+ * Attachments associated with this message.
1319
+ */
1320
+ attachments?: Array<{
1041
1321
  /**
1042
- * The client secret.
1322
+ * Unique identifier of the attachment (Mongo ObjectId).
1043
1323
  */
1044
- id?: string;
1045
- };
1046
- };
1047
- export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
1048
- export type ListInvoicesData = {
1049
- body?: never;
1050
- path?: never;
1051
- query: {
1324
+ id: string;
1052
1325
  /**
1053
- * Start date for the usage. Date of oldest data point to retrieve.
1326
+ * Original filename as uploaded.
1054
1327
  */
1055
- start_date: string;
1328
+ filename: string;
1056
1329
  /**
1057
- * End date for the usage. Date of newest data point to retrieve.
1330
+ * MIME content type of the attachment.
1058
1331
  */
1059
- end_date: string;
1060
- };
1061
- url: '/billing/invoices';
1062
- };
1063
- export type ListInvoicesErrors = {
1332
+ content_type: string;
1333
+ /**
1334
+ * Size of the attachment in bytes.
1335
+ */
1336
+ size: number;
1337
+ }>;
1338
+ /**
1339
+ * Creation date of the message. ISO 8601 UTC.
1340
+ */
1341
+ date_created: string;
1342
+ };
1343
+ export type Ticket = {
1344
+ /**
1345
+ * Unique identifier of the ticket (Mongo ObjectId).
1346
+ */
1347
+ id: string;
1348
+ /**
1349
+ * Current state of the ticket.
1350
+ */
1351
+ status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
1352
+ /**
1353
+ * Ticket category.
1354
+ */
1355
+ category: 'billing' | 'technical' | 'general';
1356
+ /**
1357
+ * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
1358
+ */
1359
+ summary: string;
1360
+ /**
1361
+ * Closure timestamp. Null while the ticket is open.
1362
+ */
1363
+ closed_at?: string;
1364
+ /**
1365
+ * Creation date of the ticket. ISO 8601 UTC.
1366
+ */
1367
+ date_created: string;
1368
+ /**
1369
+ * Last update date of the ticket. ISO 8601 UTC.
1370
+ */
1371
+ date_updated: string;
1372
+ /**
1373
+ * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
1374
+ */
1375
+ messages?: Array<{
1376
+ /**
1377
+ * Unique identifier of the message (Mongo ObjectId).
1378
+ */
1379
+ id: string;
1380
+ /**
1381
+ * Message type. Internal notes are filtered out of customer-facing responses.
1382
+ */
1383
+ type: 'customer_reply' | 'agent_reply';
1384
+ /**
1385
+ * Message body in markdown.
1386
+ */
1387
+ body: string;
1388
+ /**
1389
+ * First name of the author. Null when not provided.
1390
+ */
1391
+ author_first_name?: string;
1392
+ /**
1393
+ * Last name of the author. Null when not provided.
1394
+ */
1395
+ author_last_name?: string;
1396
+ /**
1397
+ * Attachments associated with this message.
1398
+ */
1399
+ attachments?: Array<{
1400
+ /**
1401
+ * Unique identifier of the attachment (Mongo ObjectId).
1402
+ */
1403
+ id: string;
1404
+ /**
1405
+ * Original filename as uploaded.
1406
+ */
1407
+ filename: string;
1408
+ /**
1409
+ * MIME content type of the attachment.
1410
+ */
1411
+ content_type: string;
1412
+ /**
1413
+ * Size of the attachment in bytes.
1414
+ */
1415
+ size: number;
1416
+ }>;
1417
+ /**
1418
+ * Creation date of the message. ISO 8601 UTC.
1419
+ */
1420
+ date_created: string;
1421
+ }>;
1422
+ };
1423
+ export type TokenCreateInput = {
1424
+ /**
1425
+ * Human readable access token name.
1426
+ */
1427
+ name: string;
1428
+ /**
1429
+ * Role assumed by the token.
1430
+ */
1431
+ role: 'Administrator' | 'User';
1432
+ };
1433
+ export type Token = {
1434
+ /**
1435
+ * Human readable access token name.
1436
+ */
1437
+ name: string;
1438
+ /**
1439
+ * Role assumed by the token.
1440
+ */
1441
+ role: 'Administrator' | 'User';
1442
+ /**
1443
+ * Generated unique identifier of the access token.
1444
+ */
1445
+ id?: string;
1446
+ /**
1447
+ * Access token secret. Unmasked only during creation.
1448
+ */
1449
+ secret?: string;
1450
+ /**
1451
+ * Creation date of the access token. ISO 8601 date string in UTC timezone
1452
+ */
1453
+ date_created: string;
1454
+ };
1455
+ export type TokenUpdateInput = {
1456
+ /**
1457
+ * Human readable access token name.
1458
+ */
1459
+ name?: string;
1460
+ /**
1461
+ * Role assumed by the token.
1462
+ */
1463
+ role?: 'Administrator' | 'User';
1464
+ };
1465
+ export type UsageFacets = {
1466
+ /**
1467
+ * List of unique cluster IDs
1468
+ */
1469
+ cluster_id?: Array<string>;
1470
+ /**
1471
+ * List of unique products
1472
+ */
1473
+ 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'>;
1474
+ };
1475
+ export type UsageResponse = {
1476
+ /**
1477
+ * Usage data
1478
+ */
1479
+ data: Array<{
1480
+ /**
1481
+ * Hour of the usage
1482
+ */
1483
+ hour: string;
1484
+ /**
1485
+ * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1486
+ */
1487
+ cluster_id: string;
1488
+ /**
1489
+ * The product the usage is associated with
1490
+ */
1491
+ product: 'cfke_controlplane_basic' | 'cfke_controlplane_pro' | 'cfke_controlplane_enterprise' | 'cfke_connected_nodes_basic' | 'cfke_connected_nodes_pro' | 'cfke_connected_nodes_enterprise' | 'cfcr_storage';
1492
+ /**
1493
+ * Consumption
1494
+ */
1495
+ value: number;
1496
+ /**
1497
+ * Price per unit
1498
+ */
1499
+ price: number;
1500
+ /**
1501
+ * Total cost
1502
+ */
1503
+ total: number;
1504
+ }>;
1505
+ /**
1506
+ * Facets for filtering
1507
+ */
1508
+ facets: {
1509
+ /**
1510
+ * List of unique cluster IDs
1511
+ */
1512
+ cluster_id?: Array<string>;
1513
+ /**
1514
+ * List of unique products
1515
+ */
1516
+ 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'>;
1517
+ };
1518
+ };
1519
+ export type Usage = {
1520
+ /**
1521
+ * Hour of the usage
1522
+ */
1523
+ hour: string;
1524
+ /**
1525
+ * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1526
+ */
1527
+ cluster_id: string;
1528
+ /**
1529
+ * The product the usage is associated with
1530
+ */
1531
+ product: 'cfke_controlplane_basic' | 'cfke_controlplane_pro' | 'cfke_controlplane_enterprise' | 'cfke_connected_nodes_basic' | 'cfke_connected_nodes_pro' | 'cfke_connected_nodes_enterprise' | 'cfcr_storage';
1532
+ /**
1533
+ * Consumption
1534
+ */
1535
+ value: number;
1536
+ /**
1537
+ * Price per unit
1538
+ */
1539
+ price: number;
1540
+ /**
1541
+ * Total cost
1542
+ */
1543
+ total: number;
1544
+ };
1545
+ export type UserCreateInput = {
1546
+ /**
1547
+ * User email address.
1548
+ */
1549
+ email: string;
1550
+ /**
1551
+ * User first name.
1552
+ */
1553
+ first_name: string;
1554
+ /**
1555
+ * User last name.
1556
+ */
1557
+ last_name: string;
1558
+ /**
1559
+ * Generated unique invite code.
1560
+ */
1561
+ code: string;
1562
+ /**
1563
+ * User password. Must be at least 8 characters long.
1564
+ */
1565
+ password: string;
1566
+ };
1567
+ export type User = {
1568
+ /**
1569
+ * User email address.
1570
+ */
1571
+ email: string;
1572
+ /**
1573
+ * User first name.
1574
+ */
1575
+ first_name: string;
1576
+ /**
1577
+ * User last name.
1578
+ */
1579
+ last_name: string;
1580
+ /**
1581
+ * User role. Can be 'Administrator', 'User'.
1582
+ */
1583
+ role: 'Administrator' | 'User';
1584
+ /**
1585
+ * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1586
+ */
1587
+ status: 'active' | 'inactive';
1588
+ /**
1589
+ * Unique identifier of the user. UUID v4 string in canonical form
1590
+ */
1591
+ id: string;
1592
+ /**
1593
+ * Creation date of the user. ISO 8601 date string in UTC timezone
1594
+ */
1595
+ date_created: string;
1596
+ };
1597
+ export type UserUpdateInput = {
1598
+ /**
1599
+ * User email address.
1600
+ */
1601
+ email?: string;
1602
+ /**
1603
+ * User first name.
1604
+ */
1605
+ first_name?: string;
1606
+ /**
1607
+ * User last name.
1608
+ */
1609
+ last_name?: string;
1610
+ /**
1611
+ * User role. Can be 'Administrator', 'User'.
1612
+ */
1613
+ role?: 'Administrator' | 'User';
1614
+ /**
1615
+ * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1616
+ */
1617
+ status?: 'active' | 'inactive';
1618
+ };
1619
+ export type ListUserOrganizationsData = {
1620
+ body?: never;
1621
+ path: {
1622
+ /**
1623
+ * User email address.
1624
+ */
1625
+ email: string;
1626
+ };
1627
+ query?: never;
1628
+ url: '/users/organizations/{email}';
1629
+ };
1630
+ export type ListUserOrganizationsResponses = {
1631
+ /**
1632
+ * An array of organizations the user belongs to.
1633
+ */
1634
+ 200: Array<{
1635
+ /**
1636
+ * Unique identifier of the organization. UUID v4 string in canonical form
1637
+ */
1638
+ realm?: string;
1639
+ /**
1640
+ * Human-readable name of the organization
1641
+ */
1642
+ displayName?: string;
1643
+ }>;
1644
+ };
1645
+ export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
1646
+ export type ListUsersData = {
1647
+ body?: never;
1648
+ path?: never;
1649
+ query?: never;
1650
+ url: '/users';
1651
+ };
1652
+ export type ListUsersErrors = {
1653
+ /**
1654
+ * Not authenticated
1655
+ */
1656
+ 401: unknown;
1657
+ };
1658
+ export type ListUsersResponses = {
1659
+ /**
1660
+ * An array of users
1661
+ */
1662
+ 200: Array<User>;
1663
+ };
1664
+ export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
1665
+ export type CreateUserData = {
1666
+ body: UserCreateInput;
1667
+ path?: never;
1668
+ query?: never;
1669
+ url: '/users';
1670
+ };
1671
+ export type CreateUserResponses = {
1672
+ /**
1673
+ * Successfully created. Returns created user details.
1674
+ */
1675
+ 200: User;
1676
+ };
1677
+ export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
1678
+ export type DeleteUserData = {
1679
+ body?: never;
1680
+ path: {
1681
+ /**
1682
+ * Unique user identifier. UUID v4 string in canonical form
1683
+ */
1684
+ user_id: string;
1685
+ };
1686
+ query?: never;
1687
+ url: '/users/{user_id}';
1688
+ };
1689
+ export type DeleteUserErrors = {
1690
+ /**
1691
+ * Deleting own user is not allowed. Delete your organization instead.
1692
+ */
1693
+ 400: unknown;
1694
+ /**
1695
+ * Not authenticated
1696
+ */
1697
+ 401: unknown;
1698
+ };
1699
+ export type DeleteUserResponses = {
1700
+ /**
1701
+ * User profile information
1702
+ */
1703
+ 200: User;
1704
+ };
1705
+ export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
1706
+ export type GetUserData = {
1707
+ body?: never;
1708
+ path: {
1709
+ /**
1710
+ * Unique user identifier. UUID v4 string in canonical form
1711
+ */
1712
+ user_id: string;
1713
+ };
1714
+ query?: never;
1715
+ url: '/users/{user_id}';
1716
+ };
1717
+ export type GetUserErrors = {
1718
+ /**
1719
+ * Not authenticated
1720
+ */
1721
+ 401: unknown;
1722
+ };
1723
+ export type GetUserResponses = {
1724
+ /**
1725
+ * User profile information
1726
+ */
1727
+ 200: User;
1728
+ };
1729
+ export type GetUserResponse = GetUserResponses[keyof GetUserResponses];
1730
+ export type UpdateUserData = {
1731
+ body: UserUpdateInput;
1732
+ path: {
1733
+ /**
1734
+ * Unique user identifier. UUID v4 string in canonical form
1735
+ */
1736
+ user_id: string;
1737
+ };
1738
+ query?: never;
1739
+ url: '/users/{user_id}';
1740
+ };
1741
+ export type UpdateUserResponses = {
1742
+ /**
1743
+ * Successfully created. Returns created user details.
1744
+ */
1745
+ 200: User;
1746
+ };
1747
+ export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
1748
+ export type ListTokensData = {
1749
+ body?: never;
1750
+ path?: never;
1751
+ query?: never;
1752
+ url: '/tokens';
1753
+ };
1754
+ export type ListTokensErrors = {
1755
+ /**
1756
+ * Not authenticated
1757
+ */
1758
+ 401: unknown;
1759
+ };
1760
+ export type ListTokensResponses = {
1761
+ /**
1762
+ * Returns a list of access token details with masked secrets.
1763
+ */
1764
+ 200: Array<Token>;
1765
+ };
1766
+ export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1767
+ export type CreateTokenData = {
1768
+ body: TokenCreateInput;
1769
+ path?: never;
1770
+ query?: never;
1771
+ url: '/tokens';
1772
+ };
1773
+ export type CreateTokenErrors = {
1774
+ /**
1775
+ * Not authenticated
1776
+ */
1777
+ 401: unknown;
1778
+ };
1779
+ export type CreateTokenResponses = {
1780
+ /**
1781
+ * Successfully created. Returns created token details with unmasked/raw secret.
1782
+ */
1783
+ 200: Token;
1784
+ };
1785
+ export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1786
+ export type DeleteTokenData = {
1787
+ body?: never;
1788
+ path: {
1789
+ /**
1790
+ * Generated unique identifier of the access token.
1791
+ */
1792
+ token_id: string;
1793
+ };
1794
+ query?: never;
1795
+ url: '/tokens/{token_id}';
1796
+ };
1797
+ export type DeleteTokenResponses = {
1798
+ /**
1799
+ * Successfully deleted.
1800
+ */
1801
+ 200: unknown;
1802
+ };
1803
+ export type GetTokenData = {
1804
+ body?: never;
1805
+ path: {
1806
+ /**
1807
+ * Generated unique identifier of the access token.
1808
+ */
1809
+ token_id: string;
1810
+ };
1811
+ query?: never;
1812
+ url: '/tokens/{token_id}';
1813
+ };
1814
+ export type GetTokenErrors = {
1815
+ /**
1816
+ * Not authenticated
1817
+ */
1818
+ 401: unknown;
1819
+ };
1820
+ export type GetTokenResponses = {
1821
+ /**
1822
+ * Returns access token details with masked secret.
1823
+ */
1824
+ 200: Token;
1825
+ };
1826
+ export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
1827
+ export type UpdateTokenData = {
1828
+ body: TokenUpdateInput;
1829
+ path: {
1830
+ /**
1831
+ * Generated unique identifier of the access token.
1832
+ */
1833
+ token_id: string;
1834
+ };
1835
+ query?: never;
1836
+ url: '/tokens/{token_id}';
1837
+ };
1838
+ export type UpdateTokenErrors = {
1839
+ /**
1840
+ * Not authenticated
1841
+ */
1842
+ 401: unknown;
1843
+ };
1844
+ export type UpdateTokenResponses = {
1845
+ /**
1846
+ * Successfully updated. Returns updated token details with masked secret.
1847
+ */
1848
+ 200: Token;
1849
+ };
1850
+ export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
1851
+ export type RegenerateTokenData = {
1852
+ body?: never;
1853
+ path: {
1854
+ /**
1855
+ * Generated unique identifier of the access token.
1856
+ */
1857
+ token_id: string;
1858
+ };
1859
+ query?: never;
1860
+ url: '/tokens/{token_id}/secret';
1861
+ };
1862
+ export type RegenerateTokenErrors = {
1863
+ /**
1864
+ * Not authenticated
1865
+ */
1866
+ 401: unknown;
1867
+ };
1868
+ export type RegenerateTokenResponses = {
1869
+ /**
1870
+ * Successfully updated. Returns updated token details with unmasked / raw secret.
1871
+ */
1872
+ 200: Token;
1873
+ };
1874
+ export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
1875
+ export type ListTicketsData = {
1876
+ body?: never;
1877
+ path?: never;
1878
+ query?: never;
1879
+ url: '/tickets';
1880
+ };
1881
+ export type ListTicketsResponses = {
1882
+ /**
1883
+ * An array of tickets for the organization, newest first.
1884
+ */
1885
+ 200: Array<Ticket>;
1886
+ };
1887
+ export type ListTicketsResponse = ListTicketsResponses[keyof ListTicketsResponses];
1888
+ export type CreateTicketData = {
1889
+ body: {
1890
+ /**
1891
+ * JSON-encoded TicketCreateInput.
1892
+ */
1893
+ payload?: string;
1894
+ attachments?: Array<Blob | File>;
1895
+ };
1896
+ path?: never;
1897
+ query?: never;
1898
+ url: '/tickets';
1899
+ };
1900
+ export type CreateTicketResponses = {
1901
+ /**
1902
+ * Ticket created.
1903
+ */
1904
+ 200: Ticket;
1905
+ };
1906
+ export type CreateTicketResponse = CreateTicketResponses[keyof CreateTicketResponses];
1907
+ export type CloseTicketData = {
1908
+ body?: never;
1909
+ path: {
1910
+ ticket_id: string;
1911
+ };
1912
+ query?: never;
1913
+ url: '/tickets/{ticket_id}';
1914
+ };
1915
+ export type CloseTicketResponses = {
1916
+ /**
1917
+ * Ticket closed.
1918
+ */
1919
+ 200: Ticket;
1920
+ };
1921
+ export type CloseTicketResponse = CloseTicketResponses[keyof CloseTicketResponses];
1922
+ export type GetTicketData = {
1923
+ body?: never;
1924
+ path: {
1925
+ ticket_id: string;
1926
+ };
1927
+ query?: never;
1928
+ url: '/tickets/{ticket_id}';
1929
+ };
1930
+ export type GetTicketResponses = {
1931
+ /**
1932
+ * Ticket with messages (internal notes excluded).
1933
+ */
1934
+ 200: Ticket;
1935
+ };
1936
+ export type GetTicketResponse = GetTicketResponses[keyof GetTicketResponses];
1937
+ export type ReplyTicketData = {
1938
+ body: {
1939
+ /**
1940
+ * JSON-encoded TicketMessageInput.
1941
+ */
1942
+ payload?: string;
1943
+ attachments?: Array<Blob | File>;
1944
+ };
1945
+ path: {
1946
+ ticket_id: string;
1947
+ };
1948
+ query?: never;
1949
+ url: '/tickets/{ticket_id}/messages';
1950
+ };
1951
+ export type ReplyTicketErrors = {
1952
+ /**
1953
+ * Ticket is closed. Open a new ticket instead.
1954
+ */
1955
+ 409: unknown;
1956
+ };
1957
+ export type ReplyTicketResponses = {
1958
+ /**
1959
+ * Reply appended.
1960
+ */
1961
+ 200: TicketMessage;
1962
+ };
1963
+ export type ReplyTicketResponse = ReplyTicketResponses[keyof ReplyTicketResponses];
1964
+ export type GetTicketAttachmentData = {
1965
+ body?: never;
1966
+ path: {
1967
+ ticket_id: string;
1968
+ attachment_id: string;
1969
+ };
1970
+ query?: never;
1971
+ url: '/tickets/{ticket_id}/attachments/{attachment_id}';
1972
+ };
1973
+ export type GetTicketAttachmentResponses = {
1974
+ /**
1975
+ * Attachment binary stream.
1976
+ */
1977
+ 200: Blob | File;
1978
+ };
1979
+ export type GetTicketAttachmentResponse = GetTicketAttachmentResponses[keyof GetTicketAttachmentResponses];
1980
+ export type ListRepositoriesData = {
1981
+ body?: never;
1982
+ path?: never;
1983
+ query?: never;
1984
+ url: '/registry';
1985
+ };
1986
+ export type ListRepositoriesErrors = {
1064
1987
  /**
1065
1988
  * Not authenticated
1066
1989
  */
1067
1990
  401: unknown;
1991
+ /**
1992
+ * Internal server error
1993
+ */
1994
+ 500: unknown;
1068
1995
  };
1069
- export type ListInvoicesResponses = {
1996
+ export type ListRepositoriesResponses = {
1070
1997
  /**
1071
- * An array of usage records.
1998
+ * List of repositories
1072
1999
  */
1073
- 200: Array<Invoice>;
2000
+ 200: Array<RegistryRepository>;
1074
2001
  };
1075
- export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
1076
- export type GetInvoiceData = {
2002
+ export type ListRepositoriesResponse = ListRepositoriesResponses[keyof ListRepositoriesResponses];
2003
+ export type ListTagsData = {
1077
2004
  body?: never;
1078
2005
  path: {
1079
2006
  /**
1080
- * Unique invoice identifier. UUID v4 string in canonical form
2007
+ * Region where the repository is located
1081
2008
  */
1082
- id: string;
2009
+ region: string;
2010
+ /**
2011
+ * Name of the repository
2012
+ */
2013
+ repository: string;
1083
2014
  };
1084
2015
  query?: never;
1085
- url: '/billing/invoices/{id}';
2016
+ url: '/registry/{region}/{repository}';
1086
2017
  };
1087
- export type GetInvoiceResponses = {
2018
+ export type ListTagsErrors = {
1088
2019
  /**
1089
- * Returns a single Invoice HTML representation under `html` property.
2020
+ * Not authenticated
1090
2021
  */
1091
- 200: {
1092
- html?: string;
2022
+ 401: unknown;
2023
+ /**
2024
+ * Repository not found
2025
+ */
2026
+ 404: unknown;
2027
+ /**
2028
+ * Internal server error
2029
+ */
2030
+ 500: unknown;
2031
+ };
2032
+ export type ListTagsResponses = {
2033
+ /**
2034
+ * Repository with tags
2035
+ */
2036
+ 200: RegistryRepositoryWithTags;
2037
+ };
2038
+ export type ListTagsResponse = ListTagsResponses[keyof ListTagsResponses];
2039
+ export type DeleteTagData = {
2040
+ body?: never;
2041
+ path: {
2042
+ /**
2043
+ * Region where the repository is located
2044
+ */
2045
+ region: string;
2046
+ /**
2047
+ * Name of the repository
2048
+ */
2049
+ repository: string;
2050
+ /**
2051
+ * Name of the tag
2052
+ */
2053
+ tag: string;
1093
2054
  };
2055
+ query?: never;
2056
+ url: '/registry/{region}/{repository}/{tag}';
1094
2057
  };
1095
- export type GetInvoiceResponse = GetInvoiceResponses[keyof GetInvoiceResponses];
1096
- export type GetContactData = {
2058
+ export type DeleteTagErrors = {
2059
+ /**
2060
+ * Not authenticated
2061
+ */
2062
+ 401: unknown;
2063
+ /**
2064
+ * Tag not found
2065
+ */
2066
+ 404: unknown;
2067
+ /**
2068
+ * Internal server error
2069
+ */
2070
+ 500: unknown;
2071
+ };
2072
+ export type DeleteTagResponses = {
2073
+ /**
2074
+ * Tag successfully deleted
2075
+ */
2076
+ 200: unknown;
2077
+ };
2078
+ export type GetTagData = {
2079
+ body?: never;
2080
+ path: {
2081
+ /**
2082
+ * Region where the repository is located
2083
+ */
2084
+ region: string;
2085
+ /**
2086
+ * Name of the repository
2087
+ */
2088
+ repository: string;
2089
+ /**
2090
+ * Name of the tag
2091
+ */
2092
+ tag: string;
2093
+ };
2094
+ query?: never;
2095
+ url: '/registry/{region}/{repository}/{tag}';
2096
+ };
2097
+ export type GetTagErrors = {
2098
+ /**
2099
+ * Not authenticated
2100
+ */
2101
+ 401: unknown;
2102
+ /**
2103
+ * Tag not found
2104
+ */
2105
+ 404: unknown;
2106
+ /**
2107
+ * Internal server error
2108
+ */
2109
+ 500: unknown;
2110
+ };
2111
+ export type GetTagResponses = {
2112
+ /**
2113
+ * Tag details
2114
+ */
2115
+ 200: RegistryTag;
2116
+ };
2117
+ export type GetTagResponse = GetTagResponses[keyof GetTagResponses];
2118
+ export type GetOrganizationData = {
1097
2119
  body?: never;
1098
2120
  path?: never;
1099
2121
  query?: never;
1100
- url: '/billing/contact';
2122
+ url: '/organization';
1101
2123
  };
1102
- export type GetContactResponses = {
2124
+ export type GetOrganizationResponses = {
1103
2125
  /**
1104
- * Returns a single object containing organization contact and billing address details.
2126
+ * Returns a single object containing organization details.
1105
2127
  */
1106
- 200: BillingContact;
2128
+ 200: Organization;
1107
2129
  };
1108
- export type GetContactResponse = GetContactResponses[keyof GetContactResponses];
1109
- export type UpdateContactData = {
1110
- body: BillingContact;
2130
+ export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
2131
+ export type CreateOrganizationData = {
2132
+ body: OrganizationCreateInput;
1111
2133
  path?: never;
1112
2134
  query?: never;
1113
- url: '/billing/contact';
2135
+ url: '/organization';
1114
2136
  };
1115
- export type UpdateContactResponses = {
2137
+ export type CreateOrganizationResponses = {
1116
2138
  /**
1117
- * Successfully updated. Returns updated organization details.
2139
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
2140
+ *
1118
2141
  */
1119
- 200: BillingContact;
2142
+ 200: OrganizationCreateOutput;
1120
2143
  };
1121
- export type UpdateContactResponse = UpdateContactResponses[keyof UpdateContactResponses];
1122
- export type GetCreditsData = {
2144
+ export type CreateOrganizationResponse = CreateOrganizationResponses[keyof CreateOrganizationResponses];
2145
+ export type GetBasicPriceConsentData = {
1123
2146
  body?: never;
1124
2147
  path?: never;
1125
2148
  query?: never;
1126
- url: '/billing/credits';
2149
+ url: '/organization/basic-price-consent';
1127
2150
  };
1128
- export type GetCreditsErrors = {
2151
+ export type GetBasicPriceConsentResponses = {
1129
2152
  /**
1130
- * Not authenticated
2153
+ * Returns the current consent status.
2154
+ */
2155
+ 200: BasicPriceConsent;
2156
+ };
2157
+ export type GetBasicPriceConsentResponse = GetBasicPriceConsentResponses[keyof GetBasicPriceConsentResponses];
2158
+ export type SetBasicPriceConsentData = {
2159
+ body: BasicPriceConsentInput;
2160
+ path?: never;
2161
+ query?: never;
2162
+ url: '/organization/basic-price-consent';
2163
+ };
2164
+ export type SetBasicPriceConsentErrors = {
2165
+ /**
2166
+ * The authenticated principal has no email address (e.g. a service account) and cannot record this decision.
2167
+ *
1131
2168
  */
1132
2169
  401: unknown;
2170
+ /**
2171
+ * The consent flow does not apply to this organization.
2172
+ */
2173
+ 409: unknown;
1133
2174
  };
1134
- export type GetCreditsResponses = {
2175
+ export type SetBasicPriceConsentResponses = {
1135
2176
  /**
1136
- * An array of the applied promotional credits records.
2177
+ * Decision recorded. Returns the updated consent status.
1137
2178
  */
1138
- 200: Array<BillingCredits>;
2179
+ 200: BasicPriceConsent;
1139
2180
  };
1140
- export type GetCreditsResponse = GetCreditsResponses[keyof GetCreditsResponses];
1141
- export type RedeemCreditsData = {
2181
+ export type SetBasicPriceConsentResponse = SetBasicPriceConsentResponses[keyof SetBasicPriceConsentResponses];
2182
+ export type PostMcpData = {
2183
+ /**
2184
+ * JSON-RPC 2.0 request payload
2185
+ */
1142
2186
  body: {
2187
+ jsonrpc?: string;
2188
+ method?: string;
2189
+ id?: string | number;
1143
2190
  /**
1144
- * Promotional code to redeem
2191
+ * Method-specific parameters
1145
2192
  */
1146
- code?: string;
2193
+ params?: {
2194
+ [key: string]: unknown;
2195
+ };
1147
2196
  };
1148
2197
  path?: never;
1149
2198
  query?: never;
1150
- url: '/billing/credits';
2199
+ url: '/mcp';
1151
2200
  };
1152
- export type RedeemCreditsErrors = {
2201
+ export type PostMcpErrors = {
1153
2202
  /**
1154
2203
  * Not authenticated
1155
2204
  */
1156
2205
  401: unknown;
1157
2206
  };
1158
- export type RedeemCreditsResponses = {
2207
+ export type PostMcpResponses = {
1159
2208
  /**
1160
- * Successfully created a new organization.
2209
+ * JSON-RPC 2.0 success or error response
1161
2210
  */
1162
- 200: unknown;
2211
+ 200: {
2212
+ jsonrpc?: string;
2213
+ id?: string | number;
2214
+ result?: {
2215
+ [key: string]: unknown;
2216
+ };
2217
+ error?: {
2218
+ code?: number;
2219
+ message?: string;
2220
+ };
2221
+ };
1163
2222
  };
1164
- export type ListChartsData = {
2223
+ export type PostMcpResponse = PostMcpResponses[keyof PostMcpResponses];
2224
+ export type ListMarketplaceChartsData = {
1165
2225
  body?: never;
1166
- path: {
1167
- /**
1168
- * Unique identifier of the cluster. UUID v4 string in canonical form
1169
- */
1170
- cluster_id: string;
1171
- };
2226
+ path?: never;
1172
2227
  query?: never;
1173
- url: '/clusters/{cluster_id}/charts';
2228
+ url: '/marketplace';
1174
2229
  };
1175
- export type ListChartsErrors = {
2230
+ export type ListMarketplaceChartsErrors = {
1176
2231
  /**
1177
2232
  * Not authenticated
1178
2233
  */
1179
2234
  401: unknown;
1180
2235
  };
1181
- export type ListChartsResponses = {
2236
+ export type ListMarketplaceChartsResponses = {
1182
2237
  /**
1183
- * An array of charts
2238
+ * An array of chart listings in the marketplace.
1184
2239
  */
1185
- 200: Array<Chart>;
2240
+ 200: Array<MarketplaceListing>;
1186
2241
  };
1187
- export type ListChartsResponse = ListChartsResponses[keyof ListChartsResponses];
1188
- export type CreateChartData = {
1189
- body: ChartCreateInput;
2242
+ export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
2243
+ export type GetMarketplaceChartFilesData = {
2244
+ body?: never;
1190
2245
  path: {
1191
2246
  /**
1192
- * Unique identifier of the cluster. UUID v4 string in canonical form
2247
+ * Name of the chart in the marketplace.
1193
2248
  */
1194
- cluster_id: string;
2249
+ chart_name: string;
2250
+ /**
2251
+ * Version channel pattern to match (e.g., "1.31.x-cfke.x" for latest 1.31 patch, "1.x.x-cfke.x" for latest 1.x minor).
2252
+ */
2253
+ version_channel: string;
1195
2254
  };
1196
2255
  query?: never;
1197
- url: '/clusters/{cluster_id}/charts';
2256
+ url: '/marketplace/{chart_name}/files/{version_channel}';
1198
2257
  };
1199
- export type CreateChartResponses = {
2258
+ export type GetMarketplaceChartFilesErrors = {
1200
2259
  /**
1201
- * Successfully created. Returns created Chart ID.
2260
+ * Chart not found or no version matches the channel
1202
2261
  */
1203
- 200: string;
2262
+ 404: unknown;
1204
2263
  };
1205
- export type CreateChartResponse = CreateChartResponses[keyof CreateChartResponses];
1206
- export type DeleteChartData = {
2264
+ export type GetMarketplaceChartFilesResponses = {
2265
+ /**
2266
+ * Returns an object containing the chart files for the latest matching version.
2267
+ */
2268
+ 200: MarketplaceListingFiles;
2269
+ };
2270
+ export type GetMarketplaceChartFilesResponse = GetMarketplaceChartFilesResponses[keyof GetMarketplaceChartFilesResponses];
2271
+ export type ListInvitesData = {
2272
+ body?: never;
2273
+ path?: never;
2274
+ query?: never;
2275
+ url: '/invites';
2276
+ };
2277
+ export type ListInvitesErrors = {
2278
+ /**
2279
+ * Not authenticated
2280
+ */
2281
+ 401: unknown;
2282
+ };
2283
+ export type ListInvitesResponses = {
2284
+ /**
2285
+ * An array of invites
2286
+ */
2287
+ 200: Array<Invite>;
2288
+ };
2289
+ export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
2290
+ export type CreateInviteData = {
2291
+ body: InviteCreateInput;
2292
+ path?: never;
2293
+ query?: never;
2294
+ url: '/invites';
2295
+ };
2296
+ export type CreateInviteResponses = {
2297
+ /**
2298
+ * Successfully created. Returns created invite details.
2299
+ */
2300
+ 200: Invite;
2301
+ };
2302
+ export type CreateInviteResponse = CreateInviteResponses[keyof CreateInviteResponses];
2303
+ export type GetInviteData = {
1207
2304
  body?: never;
1208
2305
  path: {
1209
2306
  /**
1210
- * Unique identifier of the cluster. UUID v4 string in canonical form
1211
- */
1212
- cluster_id: string;
1213
- /**
1214
- * Chart deployment name as the unique identifier of the chart.
2307
+ * Invitation code
1215
2308
  */
1216
- chart_name: string;
2309
+ code: string;
1217
2310
  };
1218
2311
  query?: never;
1219
- url: '/clusters/{cluster_id}/charts/{chart_name}';
2312
+ url: '/invites/{code}';
1220
2313
  };
1221
- export type DeleteChartResponses = {
2314
+ export type GetInviteResponses = {
1222
2315
  /**
1223
- * Successfully deleted.
2316
+ * The invitation code is valid. Returns the invited email and organization.
1224
2317
  */
1225
- 200: string;
2318
+ 200: {
2319
+ /**
2320
+ * Email address the invite was issued to.
2321
+ */
2322
+ email?: string;
2323
+ /**
2324
+ * Identifier of the organization the invite grants access to.
2325
+ */
2326
+ organization_id?: string;
2327
+ };
1226
2328
  };
1227
- export type DeleteChartResponse = DeleteChartResponses[keyof DeleteChartResponses];
1228
- export type GetChartData = {
2329
+ export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
2330
+ export type DeleteInviteData = {
1229
2331
  body?: never;
1230
2332
  path: {
1231
2333
  /**
1232
- * Unique identifier of the cluster. UUID v4 string in canonical form
1233
- */
1234
- cluster_id: string;
1235
- /**
1236
- * Chart deployment name as the unique identifier of the chart.
2334
+ * User email address
1237
2335
  */
1238
- chart_name: string;
2336
+ email: string;
1239
2337
  };
1240
2338
  query?: never;
1241
- url: '/clusters/{cluster_id}/charts/{chart_name}';
2339
+ url: '/invites/{email}';
1242
2340
  };
1243
- export type GetChartResponses = {
2341
+ export type DeleteInviteResponses = {
1244
2342
  /**
1245
- * Returns a single object containing chart details.
2343
+ * Successfully deleted.
1246
2344
  */
1247
- 200: Chart;
2345
+ 200: unknown;
1248
2346
  };
1249
- export type GetChartResponse = GetChartResponses[keyof GetChartResponses];
1250
- export type UpdateChartData = {
1251
- body: ChartUpdateInput;
2347
+ export type QueryClusterData = {
2348
+ body?: never;
1252
2349
  path: {
1253
2350
  /**
1254
2351
  * Unique identifier of the cluster. UUID v4 string in canonical form
1255
2352
  */
1256
2353
  cluster_id: string;
1257
- /**
1258
- * Chart deployment name as the unique identifier of the chart.
1259
- */
1260
- chart_name: string;
1261
2354
  };
1262
2355
  query?: never;
1263
- url: '/clusters/{cluster_id}/charts/{chart_name}';
2356
+ url: '/clusters/{cluster_id}/query';
1264
2357
  };
1265
- export type UpdateChartResponses = {
2358
+ export type QueryClusterErrors = {
1266
2359
  /**
1267
- * Successfully updated.
2360
+ * Not authenticated
1268
2361
  */
1269
- 200: string;
2362
+ 401: unknown;
2363
+ };
2364
+ export type QueryClusterResponses = {
2365
+ /**
2366
+ * Kubernetes API response
2367
+ */
2368
+ 200: unknown;
1270
2369
  };
1271
- export type UpdateChartResponse = UpdateChartResponses[keyof UpdateChartResponses];
1272
2370
  export type ListFleetsData = {
1273
2371
  body?: never;
1274
2372
  path: {
@@ -1309,6 +2407,10 @@ export type CreateFleetErrors = {
1309
2407
  * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
1310
2408
  */
1311
2409
  402: string;
2410
+ /**
2411
+ * 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.
2412
+ */
2413
+ 409: string;
1312
2414
  };
1313
2415
  export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
1314
2416
  export type CreateFleetResponses = {
@@ -1333,6 +2435,13 @@ export type DeleteFleetData = {
1333
2435
  query?: never;
1334
2436
  url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1335
2437
  };
2438
+ export type DeleteFleetErrors = {
2439
+ /**
2440
+ * 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.
2441
+ */
2442
+ 409: string;
2443
+ };
2444
+ export type DeleteFleetError = DeleteFleetErrors[keyof DeleteFleetErrors];
1336
2445
  export type DeleteFleetResponses = {
1337
2446
  /**
1338
2447
  * Successfully deleted.
@@ -1382,6 +2491,10 @@ export type UpdateFleetErrors = {
1382
2491
  * Organization must have a valid payment method configured to access this endpoint.
1383
2492
  */
1384
2493
  402: string;
2494
+ /**
2495
+ * 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.
2496
+ */
2497
+ 409: string;
1385
2498
  };
1386
2499
  export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
1387
2500
  export type UpdateFleetResponses = {
@@ -1391,7 +2504,7 @@ export type UpdateFleetResponses = {
1391
2504
  200: string;
1392
2505
  };
1393
2506
  export type UpdateFleetResponse = UpdateFleetResponses[keyof UpdateFleetResponses];
1394
- export type QueryClusterData = {
2507
+ export type ListChartsData = {
1395
2508
  body?: never;
1396
2509
  path: {
1397
2510
  /**
@@ -1400,525 +2513,516 @@ export type QueryClusterData = {
1400
2513
  cluster_id: string;
1401
2514
  };
1402
2515
  query?: never;
1403
- url: '/clusters/{cluster_id}/query';
1404
- };
1405
- export type QueryClusterErrors = {
1406
- /**
1407
- * Not authenticated
1408
- */
1409
- 401: unknown;
1410
- };
1411
- export type QueryClusterResponses = {
1412
- /**
1413
- * Kubernetes API response
1414
- */
1415
- 200: unknown;
1416
- };
1417
- export type ListClustersData = {
1418
- body?: never;
1419
- path?: never;
1420
- query?: never;
1421
- url: '/clusters';
2516
+ url: '/clusters/{cluster_id}/charts';
1422
2517
  };
1423
- export type ListClustersErrors = {
2518
+ export type ListChartsErrors = {
1424
2519
  /**
1425
2520
  * Not authenticated
1426
2521
  */
1427
2522
  401: unknown;
1428
2523
  };
1429
- export type ListClustersResponses = {
2524
+ export type ListChartsResponses = {
1430
2525
  /**
1431
- * An array of clusters
2526
+ * An array of charts
1432
2527
  */
1433
- 200: Array<Cluster>;
2528
+ 200: Array<Chart>;
1434
2529
  };
1435
- export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
1436
- export type CreateClusterData = {
1437
- body: ClusterCreateInput;
1438
- path?: never;
2530
+ export type ListChartsResponse = ListChartsResponses[keyof ListChartsResponses];
2531
+ export type CreateChartData = {
2532
+ body: ChartCreateInput;
2533
+ path: {
2534
+ /**
2535
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2536
+ */
2537
+ cluster_id: string;
2538
+ };
1439
2539
  query?: never;
1440
- url: '/clusters';
2540
+ url: '/clusters/{cluster_id}/charts';
1441
2541
  };
1442
- export type CreateClusterErrors = {
2542
+ export type CreateChartErrors = {
1443
2543
  /**
1444
- * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
2544
+ * 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.
1445
2545
  */
1446
- 402: string;
2546
+ 409: string;
1447
2547
  };
1448
- export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
1449
- export type CreateClusterResponses = {
2548
+ export type CreateChartError = CreateChartErrors[keyof CreateChartErrors];
2549
+ export type CreateChartResponses = {
1450
2550
  /**
1451
- * Successfully created. Returns created Cluster ID.
2551
+ * Successfully created. Returns created Chart ID.
1452
2552
  */
1453
2553
  200: string;
1454
2554
  };
1455
- export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
1456
- export type DeleteClusterData = {
2555
+ export type CreateChartResponse = CreateChartResponses[keyof CreateChartResponses];
2556
+ export type DeleteChartData = {
1457
2557
  body?: never;
1458
2558
  path: {
1459
2559
  /**
1460
2560
  * Unique identifier of the cluster. UUID v4 string in canonical form
1461
2561
  */
1462
2562
  cluster_id: string;
2563
+ /**
2564
+ * Chart deployment name as the unique identifier of the chart.
2565
+ */
2566
+ chart_name: string;
1463
2567
  };
1464
2568
  query?: never;
1465
- url: '/clusters/{cluster_id}';
2569
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1466
2570
  };
1467
- export type DeleteClusterResponses = {
2571
+ export type DeleteChartErrors = {
2572
+ /**
2573
+ * 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.
2574
+ */
2575
+ 409: string;
2576
+ };
2577
+ export type DeleteChartError = DeleteChartErrors[keyof DeleteChartErrors];
2578
+ export type DeleteChartResponses = {
1468
2579
  /**
1469
2580
  * Successfully deleted.
1470
2581
  */
1471
2582
  200: string;
1472
2583
  };
1473
- export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
1474
- export type GetClusterData = {
2584
+ export type DeleteChartResponse = DeleteChartResponses[keyof DeleteChartResponses];
2585
+ export type GetChartData = {
1475
2586
  body?: never;
1476
2587
  path: {
1477
2588
  /**
1478
2589
  * Unique identifier of the cluster. UUID v4 string in canonical form
1479
2590
  */
1480
2591
  cluster_id: string;
1481
- };
1482
- query?: never;
1483
- url: '/clusters/{cluster_id}';
1484
- };
1485
- export type GetClusterResponses = {
1486
- /**
1487
- * Returns a single object containing cluster details.
1488
- */
1489
- 200: Cluster;
1490
- };
1491
- export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
1492
- export type UpdateClusterData = {
1493
- body: ClusterUpdateInput;
1494
- path: {
1495
2592
  /**
1496
- * Unique identifier of the cluster. UUID v4 string in canonical form
2593
+ * Chart deployment name as the unique identifier of the chart.
1497
2594
  */
1498
- cluster_id: string;
2595
+ chart_name: string;
1499
2596
  };
1500
2597
  query?: never;
1501
- url: '/clusters/{cluster_id}';
2598
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1502
2599
  };
1503
- export type UpdateClusterResponses = {
2600
+ export type GetChartResponses = {
1504
2601
  /**
1505
- * Successfully updated. Returns updated cluster details.
2602
+ * Returns a single object containing chart details.
1506
2603
  */
1507
- 200: Cluster;
2604
+ 200: Chart;
1508
2605
  };
1509
- export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
1510
- export type GetJoinInformationData = {
1511
- body?: never;
2606
+ export type GetChartResponse = GetChartResponses[keyof GetChartResponses];
2607
+ export type UpdateChartData = {
2608
+ body: ChartUpdateInput;
1512
2609
  path: {
1513
2610
  /**
1514
2611
  * Unique identifier of the cluster. UUID v4 string in canonical form
1515
2612
  */
1516
2613
  cluster_id: string;
2614
+ /**
2615
+ * Chart deployment name as the unique identifier of the chart.
2616
+ */
2617
+ chart_name: string;
1517
2618
  };
1518
2619
  query?: never;
1519
- url: '/clusters/{cluster_id}/join_information';
2620
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1520
2621
  };
1521
- export type GetJoinInformationErrors = {
2622
+ export type UpdateChartErrors = {
1522
2623
  /**
1523
- * Not authenticated
2624
+ * 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.
1524
2625
  */
1525
- 401: unknown;
2626
+ 409: string;
1526
2627
  };
1527
- export type GetJoinInformationResponses = {
2628
+ export type UpdateChartError = UpdateChartErrors[keyof UpdateChartErrors];
2629
+ export type UpdateChartResponses = {
1528
2630
  /**
1529
- * An object of cluster join information
2631
+ * Successfully updated.
1530
2632
  */
1531
- 200: ClusterJoinInformation;
2633
+ 200: string;
1532
2634
  };
1533
- export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
1534
- export type ListInvitesData = {
2635
+ export type UpdateChartResponse = UpdateChartResponses[keyof UpdateChartResponses];
2636
+ export type ListClustersData = {
1535
2637
  body?: never;
1536
2638
  path?: never;
1537
2639
  query?: never;
1538
- url: '/invites';
2640
+ url: '/clusters';
1539
2641
  };
1540
- export type ListInvitesErrors = {
2642
+ export type ListClustersErrors = {
1541
2643
  /**
1542
2644
  * Not authenticated
1543
2645
  */
1544
2646
  401: unknown;
1545
2647
  };
1546
- export type ListInvitesResponses = {
2648
+ export type ListClustersResponses = {
1547
2649
  /**
1548
- * An array of invites
2650
+ * An array of clusters
1549
2651
  */
1550
- 200: Array<Invite>;
2652
+ 200: Array<Cluster>;
1551
2653
  };
1552
- export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
1553
- export type CreateInviteData = {
1554
- body: {
1555
- /**
1556
- * User email address
1557
- */
1558
- email?: string;
1559
- };
2654
+ export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
2655
+ export type CreateClusterData = {
2656
+ body: ClusterCreateInput;
1560
2657
  path?: never;
1561
2658
  query?: never;
1562
- url: '/invites';
2659
+ url: '/clusters';
1563
2660
  };
1564
- export type CreateInviteResponses = {
2661
+ export type CreateClusterErrors = {
1565
2662
  /**
1566
- * Successfully created. Returns created invite details.
2663
+ * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
1567
2664
  */
1568
- 200: Invite;
1569
- };
1570
- export type CreateInviteResponse = CreateInviteResponses[keyof CreateInviteResponses];
1571
- export type GetInviteData = {
1572
- body?: never;
1573
- path: {
1574
- /**
1575
- * Invitation code
1576
- */
1577
- code: string;
1578
- };
1579
- query?: never;
1580
- url: '/invites/{code}';
2665
+ 402: string;
1581
2666
  };
1582
- export type GetInviteResponses = {
2667
+ export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
2668
+ export type CreateClusterResponses = {
1583
2669
  /**
1584
- * Returns a single object containing invite details.
2670
+ * Successfully created. Returns created Cluster ID.
1585
2671
  */
1586
- 200: Invite;
2672
+ 200: string;
1587
2673
  };
1588
- export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
1589
- export type DeleteInviteData = {
2674
+ export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
2675
+ export type DeleteClusterData = {
1590
2676
  body?: never;
1591
2677
  path: {
1592
2678
  /**
1593
- * User email address
2679
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1594
2680
  */
1595
- email: string;
2681
+ cluster_id: string;
1596
2682
  };
1597
2683
  query?: never;
1598
- url: '/invites/{email}';
2684
+ url: '/clusters/{cluster_id}';
1599
2685
  };
1600
- export type DeleteInviteResponses = {
2686
+ export type DeleteClusterErrors = {
1601
2687
  /**
1602
- * Successfully deleted.
2688
+ * Cluster not found; it does not exist or has already been deleted.
1603
2689
  */
1604
- 200: unknown;
1605
- };
1606
- export type ListMarketplaceChartsData = {
1607
- body?: never;
1608
- path?: never;
1609
- query?: never;
1610
- url: '/marketplace';
1611
- };
1612
- export type ListMarketplaceChartsErrors = {
2690
+ 404: unknown;
1613
2691
  /**
1614
- * Not authenticated
2692
+ * 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.
1615
2693
  */
1616
- 401: unknown;
2694
+ 409: string;
2695
+ /**
2696
+ * Transient failure tearing down the cluster; retry the request.
2697
+ */
2698
+ 503: unknown;
1617
2699
  };
1618
- export type ListMarketplaceChartsResponses = {
2700
+ export type DeleteClusterError = DeleteClusterErrors[keyof DeleteClusterErrors];
2701
+ export type DeleteClusterResponses = {
1619
2702
  /**
1620
- * An array of chart listings in the marketplace.
2703
+ * Successfully deleted. The cluster has been torn down.
1621
2704
  */
1622
- 200: Array<MarketplaceListing>;
2705
+ 200: string;
1623
2706
  };
1624
- export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
1625
- export type GetMarketplaceChartData = {
2707
+ export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
2708
+ export type GetClusterData = {
1626
2709
  body?: never;
1627
2710
  path: {
1628
2711
  /**
1629
- * Unique identifier of the chart listing in the marketplace.
2712
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1630
2713
  */
1631
- listing_id: string;
2714
+ cluster_id: string;
1632
2715
  };
1633
2716
  query?: never;
1634
- url: '/marketplace/{listing_id}';
2717
+ url: '/clusters/{cluster_id}';
1635
2718
  };
1636
- export type GetMarketplaceChartResponses = {
2719
+ export type GetClusterResponses = {
1637
2720
  /**
1638
- * Returns an object containing the chart listing details.
2721
+ * Returns a single object containing cluster details.
1639
2722
  */
1640
- 200: MarketplaceListing;
2723
+ 200: Cluster;
1641
2724
  };
1642
- export type GetMarketplaceChartResponse = GetMarketplaceChartResponses[keyof GetMarketplaceChartResponses];
1643
- export type GetOrganizationData = {
1644
- body?: never;
1645
- path?: never;
2725
+ export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
2726
+ export type UpdateClusterData = {
2727
+ body: ClusterUpdateInput;
2728
+ path: {
2729
+ /**
2730
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2731
+ */
2732
+ cluster_id: string;
2733
+ };
1646
2734
  query?: never;
1647
- url: '/organization';
2735
+ url: '/clusters/{cluster_id}';
1648
2736
  };
1649
- export type GetOrganizationResponses = {
2737
+ export type UpdateClusterErrors = {
1650
2738
  /**
1651
- * Returns a single object containing organization details.
1652
- */
1653
- 200: Organization;
1654
- };
1655
- export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
1656
- export type CreateOrganizationData = {
1657
- body: OrganizationCreateInput;
1658
- path?: never;
1659
- query?: never;
1660
- url: '/organization';
2739
+ * 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.
2740
+ */
2741
+ 409: string;
1661
2742
  };
1662
- export type CreateOrganizationResponses = {
2743
+ export type UpdateClusterError = UpdateClusterErrors[keyof UpdateClusterErrors];
2744
+ export type UpdateClusterResponses = {
1663
2745
  /**
1664
- * Successfully created a new organization.
2746
+ * Successfully updated. Returns updated cluster details.
1665
2747
  */
1666
- 200: unknown;
2748
+ 200: Cluster;
1667
2749
  };
1668
- export type ListTokensData = {
2750
+ export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
2751
+ export type GetJoinInformationData = {
1669
2752
  body?: never;
1670
- path?: never;
2753
+ path: {
2754
+ /**
2755
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2756
+ */
2757
+ cluster_id: string;
2758
+ };
1671
2759
  query?: never;
1672
- url: '/tokens';
2760
+ url: '/clusters/{cluster_id}/join_information';
1673
2761
  };
1674
- export type ListTokensErrors = {
2762
+ export type GetJoinInformationErrors = {
1675
2763
  /**
1676
2764
  * Not authenticated
1677
2765
  */
1678
2766
  401: unknown;
2767
+ /**
2768
+ * 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.
2769
+ */
2770
+ 409: string;
2771
+ /**
2772
+ * 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.
2773
+ */
2774
+ 426: string;
1679
2775
  };
1680
- export type ListTokensResponses = {
2776
+ export type GetJoinInformationError = GetJoinInformationErrors[keyof GetJoinInformationErrors];
2777
+ export type GetJoinInformationResponses = {
1681
2778
  /**
1682
- * Returns a list of access token details with masked secrets.
2779
+ * An object of cluster join information
1683
2780
  */
1684
- 200: Array<Token>;
2781
+ 200: ClusterJoinInformation;
1685
2782
  };
1686
- export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1687
- export type CreateTokenData = {
1688
- body: TokenCreateInput;
2783
+ export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
2784
+ export type GetUsageData = {
2785
+ body?: never;
1689
2786
  path?: never;
1690
- query?: never;
1691
- url: '/tokens';
2787
+ query?: {
2788
+ /**
2789
+ * 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)
2790
+ */
2791
+ granularity?: 'hourly' | 'daily' | 'monthly';
2792
+ };
2793
+ url: '/billing/usage';
1692
2794
  };
1693
- export type CreateTokenErrors = {
2795
+ export type GetUsageErrors = {
1694
2796
  /**
1695
2797
  * Not authenticated
1696
2798
  */
1697
2799
  401: unknown;
1698
2800
  };
1699
- export type CreateTokenResponses = {
2801
+ export type GetUsageResponses = {
1700
2802
  /**
1701
- * Successfully created. Returns created token details with unmasked/raw secret.
2803
+ * Usage data with facets for filtering
1702
2804
  */
1703
- 200: Token;
2805
+ 200: UsageResponse;
1704
2806
  };
1705
- export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1706
- export type DeleteTokenData = {
2807
+ export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
2808
+ export type GetPaymentMethodSecretData = {
1707
2809
  body?: never;
1708
- path: {
1709
- /**
1710
- * Generated unique identifier of the access token.
1711
- */
1712
- token_id: string;
1713
- };
2810
+ path?: never;
1714
2811
  query?: never;
1715
- url: '/tokens/{token_id}';
2812
+ url: '/billing/payment-method';
1716
2813
  };
1717
- export type DeleteTokenResponses = {
2814
+ export type GetPaymentMethodSecretResponses = {
1718
2815
  /**
1719
- * Successfully deleted.
2816
+ * 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.
2817
+ *
1720
2818
  */
1721
- 200: unknown;
1722
- };
1723
- export type GetTokenData = {
1724
- body?: never;
1725
- path: {
2819
+ 200: {
1726
2820
  /**
1727
- * Generated unique identifier of the access token.
2821
+ * The client secret.
1728
2822
  */
1729
- token_id: string;
2823
+ id?: string;
1730
2824
  };
2825
+ };
2826
+ export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
2827
+ export type ListPaymentMethodsData = {
2828
+ body?: never;
2829
+ path?: never;
1731
2830
  query?: never;
1732
- url: '/tokens/{token_id}';
2831
+ url: '/billing/payment-methods';
1733
2832
  };
1734
- export type GetTokenErrors = {
2833
+ export type ListPaymentMethodsErrors = {
1735
2834
  /**
1736
2835
  * Not authenticated
1737
2836
  */
1738
2837
  401: unknown;
1739
2838
  };
1740
- export type GetTokenResponses = {
2839
+ export type ListPaymentMethodsResponses = {
1741
2840
  /**
1742
- * Returns access token details with masked secret.
2841
+ * An array of payment methods.
1743
2842
  */
1744
- 200: Token;
2843
+ 200: Array<PaymentMethod>;
1745
2844
  };
1746
- export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
1747
- export type UpdateTokenData = {
1748
- body: TokenUpdateInput;
2845
+ export type ListPaymentMethodsResponse = ListPaymentMethodsResponses[keyof ListPaymentMethodsResponses];
2846
+ export type SetDefaultPaymentMethodData = {
2847
+ body?: never;
1749
2848
  path: {
1750
2849
  /**
1751
- * Generated unique identifier of the access token.
2850
+ * Stripe payment method identifier.
1752
2851
  */
1753
- token_id: string;
2852
+ paymentMethodId: string;
1754
2853
  };
1755
2854
  query?: never;
1756
- url: '/tokens/{token_id}';
2855
+ url: '/billing/payment-methods/{paymentMethodId}/default';
1757
2856
  };
1758
- export type UpdateTokenErrors = {
2857
+ export type SetDefaultPaymentMethodErrors = {
2858
+ /**
2859
+ * The bank transfer payment method cannot be set as the default.
2860
+ */
2861
+ 400: unknown;
1759
2862
  /**
1760
2863
  * Not authenticated
1761
2864
  */
1762
2865
  401: unknown;
2866
+ /**
2867
+ * Payment method not found.
2868
+ */
2869
+ 404: unknown;
1763
2870
  };
1764
- export type UpdateTokenResponses = {
2871
+ export type SetDefaultPaymentMethodResponses = {
1765
2872
  /**
1766
- * Successfully updated. Returns updated token details with masked secret.
2873
+ * Default payment method updated.
1767
2874
  */
1768
- 200: Token;
2875
+ 204: void;
1769
2876
  };
1770
- export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
1771
- export type RegenerateTokenData = {
2877
+ export type SetDefaultPaymentMethodResponse = SetDefaultPaymentMethodResponses[keyof SetDefaultPaymentMethodResponses];
2878
+ export type DeletePaymentMethodData = {
1772
2879
  body?: never;
1773
2880
  path: {
1774
2881
  /**
1775
- * Generated unique identifier of the access token.
2882
+ * Stripe payment method identifier.
1776
2883
  */
1777
- token_id: string;
2884
+ paymentMethodId: string;
1778
2885
  };
1779
2886
  query?: never;
1780
- url: '/tokens/{token_id}/secret';
2887
+ url: '/billing/payment-methods/{paymentMethodId}';
1781
2888
  };
1782
- export type RegenerateTokenErrors = {
2889
+ export type DeletePaymentMethodErrors = {
2890
+ /**
2891
+ * The bank transfer payment method cannot be removed.
2892
+ */
2893
+ 400: unknown;
1783
2894
  /**
1784
2895
  * Not authenticated
1785
2896
  */
1786
2897
  401: unknown;
2898
+ /**
2899
+ * Payment method not found.
2900
+ */
2901
+ 404: unknown;
2902
+ /**
2903
+ * Cannot delete the only remaining payment method.
2904
+ */
2905
+ 409: unknown;
1787
2906
  };
1788
- export type RegenerateTokenResponses = {
2907
+ export type DeletePaymentMethodResponses = {
1789
2908
  /**
1790
- * Successfully updated. Returns updated token details with unmasked / raw secret.
2909
+ * Payment method deleted.
1791
2910
  */
1792
- 200: Token;
2911
+ 204: void;
1793
2912
  };
1794
- export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
1795
- export type ListUserOrganizationsData = {
2913
+ export type DeletePaymentMethodResponse = DeletePaymentMethodResponses[keyof DeletePaymentMethodResponses];
2914
+ export type ListInvoicesData = {
1796
2915
  body?: never;
1797
- path: {
1798
- /**
1799
- * User email address.
1800
- */
1801
- email: string;
1802
- };
2916
+ path?: never;
1803
2917
  query?: never;
1804
- url: '/users/organizations/{email}';
2918
+ url: '/billing/invoices';
1805
2919
  };
1806
- export type ListUserOrganizationsResponses = {
2920
+ export type ListInvoicesErrors = {
1807
2921
  /**
1808
- * An array of organizations the user belongs to.
2922
+ * Not authenticated
1809
2923
  */
1810
- 200: Array<{
1811
- /**
1812
- * Unique identifier of the organization. UUID v4 string in canonical form
1813
- */
1814
- realm?: string;
1815
- /**
1816
- * Human-readable name of the organization
1817
- */
1818
- displayName?: string;
1819
- }>;
2924
+ 401: unknown;
1820
2925
  };
1821
- export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
1822
- export type ListUsersData = {
2926
+ export type ListInvoicesResponses = {
2927
+ /**
2928
+ * An array of usage records.
2929
+ */
2930
+ 200: Array<Invoice>;
2931
+ };
2932
+ export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
2933
+ export type PayOpenInvoicesData = {
1823
2934
  body?: never;
1824
2935
  path?: never;
1825
2936
  query?: never;
1826
- url: '/users';
2937
+ url: '/billing/invoices/pay';
1827
2938
  };
1828
- export type ListUsersErrors = {
2939
+ export type PayOpenInvoicesErrors = {
2940
+ /**
2941
+ * The organization has no payment method that can be charged.
2942
+ */
2943
+ 400: unknown;
1829
2944
  /**
1830
2945
  * Not authenticated
1831
2946
  */
1832
2947
  401: unknown;
2948
+ /**
2949
+ * Too many payment attempts for this organization.
2950
+ */
2951
+ 429: unknown;
1833
2952
  };
1834
- export type ListUsersResponses = {
2953
+ export type PayOpenInvoicesResponses = {
1835
2954
  /**
1836
- * An array of users
2955
+ * The outcome of the attempt.
1837
2956
  */
1838
- 200: Array<User>;
2957
+ 200: InvoicePaymentResult;
1839
2958
  };
1840
- export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
1841
- export type CreateUserData = {
1842
- body: UserCreateInput;
2959
+ export type PayOpenInvoicesResponse = PayOpenInvoicesResponses[keyof PayOpenInvoicesResponses];
2960
+ export type GetContactData = {
2961
+ body?: never;
1843
2962
  path?: never;
1844
2963
  query?: never;
1845
- url: '/users';
2964
+ url: '/billing/contact';
1846
2965
  };
1847
- export type CreateUserResponses = {
2966
+ export type GetContactResponses = {
1848
2967
  /**
1849
- * Successfully created. Returns created user details.
2968
+ * Returns a single object containing organization contact and billing address details.
1850
2969
  */
1851
- 200: User;
2970
+ 200: BillingContact;
1852
2971
  };
1853
- export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
1854
- export type DeleteUserData = {
1855
- body?: never;
1856
- path: {
1857
- /**
1858
- * Unique user identifier. UUID v4 string in canonical form
1859
- */
1860
- user_id: string;
1861
- };
2972
+ export type GetContactResponse = GetContactResponses[keyof GetContactResponses];
2973
+ export type UpdateContactData = {
2974
+ body: BillingContact;
2975
+ path?: never;
1862
2976
  query?: never;
1863
- url: '/users/{user_id}';
2977
+ url: '/billing/contact';
1864
2978
  };
1865
- export type DeleteUserErrors = {
2979
+ export type UpdateContactResponses = {
1866
2980
  /**
1867
- * Deleting own user is not allowed. Delete your organization instead.
2981
+ * Successfully updated. Returns updated organization details.
1868
2982
  */
1869
- 400: unknown;
2983
+ 200: BillingContact;
2984
+ };
2985
+ export type UpdateContactResponse = UpdateContactResponses[keyof UpdateContactResponses];
2986
+ export type GetCreditsData = {
2987
+ body?: never;
2988
+ path?: never;
2989
+ query?: never;
2990
+ url: '/billing/credits';
2991
+ };
2992
+ export type GetCreditsErrors = {
1870
2993
  /**
1871
2994
  * Not authenticated
1872
2995
  */
1873
2996
  401: unknown;
1874
2997
  };
1875
- export type DeleteUserResponses = {
2998
+ export type GetCreditsResponses = {
1876
2999
  /**
1877
- * User profile information
3000
+ * An array of the applied promotional credits records.
1878
3001
  */
1879
- 200: User;
3002
+ 200: Array<BillingCredits>;
1880
3003
  };
1881
- export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
1882
- export type GetUserData = {
1883
- body?: never;
1884
- path: {
3004
+ export type GetCreditsResponse = GetCreditsResponses[keyof GetCreditsResponses];
3005
+ export type RedeemCreditsData = {
3006
+ body: {
1885
3007
  /**
1886
- * Unique user identifier. UUID v4 string in canonical form
3008
+ * Promotional code to redeem
1887
3009
  */
1888
- user_id: string;
3010
+ code?: string;
1889
3011
  };
3012
+ path?: never;
1890
3013
  query?: never;
1891
- url: '/users/{user_id}';
3014
+ url: '/billing/credits';
1892
3015
  };
1893
- export type GetUserErrors = {
3016
+ export type RedeemCreditsErrors = {
1894
3017
  /**
1895
3018
  * Not authenticated
1896
3019
  */
1897
3020
  401: unknown;
1898
3021
  };
1899
- export type GetUserResponses = {
1900
- /**
1901
- * User profile information
1902
- */
1903
- 200: User;
1904
- };
1905
- export type GetUserResponse = GetUserResponses[keyof GetUserResponses];
1906
- export type UpdateUserData = {
1907
- body: UserUpdateInput;
1908
- path: {
1909
- /**
1910
- * Unique user identifier. UUID v4 string in canonical form
1911
- */
1912
- user_id: string;
1913
- };
1914
- query?: never;
1915
- url: '/users/{user_id}';
1916
- };
1917
- export type UpdateUserResponses = {
3022
+ export type RedeemCreditsResponses = {
1918
3023
  /**
1919
- * Successfully created. Returns created user details.
3024
+ * Successfully created a new organization.
1920
3025
  */
1921
- 200: User;
3026
+ 200: unknown;
1922
3027
  };
1923
- export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
1924
3028
  //# sourceMappingURL=types.gen.d.ts.map