@cloudfleet/sdk 0.12.2 → 1.0.0

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.
package/dist/sdk.gen.js CHANGED
@@ -1,79 +1,69 @@
1
1
  // This file is auto-generated by @hey-api/openapi-ts
2
2
  import { formDataBodySerializer } from './client';
3
3
  import { client } from './client.gen';
4
- export class BillingService {
4
+ export class UsersService {
5
5
  /**
6
- * Get billing usage information.
7
- *
8
- * Returns aggregated usage information for the organization with facets for filtering. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
9
- *
6
+ * Get a list of organizations the user belongs to. Used during authentication process.
10
7
  */
11
- static getUsage(options) {
12
- return (options?.client ?? client).get({ url: '/billing/usage', ...options });
8
+ static listUserOrganizations(options) {
9
+ return (options.client ?? client).get({ url: '/users/organizations/{email}', ...options });
13
10
  }
14
11
  /**
15
- * Get Stripe client secret.
16
- *
17
- * Endpoint returns the Stripe secret key for the organization. This key is used to securely update the payment method in the Cloudfleet console only, please visit https://console.cloudfleet.ai. This endpoint is available to administrators of the organization only.
12
+ * List users in organization.
18
13
  *
19
- */
20
- static getPaymentMethodSecret(options) {
21
- return (options?.client ?? client).put({ url: '/billing/payment-method', ...options });
22
- }
23
- /**
24
- * List organization payment methods.
14
+ * Returns a list of user details and their roles. For more information on identity access management, see [Users](https://cloudfleet.ai/docs/organization/users/) section of documentaiton.
25
15
  *
26
- * Returns all payment methods (cards and SEPA Direct Debit) attached to the organization, most recently added first, with the default flagged. This endpoint is available to all users in the organization.
16
+ * This endpoint is available to all users in the organization.
27
17
  *
28
18
  */
29
- static listPaymentMethods(options) {
30
- return (options?.client ?? client).get({ url: '/billing/payment-methods', ...options });
19
+ static listUsers(options) {
20
+ return (options?.client ?? client).get({ url: '/users', ...options });
31
21
  }
32
22
  /**
33
- * Set the default payment method.
23
+ * Create a new user.
34
24
  *
35
- * Sets the given payment method as the default used for invoices and active subscriptions. Requires the Administrator role.
25
+ * Create a new user in your Cloudfleet organization. Requires a valid invite code generated by the `invites create` command. The invite code is a unique string that can be used only once to create a new user. The invite code is generated by the `POST /invites` endpoint.
36
26
  *
37
27
  */
38
- static setDefaultPaymentMethod(options) {
39
- return (options.client ?? client).put({ url: '/billing/payment-methods/{paymentMethodId}/default', ...options });
28
+ static createUser(options) {
29
+ return (options.client ?? client).post({
30
+ url: '/users',
31
+ ...options,
32
+ headers: {
33
+ 'Content-Type': 'application/json',
34
+ ...options.headers
35
+ }
36
+ });
40
37
  }
41
38
  /**
42
- * Delete a payment method.
39
+ * Delete user by id.
43
40
  *
44
- * Detaches the given payment method from the organization. Requires the Administrator role. An organization must keep at least one payment method, so deleting the only remaining method is rejected.
41
+ * Sets user status to `inactive`. Inactive users cannot log in and manage organization resources. This endpoint is available to administrators of the organization only.
45
42
  *
46
43
  */
47
- static deletePaymentMethod(options) {
48
- return (options.client ?? client).delete({ url: '/billing/payment-methods/{paymentMethodId}', ...options });
44
+ static deleteUser(options) {
45
+ return (options.client ?? client).delete({ url: '/users/{user_id}', ...options });
49
46
  }
50
47
  /**
51
- * List issued invoices.
52
- *
53
- * Returns a list of invoices for the organization. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
48
+ * Get user profile information by id.
54
49
  *
55
- */
56
- static listInvoices(options) {
57
- return (options?.client ?? client).get({ url: '/billing/invoices', ...options });
58
- }
59
- /**
60
- * Get organization contact and billing address information.
50
+ * Returns user details including their roles. For more information on identity access management, see [Users](https://cloudfleet.ai/docs/organization/users/) section of documentaiton.
61
51
  *
62
- * Returns the organization contact and billing address information. This endpoint is available to all users in the organization.
52
+ * This endpoint is available to all users in the organization.
63
53
  *
64
54
  */
65
- static getContact(options) {
66
- return (options?.client ?? client).get({ url: '/billing/contact', ...options });
55
+ static getUser(options) {
56
+ return (options.client ?? client).get({ url: '/users/{user_id}', ...options });
67
57
  }
68
58
  /**
69
- * Update organization contact information and billing address.
59
+ * Update user profile information.
70
60
  *
71
- * This endpoint allows you to update organization details with its contact information. This endpoint is available to administrators of the organization only.
61
+ * Update user profile information: email, first name, last name, role. This endpoint can be accessed by administrators and the user itself. Role and status can be changed by administrators only.
72
62
  *
73
63
  */
74
- static updateContact(options) {
64
+ static updateUser(options) {
75
65
  return (options.client ?? client).put({
76
- url: '/billing/contact',
66
+ url: '/users/{user_id}',
77
67
  ...options,
78
68
  headers: {
79
69
  'Content-Type': 'application/json',
@@ -81,24 +71,28 @@ export class BillingService {
81
71
  }
82
72
  });
83
73
  }
74
+ }
75
+ export class TokensService {
84
76
  /**
85
- * Get applied promotional credits
77
+ * List access tokens in organization.
86
78
  *
87
- * Returns applied promotional credits for the organization. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
79
+ * This endpoint allows you to get a list of all access tokens details in organization. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton. This endpoint is available to all users in the organization.
88
80
  *
89
81
  */
90
- static getCredits(options) {
91
- return (options?.client ?? client).get({ url: '/billing/credits', ...options });
82
+ static listTokens(options) {
83
+ return (options?.client ?? client).get({ url: '/tokens', ...options });
92
84
  }
93
85
  /**
94
- * Redeem promotional credits code.
86
+ * Create a new access token.
95
87
  *
96
- * Applies promotional credits for the organization. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
88
+ * This endpoint allows you to create a new access token. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton.
89
+ *
90
+ * This endpoint is available to administrators of the organization only.
97
91
  *
98
92
  */
99
- static redeemCredits(options) {
93
+ static createToken(options) {
100
94
  return (options.client ?? client).post({
101
- url: '/billing/credits',
95
+ url: '/tokens',
102
96
  ...options,
103
97
  headers: {
104
98
  'Content-Type': 'application/json',
@@ -106,30 +100,35 @@ export class BillingService {
106
100
  }
107
101
  });
108
102
  }
109
- }
110
- export class ClustersService {
111
103
  /**
112
- * List charts.
104
+ * Permanently delete access token.
113
105
  *
114
- * Returns a list of charts in the cluster.
106
+ * This endpoint allows you to delete an access token. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton. This endpoint is available to administrators of the organization only.
115
107
  *
116
- * This endpoint is available to all users in the organization.
108
+ */
109
+ static deleteToken(options) {
110
+ return (options.client ?? client).delete({ url: '/tokens/{token_id}', ...options });
111
+ }
112
+ /**
113
+ * Get access token information.
114
+ *
115
+ * This endpoint allows you to get access token details. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton. This endpoint is available to all users in the organization.
117
116
  *
118
117
  */
119
- static listCharts(options) {
120
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}/charts', ...options });
118
+ static getToken(options) {
119
+ return (options.client ?? client).get({ url: '/tokens/{token_id}', ...options });
121
120
  }
122
121
  /**
123
- * Create a new chart.
122
+ * Update access token information.
124
123
  *
125
- * Create a new chart deployment.
124
+ * This endpoint allows you to update access token details. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton.
126
125
  *
127
126
  * This endpoint is available to administrators of the organization only.
128
127
  *
129
128
  */
130
- static createChart(options) {
131
- return (options.client ?? client).post({
132
- url: '/clusters/{cluster_id}/charts',
129
+ static updateToken(options) {
130
+ return (options.client ?? client).put({
131
+ url: '/tokens/{token_id}',
133
132
  ...options,
134
133
  headers: {
135
134
  'Content-Type': 'application/json',
@@ -138,146 +137,139 @@ export class ClustersService {
138
137
  });
139
138
  }
140
139
  /**
141
- * Permanently delete the chart deployment from the cluster.
142
- *
143
- * This endpoint will permanently delete chart. This operation cannot be undone.
144
- *
145
- * This endpoint is available to administrators of the organization only.
140
+ * Regenerate access token secret key.
146
141
  *
142
+ * Generates a new access token secret. Old secret will not be valid anymore.
147
143
  */
148
- static deleteChart(options) {
149
- return (options.client ?? client).delete({ url: '/clusters/{cluster_id}/charts/{chart_name}', ...options });
144
+ static regenerateToken(options) {
145
+ return (options.client ?? client).put({ url: '/tokens/{token_id}/secret', ...options });
150
146
  }
147
+ }
148
+ export class TicketsService {
151
149
  /**
152
- * Get chart information.
153
- *
154
- * Returns the details of the chart deployment.
150
+ * List tickets for the current organization.
155
151
  *
156
- * This endpoint is available to all users in the organization.
152
+ * Returns all tickets belonging to the caller's organization, newest first.
157
153
  *
158
154
  */
159
- static getChart(options) {
160
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}/charts/{chart_name}', ...options });
155
+ static listTickets(options) {
156
+ return (options?.client ?? client).get({ url: '/tickets', ...options });
161
157
  }
162
158
  /**
163
- * Update chart information.
164
- *
165
- * This endpoint allows you to update the values of a chart deployment.
159
+ * Create a new support ticket.
166
160
  *
167
- * This endpoint is available to administrators of the organization only.
161
+ * Creates a new support ticket with an initial customer message. The request is `multipart/form-data` with a JSON-encoded `payload` field carrying `category`, `body`, and optional `properties`, plus up to 3 `attachments` files (10 MB max each).
168
162
  *
169
163
  */
170
- static updateChart(options) {
171
- return (options.client ?? client).put({
172
- url: '/clusters/{cluster_id}/charts/{chart_name}',
164
+ static createTicket(options) {
165
+ return (options.client ?? client).post({
166
+ ...formDataBodySerializer,
167
+ url: '/tickets',
173
168
  ...options,
174
169
  headers: {
175
- 'Content-Type': 'application/json',
170
+ 'Content-Type': null,
176
171
  ...options.headers
177
172
  }
178
173
  });
179
174
  }
180
175
  /**
181
- * List fleets.
182
- *
183
- * Returns a list of fleets belonging to the cluster. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
176
+ * Close a ticket (soft close).
184
177
  *
185
- * This endpoint is available to all users in the organization.
178
+ * Marks the ticket as closed. Closed is a terminal state users cannot reply to a closed ticket; a new ticket must be opened instead.
186
179
  *
187
180
  */
188
- static listFleets(options) {
189
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}/fleets', ...options });
181
+ static closeTicket(options) {
182
+ return (options.client ?? client).delete({ url: '/tickets/{ticket_id}', ...options });
190
183
  }
191
184
  /**
192
- * Create a new fleet.
193
- *
194
- * Create a new fleet under the current organization. fleets allow you to to schedule workloads in cloud service provider accounts owned by you. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
185
+ * Get a ticket and its messages.
186
+ */
187
+ static getTicket(options) {
188
+ return (options.client ?? client).get({ url: '/tickets/{ticket_id}', ...options });
189
+ }
190
+ /**
191
+ * Append a customer reply to a ticket.
195
192
  *
196
- * This endpoint is available to administrators of the organization only.
193
+ * Multipart form-data with a JSON-encoded `payload` field carrying `body`, plus up to 3 `attachments` files. Returns 409 if the ticket is closed.
197
194
  *
198
195
  */
199
- static createFleet(options) {
196
+ static replyTicket(options) {
200
197
  return (options.client ?? client).post({
201
- url: '/clusters/{cluster_id}/fleets',
198
+ ...formDataBodySerializer,
199
+ url: '/tickets/{ticket_id}/messages',
202
200
  ...options,
203
201
  headers: {
204
- 'Content-Type': 'application/json',
202
+ 'Content-Type': null,
205
203
  ...options.headers
206
204
  }
207
205
  });
208
206
  }
209
207
  /**
210
- * Permanently delete fleet.
211
- *
212
- * This endpoint will permanently delete fleet. This operation cannot be undone. Your subscription will end by the end of the current billing period and you will not be able to receive credit for unused time. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
213
- *
214
- * This endpoint is available to administrators of the organization only.
215
- *
208
+ * Download a ticket attachment.
216
209
  */
217
- static deleteFleet(options) {
218
- return (options.client ?? client).delete({ url: '/clusters/{cluster_id}/fleets/{fleet_name}', ...options });
210
+ static getTicketAttachment(options) {
211
+ return (options.client ?? client).get({ url: '/tickets/{ticket_id}/attachments/{attachment_id}', ...options });
219
212
  }
213
+ }
214
+ export class RegistryService {
220
215
  /**
221
- * Get fleet information.
222
- *
223
- * Returns fleet details. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
216
+ * List repositories
224
217
  *
225
- * This endpoint is available to all users in the organization.
218
+ * Returns a list of repositories in the registry across all regions. This endpoint is available to all users in the organization.
226
219
  *
227
220
  */
228
- static getFleet(options) {
229
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}/fleets/{fleet_name}', ...options });
221
+ static listRepositories(options) {
222
+ return (options?.client ?? client).get({ url: '/registry', ...options });
230
223
  }
231
224
  /**
232
- * Update fleet information.
225
+ * List tags for a repository
233
226
  *
234
- * This endpoint allows you to update fleet details.
227
+ * Returns a list of tags for a specific repository, including size and metadata for each tag. This endpoint is available to all users in the organization.
235
228
  *
236
- * For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
229
+ */
230
+ static listTags(options) {
231
+ return (options.client ?? client).get({ url: '/registry/{region}/{repository}', ...options });
232
+ }
233
+ /**
234
+ * Delete tag
237
235
  *
238
- * This endpoint is available to administrators of the organization only.
236
+ * Permanently deletes a specific tag from a repository. This endpoint is available to administrators of the organization only.
239
237
  *
240
238
  */
241
- static updateFleet(options) {
242
- return (options.client ?? client).put({
243
- url: '/clusters/{cluster_id}/fleets/{fleet_name}',
244
- ...options,
245
- headers: {
246
- 'Content-Type': 'application/json',
247
- ...options.headers
248
- }
249
- });
239
+ static deleteTag(options) {
240
+ return (options.client ?? client).delete({ url: '/registry/{region}/{repository}/{tag}', ...options });
250
241
  }
251
242
  /**
252
- * Query Kubernetes cluster API
243
+ * Get tag details
244
+ *
245
+ * Returns detailed information for a specific tag in a repository, including manifest details, size, and URI. This endpoint is available to all users in the organization.
253
246
  *
254
- * An API endpoint for directly querying a Kubernetes cluster API without requiring kubectl or other tools. This endpoint is ideal for automation and scripting, as well as for internal use in fetching data for the Cloudfleet Console. It acts as a passthrough to the Kubernetes API, allowing access to any valid Kubernetes API endpoint, including those not exposed in the Cloudfleet Console. The endpoint is strictly read-only, ensuring no modifications to the cluster state. It is accessible to all users within the organization and uses the same authentication mechanisms as other Cloudfleet API endpoints.
255
247
  */
256
- static queryCluster(options) {
257
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}/query', ...options });
248
+ static getTag(options) {
249
+ return (options.client ?? client).get({ url: '/registry/{region}/{repository}/{tag}', ...options });
258
250
  }
251
+ }
252
+ export class OrganizationService {
259
253
  /**
260
- * List clusters.
254
+ * Get organization information.
261
255
  *
262
- * Returns a list of clusters under the current organization.
256
+ * Returns organization details including quota. For more information about quotas, see [Quotas and limits](https://cloudfleet.ai/docs/organization/quotas/) section of documentaiton.
263
257
  *
264
258
  * This endpoint is available to all users in the organization.
265
259
  *
266
260
  */
267
- static listClusters(options) {
268
- return (options?.client ?? client).get({ url: '/clusters', ...options });
261
+ static getOrganization(options) {
262
+ return (options?.client ?? client).get({ url: '/organization', ...options });
269
263
  }
270
264
  /**
271
- * Create a new cluster.
272
- *
273
- * Create a new cluster under the current organization. Clusters allow you to group resources and you can create multiple clusters under the same organization, with billing delegated to the parent organization.
265
+ * Create a new organization / Cloudfleet account signup.
274
266
  *
275
- * This endpoint is available to administrators of the organization only.
267
+ * This endpoint allows you to create a new Cloudfleet organization and an administrator user.
276
268
  *
277
269
  */
278
- static createCluster(options) {
270
+ static createOrganization(options) {
279
271
  return (options.client ?? client).post({
280
- url: '/clusters',
272
+ url: '/organization',
281
273
  ...options,
282
274
  headers: {
283
275
  'Content-Type': 'application/json',
@@ -285,54 +277,48 @@ export class ClustersService {
285
277
  }
286
278
  });
287
279
  }
280
+ }
281
+ export class McpService {
288
282
  /**
289
- * Permanently delete cluster.
290
- *
291
- * This endpoint will permanently delete the cluster. This operation cannot be undone.
292
- *
293
- * This endpoint is available to administrators of the organization only.
283
+ * MCP endpoint
294
284
  *
285
+ * MCP endpoint for handling Model Context Protocol JSON-RPC 2.0 messages.
295
286
  */
296
- static deleteCluster(options) {
297
- return (options.client ?? client).delete({ url: '/clusters/{cluster_id}', ...options });
287
+ static postMcp(options) {
288
+ return (options.client ?? client).post({
289
+ url: '/mcp',
290
+ ...options,
291
+ headers: {
292
+ 'Content-Type': 'application/json',
293
+ ...options.headers
294
+ }
295
+ });
298
296
  }
297
+ }
298
+ export class ChartsMarketplaceService {
299
299
  /**
300
- * Get cluster information.
300
+ * List chart listings available in the marketplace.
301
301
  *
302
- * Returns cluster details.
302
+ * Returns a list of available charts in the marketplace.
303
303
  *
304
304
  * This endpoint is available to all users in the organization.
305
305
  *
306
306
  */
307
- static getCluster(options) {
308
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}', ...options });
307
+ static listMarketplaceCharts(options) {
308
+ return (options?.client ?? client).get({ url: '/marketplace', ...options });
309
309
  }
310
310
  /**
311
- * Update cluster information.
312
- *
313
- * This endpoint allows you to update cluster details such as name, tier, and Kubernetes version. For more information about clusters, see [Clusters](https://cloudfleet.ai/docs/cluster-management/cluster-types/) section of documentation.
311
+ * Get chart files for a specific version channel.
314
312
  *
315
- * This endpoint is available to administrators of the organization only.
313
+ * Returns the Chart.yaml, values.yaml, and values.schema.json files for the latest version matching the specified version channel.
316
314
  *
317
- */
318
- static updateCluster(options) {
319
- return (options.client ?? client).put({
320
- url: '/clusters/{cluster_id}',
321
- ...options,
322
- headers: {
323
- 'Content-Type': 'application/json',
324
- ...options.headers
325
- }
326
- });
327
- }
328
- /**
329
- * Node join information for the cluster
315
+ * Version channels use patterns like "1.31.x-cfke.x" to match the latest patch version, or "1.x.x-cfke.x" to match the latest minor version.
330
316
  *
331
- * Returns the join information for the cluster. This information is used to add a self-managed nodes to the CFKE cluster. This endpoint is available to only admins of the organization.
317
+ * This endpoint is available to all users in the organization.
332
318
  *
333
319
  */
334
- static getJoinInformation(options) {
335
- return (options.client ?? client).post({ url: '/clusters/{cluster_id}/join_information', ...options });
320
+ static getMarketplaceChartFiles(options) {
321
+ return (options.client ?? client).get({ url: '/marketplace/{chart_name}/files/{version_channel}', ...options });
336
322
  }
337
323
  }
338
324
  export class InvitesService {
@@ -380,41 +366,39 @@ export class InvitesService {
380
366
  return (options.client ?? client).delete({ url: '/invites/{email}', ...options });
381
367
  }
382
368
  }
383
- export class ChartsMarketplaceService {
369
+ export class ClustersService {
384
370
  /**
385
- * List chart listings available in the marketplace.
386
- *
387
- * Returns a list of available charts in the marketplace.
388
- *
389
- * This endpoint is available to all users in the organization.
371
+ * Query Kubernetes cluster API
390
372
  *
373
+ * An API endpoint for directly querying a Kubernetes cluster API without requiring kubectl or other tools. This endpoint is ideal for automation and scripting, as well as for internal use in fetching data for the Cloudfleet Console. It acts as a passthrough to the Kubernetes API, allowing access to any valid Kubernetes API endpoint, including those not exposed in the Cloudfleet Console. The endpoint is strictly read-only, ensuring no modifications to the cluster state. It is accessible to all users within the organization and uses the same authentication mechanisms as other Cloudfleet API endpoints.
391
374
  */
392
- static listMarketplaceCharts(options) {
393
- return (options?.client ?? client).get({ url: '/marketplace', ...options });
375
+ static queryCluster(options) {
376
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}/query', ...options });
394
377
  }
395
378
  /**
396
- * Get chart files for a specific version channel.
397
- *
398
- * Returns the Chart.yaml, values.yaml, and values.schema.json files for the latest version matching the specified version channel.
379
+ * List fleets.
399
380
  *
400
- * Version channels use patterns like "1.31.x-cfke.x" to match the latest patch version, or "1.x.x-cfke.x" to match the latest minor version.
381
+ * Returns a list of fleets belonging to the cluster. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
401
382
  *
402
383
  * This endpoint is available to all users in the organization.
403
384
  *
404
385
  */
405
- static getMarketplaceChartFiles(options) {
406
- return (options.client ?? client).get({ url: '/marketplace/{chart_name}/files/{version_channel}', ...options });
386
+ static listFleets(options) {
387
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}/fleets', ...options });
407
388
  }
408
- }
409
- export class McpService {
410
389
  /**
411
- * MCP endpoint
390
+ * Create a new fleet.
391
+ *
392
+ * Create a new fleet under the current organization. fleets allow you to to schedule workloads in cloud service provider accounts owned by you. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
393
+ *
394
+ * The cluster must be ready (status `deployed`) before a fleet can be added. Adding a fleet while the cluster is still provisioning returns `409`.
395
+ *
396
+ * This endpoint is available to administrators of the organization only.
412
397
  *
413
- * MCP endpoint for handling Model Context Protocol JSON-RPC 2.0 messages.
414
398
  */
415
- static postMcp(options) {
399
+ static createFleet(options) {
416
400
  return (options.client ?? client).post({
417
- url: '/mcp',
401
+ url: '/clusters/{cluster_id}/fleets',
418
402
  ...options,
419
403
  headers: {
420
404
  'Content-Type': 'application/json',
@@ -422,28 +406,45 @@ export class McpService {
422
406
  }
423
407
  });
424
408
  }
425
- }
426
- export class OrganizationService {
427
409
  /**
428
- * Get organization information.
410
+ * Permanently delete fleet.
429
411
  *
430
- * Returns organization details including quota. For more information about quotas, see [Quotas and limits](https://cloudfleet.ai/docs/organization/quotas/) section of documentaiton.
412
+ * This endpoint will permanently delete fleet. This operation cannot be undone. Your subscription will end by the end of the current billing period and you will not be able to receive credit for unused time. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
413
+ *
414
+ * Deleting a fleet does not deprovision the cloud infrastructure it provisioned: nodes and other resources keep running. Scale the cluster down first, or remove the infrastructure manually, to avoid orphaned resources.
415
+ *
416
+ * This endpoint is available to administrators of the organization only.
417
+ *
418
+ */
419
+ static deleteFleet(options) {
420
+ return (options.client ?? client).delete({ url: '/clusters/{cluster_id}/fleets/{fleet_name}', ...options });
421
+ }
422
+ /**
423
+ * Get fleet information.
424
+ *
425
+ * Returns fleet details. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
431
426
  *
432
427
  * This endpoint is available to all users in the organization.
433
428
  *
434
429
  */
435
- static getOrganization(options) {
436
- return (options?.client ?? client).get({ url: '/organization', ...options });
430
+ static getFleet(options) {
431
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}/fleets/{fleet_name}', ...options });
437
432
  }
438
433
  /**
439
- * Create a new organization / Cloudfleet account signup.
434
+ * Update fleet information.
440
435
  *
441
- * This endpoint allows you to create a new Cloudfleet organization and an administrator user.
436
+ * This endpoint allows you to update fleet details.
437
+ *
438
+ * For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
439
+ *
440
+ * This is a full overwrite: any field omitted from the request is reset to its default rather than left unchanged. The Hetzner API key is the exception: it is kept when omitted (send a new value to rotate it).
441
+ *
442
+ * This endpoint is available to administrators of the organization only.
442
443
  *
443
444
  */
444
- static createOrganization(options) {
445
- return (options.client ?? client).post({
446
- url: '/organization',
445
+ static updateFleet(options) {
446
+ return (options.client ?? client).put({
447
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}',
447
448
  ...options,
448
449
  headers: {
449
450
  'Content-Type': 'application/json',
@@ -451,132 +452,141 @@ export class OrganizationService {
451
452
  }
452
453
  });
453
454
  }
454
- }
455
- export class RegistryService {
456
455
  /**
457
- * List repositories
458
- *
459
- * Returns a list of repositories in the registry across all regions. This endpoint is available to all users in the organization.
456
+ * List charts.
460
457
  *
461
- */
462
- static listRepositories(options) {
463
- return (options?.client ?? client).get({ url: '/registry', ...options });
464
- }
465
- /**
466
- * List tags for a repository
458
+ * Returns a list of charts in the cluster.
467
459
  *
468
- * Returns a list of tags for a specific repository, including size and metadata for each tag. This endpoint is available to all users in the organization.
460
+ * This endpoint is available to all users in the organization.
469
461
  *
470
462
  */
471
- static listTags(options) {
472
- return (options.client ?? client).get({ url: '/registry/{region}/{repository}', ...options });
463
+ static listCharts(options) {
464
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}/charts', ...options });
473
465
  }
474
466
  /**
475
- * Delete tag
467
+ * Create a new chart.
476
468
  *
477
- * Permanently deletes a specific tag from a repository. This endpoint is available to administrators of the organization only.
469
+ * Create a new chart deployment.
470
+ *
471
+ * This endpoint is available to administrators of the organization only.
478
472
  *
479
473
  */
480
- static deleteTag(options) {
481
- return (options.client ?? client).delete({ url: '/registry/{region}/{repository}/{tag}', ...options });
474
+ static createChart(options) {
475
+ return (options.client ?? client).post({
476
+ url: '/clusters/{cluster_id}/charts',
477
+ ...options,
478
+ headers: {
479
+ 'Content-Type': 'application/json',
480
+ ...options.headers
481
+ }
482
+ });
482
483
  }
483
484
  /**
484
- * Get tag details
485
+ * Permanently delete the chart deployment from the cluster.
485
486
  *
486
- * Returns detailed information for a specific tag in a repository, including manifest details, size, and URI. This endpoint is available to all users in the organization.
487
+ * This endpoint will permanently delete chart. This operation cannot be undone.
488
+ *
489
+ * This endpoint is available to administrators of the organization only.
487
490
  *
488
491
  */
489
- static getTag(options) {
490
- return (options.client ?? client).get({ url: '/registry/{region}/{repository}/{tag}', ...options });
492
+ static deleteChart(options) {
493
+ return (options.client ?? client).delete({ url: '/clusters/{cluster_id}/charts/{chart_name}', ...options });
491
494
  }
492
- }
493
- export class TicketsService {
494
495
  /**
495
- * List tickets for the current organization.
496
+ * Get chart information.
496
497
  *
497
- * Returns all tickets belonging to the caller's organization, newest first.
498
+ * Returns the details of the chart deployment.
499
+ *
500
+ * This endpoint is available to all users in the organization.
498
501
  *
499
502
  */
500
- static listTickets(options) {
501
- return (options?.client ?? client).get({ url: '/tickets', ...options });
503
+ static getChart(options) {
504
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}/charts/{chart_name}', ...options });
502
505
  }
503
506
  /**
504
- * Create a new support ticket.
507
+ * Update chart information.
505
508
  *
506
- * Creates a new support ticket with an initial customer message. The request is `multipart/form-data` with a JSON-encoded `payload` field carrying `category`, `body`, and optional `properties`, plus up to 3 `attachments` files (10 MB max each).
509
+ * This endpoint allows you to update the values of a chart deployment.
510
+ *
511
+ * This endpoint is available to administrators of the organization only.
507
512
  *
508
513
  */
509
- static createTicket(options) {
510
- return (options.client ?? client).post({
511
- ...formDataBodySerializer,
512
- url: '/tickets',
514
+ static updateChart(options) {
515
+ return (options.client ?? client).put({
516
+ url: '/clusters/{cluster_id}/charts/{chart_name}',
513
517
  ...options,
514
518
  headers: {
515
- 'Content-Type': null,
519
+ 'Content-Type': 'application/json',
516
520
  ...options.headers
517
521
  }
518
522
  });
519
523
  }
520
524
  /**
521
- * Close a ticket (soft close).
525
+ * List clusters.
522
526
  *
523
- * Marks the ticket as closed. Closed is a terminal state users cannot reply to a closed ticket; a new ticket must be opened instead.
527
+ * Returns a list of clusters under the current organization.
528
+ *
529
+ * This endpoint is available to all users in the organization.
524
530
  *
525
531
  */
526
- static closeTicket(options) {
527
- return (options.client ?? client).delete({ url: '/tickets/{ticket_id}', ...options });
528
- }
529
- /**
530
- * Get a ticket and its messages.
531
- */
532
- static getTicket(options) {
533
- return (options.client ?? client).get({ url: '/tickets/{ticket_id}', ...options });
532
+ static listClusters(options) {
533
+ return (options?.client ?? client).get({ url: '/clusters', ...options });
534
534
  }
535
535
  /**
536
- * Append a customer reply to a ticket.
536
+ * Create a new cluster.
537
537
  *
538
- * Multipart form-data with a JSON-encoded `payload` field carrying `body`, plus up to 3 `attachments` files. Returns 409 if the ticket is closed.
538
+ * Create a new cluster under the current organization. Clusters allow you to group resources and you can create multiple clusters under the same organization, with billing delegated to the parent organization.
539
+ *
540
+ * This endpoint is available to administrators of the organization only.
539
541
  *
540
542
  */
541
- static replyTicket(options) {
543
+ static createCluster(options) {
542
544
  return (options.client ?? client).post({
543
- ...formDataBodySerializer,
544
- url: '/tickets/{ticket_id}/messages',
545
+ url: '/clusters',
545
546
  ...options,
546
547
  headers: {
547
- 'Content-Type': null,
548
+ 'Content-Type': 'application/json',
548
549
  ...options.headers
549
550
  }
550
551
  });
551
552
  }
552
553
  /**
553
- * Download a ticket attachment.
554
+ * Permanently delete cluster.
555
+ *
556
+ * This endpoint will permanently delete the cluster. This operation cannot be undone.
557
+ *
558
+ * Deleting a cluster also deletes its fleets. This does not deprovision the cloud infrastructure those fleets provisioned: nodes and other resources keep running. Scale the cluster down first, or remove the infrastructure manually, to avoid orphaned resources.
559
+ *
560
+ * This endpoint is available to administrators of the organization only.
561
+ *
554
562
  */
555
- static getTicketAttachment(options) {
556
- return (options.client ?? client).get({ url: '/tickets/{ticket_id}/attachments/{attachment_id}', ...options });
563
+ static deleteCluster(options) {
564
+ return (options.client ?? client).delete({ url: '/clusters/{cluster_id}', ...options });
557
565
  }
558
- }
559
- export class TokensService {
560
566
  /**
561
- * List access tokens in organization.
567
+ * Get cluster information.
562
568
  *
563
- * This endpoint allows you to get a list of all access tokens details in organization. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton. This endpoint is available to all users in the organization.
569
+ * Returns cluster details.
570
+ *
571
+ * This endpoint is available to all users in the organization.
564
572
  *
565
573
  */
566
- static listTokens(options) {
567
- return (options?.client ?? client).get({ url: '/tokens', ...options });
574
+ static getCluster(options) {
575
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}', ...options });
568
576
  }
569
577
  /**
570
- * Create a new access token.
578
+ * Update cluster information.
571
579
  *
572
- * This endpoint allows you to create a new access token. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton.
580
+ * This endpoint allows you to update cluster details. For more information about clusters, see [Clusters](https://cloudfleet.ai/docs/cluster-management/cluster-types/) section of documentation.
581
+ *
582
+ * This is a full overwrite: any field omitted from the request is reset to its default rather than left unchanged.
573
583
  *
574
584
  * This endpoint is available to administrators of the organization only.
575
585
  *
576
586
  */
577
- static createToken(options) {
578
- return (options.client ?? client).post({
579
- url: '/tokens',
587
+ static updateCluster(options) {
588
+ return (options.client ?? client).put({
589
+ url: '/clusters/{cluster_id}',
580
590
  ...options,
581
591
  headers: {
582
592
  'Content-Type': 'application/json',
@@ -585,77 +595,88 @@ export class TokensService {
585
595
  });
586
596
  }
587
597
  /**
588
- * Permanently delete access token.
598
+ * Node join information for the cluster
589
599
  *
590
- * This endpoint allows you to delete an access token. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton. This endpoint is available to administrators of the organization only.
600
+ * Returns the join information for the cluster. This information is used to add a self-managed nodes to the CFKE cluster. This endpoint is available to only admins of the organization.
591
601
  *
592
602
  */
593
- static deleteToken(options) {
594
- return (options.client ?? client).delete({ url: '/tokens/{token_id}', ...options });
603
+ static getJoinInformation(options) {
604
+ return (options.client ?? client).post({ url: '/clusters/{cluster_id}/join_information', ...options });
595
605
  }
606
+ }
607
+ export class BillingService {
596
608
  /**
597
- * Get access token information.
609
+ * Get billing usage information.
598
610
  *
599
- * This endpoint allows you to get access token details. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton. This endpoint is available to all users in the organization.
611
+ * Returns aggregated usage information for the organization with facets for filtering. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
600
612
  *
601
613
  */
602
- static getToken(options) {
603
- return (options.client ?? client).get({ url: '/tokens/{token_id}', ...options });
614
+ static getUsage(options) {
615
+ return (options?.client ?? client).get({ url: '/billing/usage', ...options });
604
616
  }
605
617
  /**
606
- * Update access token information.
618
+ * Get Stripe client secret.
607
619
  *
608
- * This endpoint allows you to update access token details. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton.
620
+ * Endpoint returns the Stripe secret key for the organization. This key is used to securely update the payment method in the Cloudfleet console only, please visit https://console.cloudfleet.ai. This endpoint is available to administrators of the organization only.
609
621
  *
610
- * This endpoint is available to administrators of the organization only.
622
+ */
623
+ static getPaymentMethodSecret(options) {
624
+ return (options?.client ?? client).put({ url: '/billing/payment-method', ...options });
625
+ }
626
+ /**
627
+ * List organization payment methods.
628
+ *
629
+ * Returns all payment methods (cards and SEPA Direct Debit) attached to the organization, most recently added first, with the default flagged. This endpoint is available to all users in the organization.
611
630
  *
612
631
  */
613
- static updateToken(options) {
614
- return (options.client ?? client).put({
615
- url: '/tokens/{token_id}',
616
- ...options,
617
- headers: {
618
- 'Content-Type': 'application/json',
619
- ...options.headers
620
- }
621
- });
632
+ static listPaymentMethods(options) {
633
+ return (options?.client ?? client).get({ url: '/billing/payment-methods', ...options });
622
634
  }
623
635
  /**
624
- * Regenerate access token secret key.
636
+ * Set the default payment method.
637
+ *
638
+ * Sets the given payment method as the default used for invoices and active subscriptions. Requires the Administrator role.
625
639
  *
626
- * Generates a new access token secret. Old secret will not be valid anymore.
627
640
  */
628
- static regenerateToken(options) {
629
- return (options.client ?? client).put({ url: '/tokens/{token_id}/secret', ...options });
641
+ static setDefaultPaymentMethod(options) {
642
+ return (options.client ?? client).put({ url: '/billing/payment-methods/{paymentMethodId}/default', ...options });
630
643
  }
631
- }
632
- export class UsersService {
633
644
  /**
634
- * Get a list of organizations the user belongs to. Used during authentication process.
645
+ * Delete a payment method.
646
+ *
647
+ * Detaches the given payment method from the organization. Requires the Administrator role. An organization must keep at least one payment method, so deleting the only remaining method is rejected.
648
+ *
635
649
  */
636
- static listUserOrganizations(options) {
637
- return (options.client ?? client).get({ url: '/users/organizations/{email}', ...options });
650
+ static deletePaymentMethod(options) {
651
+ return (options.client ?? client).delete({ url: '/billing/payment-methods/{paymentMethodId}', ...options });
638
652
  }
639
653
  /**
640
- * List users in organization.
654
+ * List issued invoices.
641
655
  *
642
- * Returns a list of user details and their roles. For more information on identity access management, see [Users](https://cloudfleet.ai/docs/organization/users/) section of documentaiton.
656
+ * Returns a list of invoices for the organization. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
643
657
  *
644
- * This endpoint is available to all users in the organization.
658
+ */
659
+ static listInvoices(options) {
660
+ return (options?.client ?? client).get({ url: '/billing/invoices', ...options });
661
+ }
662
+ /**
663
+ * Get organization contact and billing address information.
664
+ *
665
+ * Returns the organization contact and billing address information. This endpoint is available to all users in the organization.
645
666
  *
646
667
  */
647
- static listUsers(options) {
648
- return (options?.client ?? client).get({ url: '/users', ...options });
668
+ static getContact(options) {
669
+ return (options?.client ?? client).get({ url: '/billing/contact', ...options });
649
670
  }
650
671
  /**
651
- * Create a new user.
672
+ * Update organization contact information and billing address.
652
673
  *
653
- * Create a new user in your Cloudfleet organization. Requires a valid invite code generated by the `invites create` command. The invite code is a unique string that can be used only once to create a new user. The invite code is generated by the `POST /invites` endpoint.
674
+ * This endpoint allows you to update organization details with its contact information. This endpoint is available to administrators of the organization only.
654
675
  *
655
676
  */
656
- static createUser(options) {
657
- return (options.client ?? client).post({
658
- url: '/users',
677
+ static updateContact(options) {
678
+ return (options.client ?? client).put({
679
+ url: '/billing/contact',
659
680
  ...options,
660
681
  headers: {
661
682
  'Content-Type': 'application/json',
@@ -664,34 +685,23 @@ export class UsersService {
664
685
  });
665
686
  }
666
687
  /**
667
- * Delete user by id.
668
- *
669
- * Sets user status to `inactive`. Inactive users cannot log in and manage organization resources. This endpoint is available to administrators of the organization only.
670
- *
671
- */
672
- static deleteUser(options) {
673
- return (options.client ?? client).delete({ url: '/users/{user_id}', ...options });
674
- }
675
- /**
676
- * Get user profile information by id.
677
- *
678
- * Returns user details including their roles. For more information on identity access management, see [Users](https://cloudfleet.ai/docs/organization/users/) section of documentaiton.
688
+ * Get applied promotional credits
679
689
  *
680
- * This endpoint is available to all users in the organization.
690
+ * Returns applied promotional credits for the organization. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
681
691
  *
682
692
  */
683
- static getUser(options) {
684
- return (options.client ?? client).get({ url: '/users/{user_id}', ...options });
693
+ static getCredits(options) {
694
+ return (options?.client ?? client).get({ url: '/billing/credits', ...options });
685
695
  }
686
696
  /**
687
- * Update user profile information.
697
+ * Redeem promotional credits code.
688
698
  *
689
- * Update user profile information: email, first name, last name, role. This endpoint can be accessed by administrators and the user itself. Role and status can be changed by administrators only.
699
+ * Applies promotional credits for the organization. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
690
700
  *
691
701
  */
692
- static updateUser(options) {
693
- return (options.client ?? client).put({
694
- url: '/users/{user_id}',
702
+ static redeemCredits(options) {
703
+ return (options.client ?? client).post({
704
+ url: '/billing/credits',
695
705
  ...options,
696
706
  headers: {
697
707
  'Content-Type': 'application/json',