@cloudfleet/sdk 0.0.1-28564af → 0.0.1-289b770

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 (46) hide show
  1. package/README.md +56 -2
  2. package/dist/@tanstack/react-query.gen.d.ts +432 -614
  3. package/dist/@tanstack/react-query.gen.d.ts.map +1 -1
  4. package/dist/@tanstack/react-query.gen.js +431 -404
  5. package/dist/@tanstack/react-query.gen.js.map +1 -1
  6. package/dist/client/client.gen.d.ts.map +1 -1
  7. package/dist/client/client.gen.js +1 -4
  8. package/dist/client/client.gen.js.map +1 -1
  9. package/dist/client/types.gen.d.ts +1 -1
  10. package/dist/client/types.gen.d.ts.map +1 -1
  11. package/dist/client/utils.gen.d.ts +2 -2
  12. package/dist/client/utils.gen.d.ts.map +1 -1
  13. package/dist/client/utils.gen.js +3 -3
  14. package/dist/client/utils.gen.js.map +1 -1
  15. package/dist/core/params.gen.js +4 -4
  16. package/dist/core/params.gen.js.map +1 -1
  17. package/dist/errors.d.ts +42 -0
  18. package/dist/errors.d.ts.map +1 -0
  19. package/dist/errors.js +83 -0
  20. package/dist/errors.js.map +1 -0
  21. package/dist/index.d.ts +1 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +4 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/schemas.gen.d.ts +971 -514
  26. package/dist/schemas.gen.d.ts.map +1 -1
  27. package/dist/schemas.gen.js +1961 -664
  28. package/dist/schemas.gen.js.map +1 -1
  29. package/dist/sdk.gen.d.ts +226 -221
  30. package/dist/sdk.gen.d.ts.map +1 -1
  31. package/dist/sdk.gen.js +340 -324
  32. package/dist/sdk.gen.js.map +1 -1
  33. package/dist/services/kubernetes/api.d.ts +18 -55
  34. package/dist/services/kubernetes/api.d.ts.map +1 -1
  35. package/dist/services/kubernetes/api.js +36 -75
  36. package/dist/services/kubernetes/api.js.map +1 -1
  37. package/dist/services/kubernetes/index.d.ts.map +1 -1
  38. package/dist/services/kubernetes/index.js +36 -37
  39. package/dist/services/kubernetes/index.js.map +1 -1
  40. package/dist/types.gen.d.ts +1334 -994
  41. package/dist/types.gen.d.ts.map +1 -1
  42. package/dist/zod.gen.d.ts +3539 -1498
  43. package/dist/zod.gen.d.ts.map +1 -1
  44. package/dist/zod.gen.js +1289 -399
  45. package/dist/zod.gen.js.map +1 -1
  46. package/package.json +10 -15
package/dist/sdk.gen.js CHANGED
@@ -1,61 +1,33 @@
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 {
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
- *
10
- */
11
- static getUsage(options) {
12
- return (options?.client ?? client).get({ url: '/billing/usage', ...options });
13
- }
14
- /**
15
- * Get organization payment method information.
16
- *
17
- * Returns the information about the payment card associated with the organization with sensitive information redacted. Payment details can be updated in the Cloudfleet console only, please visit https://console.cloudfleet.ai. This endpoint is available to all users in the organization.
18
- *
19
- */
20
- static getPaymentMethod(options) {
21
- return (options?.client ?? client).get({ url: '/billing/payment-method', ...options });
22
- }
4
+ export class UsersService {
23
5
  /**
24
- * Get Stripe client secret.
25
- *
26
- * 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.
27
- *
6
+ * Get a list of organizations the user belongs to. Used during authentication process.
28
7
  */
29
- static getPaymentMethodSecret(options) {
30
- return (options?.client ?? client).put({ url: '/billing/payment-method', ...options });
8
+ static listUserOrganizations(options) {
9
+ return (options.client ?? client).get({ url: '/users/organizations/{email}', ...options });
31
10
  }
32
11
  /**
33
- * List issued invoices.
34
- *
35
- * 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.
12
+ * List users in organization.
36
13
  *
37
- */
38
- static listInvoices(options) {
39
- return (options?.client ?? client).get({ url: '/billing/invoices', ...options });
40
- }
41
- /**
42
- * Get organization contact and billing address information.
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.
43
15
  *
44
- * Returns the organization contact and billing address information. This endpoint is available to all users in the organization.
16
+ * This endpoint is available to all users in the organization.
45
17
  *
46
18
  */
47
- static getContact(options) {
48
- return (options?.client ?? client).get({ url: '/billing/contact', ...options });
19
+ static listUsers(options) {
20
+ return (options?.client ?? client).get({ url: '/users', ...options });
49
21
  }
50
22
  /**
51
- * Update organization contact information and billing address.
23
+ * Create a new user.
52
24
  *
53
- * This endpoint allows you to update organization details with its contact information. This endpoint is available to administrators of the organization only.
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.
54
26
  *
55
27
  */
56
- static updateContact(options) {
57
- return (options.client ?? client).put({
58
- url: '/billing/contact',
28
+ static createUser(options) {
29
+ return (options.client ?? client).post({
30
+ url: '/users',
59
31
  ...options,
60
32
  headers: {
61
33
  'Content-Type': 'application/json',
@@ -64,23 +36,34 @@ export class BillingService {
64
36
  });
65
37
  }
66
38
  /**
67
- * Get applied promotional credits
39
+ * Delete user by id.
68
40
  *
69
- * 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.
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.
70
42
  *
71
43
  */
72
- static getCredits(options) {
73
- return (options?.client ?? client).get({ url: '/billing/credits', ...options });
44
+ static deleteUser(options) {
45
+ return (options.client ?? client).delete({ url: '/users/{user_id}', ...options });
74
46
  }
75
47
  /**
76
- * Redeem promotional credits code.
48
+ * Get user profile information by id.
77
49
  *
78
- * 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.
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.
51
+ *
52
+ * This endpoint is available to all users in the organization.
79
53
  *
80
54
  */
81
- static redeemCredits(options) {
82
- return (options.client ?? client).post({
83
- url: '/billing/credits',
55
+ static getUser(options) {
56
+ return (options.client ?? client).get({ url: '/users/{user_id}', ...options });
57
+ }
58
+ /**
59
+ * Update user profile information.
60
+ *
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.
62
+ *
63
+ */
64
+ static updateUser(options) {
65
+ return (options.client ?? client).put({
66
+ url: '/users/{user_id}',
84
67
  ...options,
85
68
  headers: {
86
69
  'Content-Type': 'application/json',
@@ -89,29 +72,27 @@ export class BillingService {
89
72
  });
90
73
  }
91
74
  }
92
- export class ClustersService {
75
+ export class TokensService {
93
76
  /**
94
- * List charts.
95
- *
96
- * Returns a list of charts in the cluster.
77
+ * List access tokens in organization.
97
78
  *
98
- * 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.
99
80
  *
100
81
  */
101
- static listCharts(options) {
102
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}/charts', ...options });
82
+ static listTokens(options) {
83
+ return (options?.client ?? client).get({ url: '/tokens', ...options });
103
84
  }
104
85
  /**
105
- * Create a new chart.
86
+ * Create a new access token.
106
87
  *
107
- * Create a new chart deployment.
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.
108
89
  *
109
90
  * This endpoint is available to administrators of the organization only.
110
91
  *
111
92
  */
112
- static createChart(options) {
93
+ static createToken(options) {
113
94
  return (options.client ?? client).post({
114
- url: '/clusters/{cluster_id}/charts',
95
+ url: '/tokens',
115
96
  ...options,
116
97
  headers: {
117
98
  'Content-Type': 'application/json',
@@ -120,38 +101,34 @@ export class ClustersService {
120
101
  });
121
102
  }
122
103
  /**
123
- * Permanently delete the chart deployment from the cluster.
124
- *
125
- * This endpoint will permanently delete chart. This operation cannot be undone.
104
+ * Permanently delete access token.
126
105
  *
127
- * This endpoint is available to administrators of the organization only.
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.
128
107
  *
129
108
  */
130
- static deleteChart(options) {
131
- return (options.client ?? client).delete({ url: '/clusters/{cluster_id}/charts/{chart_name}', ...options });
109
+ static deleteToken(options) {
110
+ return (options.client ?? client).delete({ url: '/tokens/{token_id}', ...options });
132
111
  }
133
112
  /**
134
- * Get chart information.
135
- *
136
- * Returns the details of the chart deployment.
113
+ * Get access token information.
137
114
  *
138
- * This endpoint is available to all users in the organization.
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.
139
116
  *
140
117
  */
141
- static getChart(options) {
142
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}/charts/{chart_name}', ...options });
118
+ static getToken(options) {
119
+ return (options.client ?? client).get({ url: '/tokens/{token_id}', ...options });
143
120
  }
144
121
  /**
145
- * Update chart information.
122
+ * Update access token information.
146
123
  *
147
- * This endpoint allows you to update the values of a 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.
148
125
  *
149
126
  * This endpoint is available to administrators of the organization only.
150
127
  *
151
128
  */
152
- static updateChart(options) {
129
+ static updateToken(options) {
153
130
  return (options.client ?? client).put({
154
- url: '/clusters/{cluster_id}/charts/{chart_name}',
131
+ url: '/tokens/{token_id}',
155
132
  ...options,
156
133
  headers: {
157
134
  'Content-Type': 'application/json',
@@ -160,108 +137,108 @@ export class ClustersService {
160
137
  });
161
138
  }
162
139
  /**
163
- * List fleets.
140
+ * Regenerate access token secret key.
164
141
  *
165
- * Returns a list of fleets belonging to the cluster. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
142
+ * Generates a new access token secret. Old secret will not be valid anymore.
143
+ */
144
+ static regenerateToken(options) {
145
+ return (options.client ?? client).put({ url: '/tokens/{token_id}/secret', ...options });
146
+ }
147
+ }
148
+ export class TicketsService {
149
+ /**
150
+ * List tickets for the current organization.
166
151
  *
167
- * This endpoint is available to all users in the organization.
152
+ * Returns all tickets belonging to the caller's organization, newest first.
168
153
  *
169
154
  */
170
- static listFleets(options) {
171
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}/fleets', ...options });
155
+ static listTickets(options) {
156
+ return (options?.client ?? client).get({ url: '/tickets', ...options });
172
157
  }
173
158
  /**
174
- * Create a new fleet.
175
- *
176
- * 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.
159
+ * Create a new support ticket.
177
160
  *
178
- * 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` and `grant_support_access`, plus up to 3 `attachments` files (10 MB max each).
179
162
  *
180
163
  */
181
- static createFleet(options) {
164
+ static createTicket(options) {
182
165
  return (options.client ?? client).post({
183
- url: '/clusters/{cluster_id}/fleets',
166
+ ...formDataBodySerializer,
167
+ url: '/tickets',
184
168
  ...options,
185
169
  headers: {
186
- 'Content-Type': 'application/json',
170
+ 'Content-Type': null,
187
171
  ...options.headers
188
172
  }
189
173
  });
190
174
  }
191
175
  /**
192
- * Permanently delete fleet.
193
- *
194
- * 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. If you want to keep using the Fleet until the end of the billing period, set the status to `cancelling`. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
176
+ * Close a ticket (soft close).
195
177
  *
196
- * This endpoint is available to administrators of the organization only.
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.
197
179
  *
198
180
  */
199
- static deleteFleet(options) {
200
- return (options.client ?? client).delete({ url: '/clusters/{cluster_id}/fleets/{fleet_name}', ...options });
181
+ static closeTicket(options) {
182
+ return (options.client ?? client).delete({ url: '/tickets/{ticket_id}', ...options });
201
183
  }
202
184
  /**
203
- * Get fleet information.
204
- *
205
- * Returns fleet details. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
206
- *
207
- * This endpoint is available to all users in the organization.
208
- *
185
+ * Get a ticket and its messages.
209
186
  */
210
- static getFleet(options) {
211
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}/fleets/{fleet_name}', ...options });
187
+ static getTicket(options) {
188
+ return (options.client ?? client).get({ url: '/tickets/{ticket_id}', ...options });
212
189
  }
213
190
  /**
214
- * Update fleet information.
191
+ * Grant Cloudfleet support access for a ticket.
215
192
  *
216
- * This endpoint allows you to update fleet details.
217
- *
218
- * Setting status to `deleted` 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. If you want to keep using the Fleet until the end of the billing period, set the status to `cancelling`.
193
+ * Grants Cloudfleet support staff access to the organization's resources while the ticket is open. Access cannot be revoked; it ends when the ticket is closed. Idempotent: granting again keeps the original grant. Returns 409 if the ticket is closed.
219
194
  *
220
- * For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
195
+ */
196
+ static grantTicketSupportAccess(options) {
197
+ return (options.client ?? client).put({ url: '/tickets/{ticket_id}/support-access', ...options });
198
+ }
199
+ /**
200
+ * Append a customer reply to a ticket.
221
201
  *
222
- * This endpoint is available to administrators of the organization only.
202
+ * Multipart form-data with a JSON-encoded `payload` field carrying `body`, plus up to 3 `attachments` files. Returns 409 if the ticket is closed.
223
203
  *
224
204
  */
225
- static updateFleet(options) {
226
- return (options.client ?? client).put({
227
- url: '/clusters/{cluster_id}/fleets/{fleet_name}',
205
+ static replyTicket(options) {
206
+ return (options.client ?? client).post({
207
+ ...formDataBodySerializer,
208
+ url: '/tickets/{ticket_id}/messages',
228
209
  ...options,
229
210
  headers: {
230
- 'Content-Type': 'application/json',
211
+ 'Content-Type': null,
231
212
  ...options.headers
232
213
  }
233
214
  });
234
215
  }
235
216
  /**
236
- * Query Kubernetes cluster API
237
- *
238
- * 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.
217
+ * Download a ticket attachment.
239
218
  */
240
- static queryCluster(options) {
241
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}/query', ...options });
219
+ static getTicketAttachment(options) {
220
+ return (options.client ?? client).get({ url: '/tickets/{ticket_id}/attachments/{attachment_id}', ...options });
242
221
  }
222
+ }
223
+ export class RoadmapService {
243
224
  /**
244
- * List clusters.
225
+ * List roadmap items.
245
226
  *
246
- * Returns a list of clusters under the current organization, including quota. Quota is a set of filters defined by the admin of the organization that will be applied to all resources created in the cluster. Quota information returned here does not take into account quota set on organization or platform level. For calculated quota applied to this account, use /clusters/{cluster_id}/quota endpoint. For more information about quotas, see [Quotas and limits](https://cloudfleet.ai/docs/organization/quotas/) section of documentaiton.
247
- *
248
- * This endpoint is available to all users in the organization.
227
+ * Returns the published roadmap items, newest first, each with your own vote. Votes of other users are not returned.
249
228
  *
250
229
  */
251
- static listClusters(options) {
252
- return (options?.client ?? client).get({ url: '/clusters', ...options });
230
+ static listRoadmap(options) {
231
+ return (options?.client ?? client).get({ url: '/roadmap', ...options });
253
232
  }
254
233
  /**
255
- * Create a new cluster.
256
- *
257
- * 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.
234
+ * Suggest a new roadmap item.
258
235
  *
259
- * This endpoint is available to administrators of the organization only.
236
+ * Submits a suggestion in one or two sentences, with your up vote on it. Suggestions are reviewed by the Cloudfleet team before they appear on the roadmap.
260
237
  *
261
238
  */
262
- static createCluster(options) {
239
+ static suggestRoadmap(options) {
263
240
  return (options.client ?? client).post({
264
- url: '/clusters',
241
+ url: '/roadmap',
265
242
  ...options,
266
243
  headers: {
267
244
  'Content-Type': 'application/json',
@@ -270,38 +247,20 @@ export class ClustersService {
270
247
  });
271
248
  }
272
249
  /**
273
- * Permanently delete cluster.
274
- *
275
- * This endpoint will permanently delete the cluster. This operation cannot be undone.
276
- *
277
- * This endpoint is available to administrators of the organization only.
278
- *
279
- */
280
- static deleteCluster(options) {
281
- return (options.client ?? client).delete({ url: '/clusters/{cluster_id}', ...options });
282
- }
283
- /**
284
- * Get cluster information.
285
- *
286
- * Returns cluster details including quota. Quota is a set of filters defined by the admin of the organization that will be applied to all resources created in the cluster. Quota information returned here does not take into account quota set on organization or platform level. For calculated quota applied to this account, use /clusters/{cluster_id}/quota endpoint. For more information about quotas, see [Quotas and limits](https://cloudfleet.ai/docs/organization/quotas/) section of documentaiton.
287
- *
288
- * This endpoint is available to all users in the organization.
289
- *
250
+ * Remove your vote from a roadmap item.
290
251
  */
291
- static getCluster(options) {
292
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}', ...options });
252
+ static unvoteRoadmap(options) {
253
+ return (options.client ?? client).delete({ url: '/roadmap/{item_id}/vote', ...options });
293
254
  }
294
255
  /**
295
- * Update cluster information.
296
- *
297
- * This endpoint allows you to update cluster details, including quota and cluster status. For more information about clusters, see [Clusters](https://cloudfleet.ai/docs/cluster-management/cluster-types/) section of documentaiton.
256
+ * Vote on a roadmap item.
298
257
  *
299
- * This endpoint is available to administrators of the organization only.
258
+ * Sets your vote on a roadmap item: -1 (down), 1 (up), or 2 (double up). Replaces any previous vote you cast on the item.
300
259
  *
301
260
  */
302
- static updateCluster(options) {
261
+ static voteRoadmap(options) {
303
262
  return (options.client ?? client).put({
304
- url: '/clusters/{cluster_id}',
263
+ url: '/roadmap/{item_id}/vote',
305
264
  ...options,
306
265
  headers: {
307
266
  'Content-Type': 'application/json',
@@ -309,85 +268,72 @@ export class ClustersService {
309
268
  }
310
269
  });
311
270
  }
271
+ }
272
+ export class RegistryService {
312
273
  /**
313
- * Node join information for the cluster
274
+ * List repositories
314
275
  *
315
- * 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.
276
+ * Returns a list of repositories in the registry across all regions. This endpoint is available to all users in the organization.
316
277
  *
317
278
  */
318
- static getJoinInformation(options) {
319
- return (options.client ?? client).post({ url: '/clusters/{cluster_id}/join_information', ...options });
279
+ static listRepositories(options) {
280
+ return (options?.client ?? client).get({ url: '/registry', ...options });
320
281
  }
321
- }
322
- export class InvitesService {
323
282
  /**
324
- * List invites.
283
+ * List tags for a repository
325
284
  *
326
- * Returns a list of invites under the current organization. This endpoint is available to all users in the organization.
285
+ * 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.
327
286
  *
328
287
  */
329
- static listInvites(options) {
330
- return (options?.client ?? client).get({ url: '/invites', ...options });
288
+ static listTags(options) {
289
+ return (options.client ?? client).get({ url: '/registry/{region}/{repository}', ...options });
331
290
  }
332
291
  /**
333
- * Create a new invite.
292
+ * Delete tag
334
293
  *
335
- * Invite a new user to your Cloudfleet organization. The user will receive an email with a link to create a new account. This endpoint is available to administrators of the organization only.
294
+ * Permanently deletes a specific tag from a repository. This endpoint is available to administrators of the organization only.
336
295
  *
337
296
  */
338
- static createInvite(options) {
339
- return (options.client ?? client).post({
340
- url: '/invites',
341
- ...options,
342
- headers: {
343
- 'Content-Type': 'application/json',
344
- ...options.headers
345
- }
346
- });
297
+ static deleteTag(options) {
298
+ return (options.client ?? client).delete({ url: '/registry/{region}/{repository}/{tag}', ...options });
347
299
  }
348
300
  /**
349
- * Get invite information.
350
- *
351
- * Returns invite details.
352
- *
353
- */
354
- static getInvite(options) {
355
- return (options.client ?? client).get({ url: '/invites/{code}', ...options });
356
- }
357
- /**
358
- * Permanently delete invite.
301
+ * Get tag details
359
302
  *
360
- * Permanently deletes invite from the organization. This endpoint is available to administrators of the organization only.
303
+ * 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.
361
304
  *
362
305
  */
363
- static deleteInvite(options) {
364
- return (options.client ?? client).delete({ url: '/invites/{email}', ...options });
306
+ static getTag(options) {
307
+ return (options.client ?? client).get({ url: '/registry/{region}/{repository}/{tag}', ...options });
365
308
  }
366
309
  }
367
- export class ChartsMarketplaceService {
310
+ export class OrganizationService {
368
311
  /**
369
- * List chart listings available in the marketplace.
312
+ * Get organization information.
370
313
  *
371
- * Returns a list of available charts in the marketplace.
314
+ * Returns organization details including quota. For more information about quotas, see [Quotas and limits](https://cloudfleet.ai/docs/organization/quotas/) section of documentaiton.
372
315
  *
373
316
  * This endpoint is available to all users in the organization.
374
317
  *
375
318
  */
376
- static listMarketplaceCharts(options) {
377
- return (options?.client ?? client).get({ url: '/marketplace', ...options });
319
+ static getOrganization(options) {
320
+ return (options?.client ?? client).get({ url: '/organization', ...options });
378
321
  }
379
322
  /**
380
- * Get chart files for a specific version channel.
381
- *
382
- * Returns the Chart.yaml, values.yaml, and values.schema.json files for the latest version matching the specified version channel.
383
- *
384
- * 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.
323
+ * Create a new organization / Cloudfleet account signup.
385
324
  *
386
- * This endpoint is available to all users in the organization.
325
+ * This endpoint allows you to create a new Cloudfleet organization and an administrator user.
387
326
  *
388
327
  */
389
- static getMarketplaceChartFiles(options) {
390
- return (options.client ?? client).get({ url: '/marketplace/{chart_name}/files/{version_channel}', ...options });
328
+ static createOrganization(options) {
329
+ return (options.client ?? client).post({
330
+ url: '/organization',
331
+ ...options,
332
+ headers: {
333
+ 'Content-Type': 'application/json',
334
+ ...options.headers
335
+ }
336
+ });
391
337
  }
392
338
  }
393
339
  export class McpService {
@@ -407,27 +353,25 @@ export class McpService {
407
353
  });
408
354
  }
409
355
  }
410
- export class OrganizationService {
356
+ export class InvitesService {
411
357
  /**
412
- * Get organization information.
358
+ * List invites.
413
359
  *
414
- * Returns organization details including quota. For more information about quotas, see [Quotas and limits](https://cloudfleet.ai/docs/organization/quotas/) section of documentaiton.
415
- *
416
- * This endpoint is available to all users in the organization.
360
+ * Returns a list of pending (non-expired) invites under the current organization. This endpoint is available to administrators of the organization only.
417
361
  *
418
362
  */
419
- static getOrganization(options) {
420
- return (options?.client ?? client).get({ url: '/organization', ...options });
363
+ static listInvites(options) {
364
+ return (options?.client ?? client).get({ url: '/invites', ...options });
421
365
  }
422
366
  /**
423
- * Create a new organization / Cloudfleet account signup.
367
+ * Create a new invite.
424
368
  *
425
- * This endpoint allows you to create a new Cloudfleet organization and an administrator user.
369
+ * Invite a new user to your Cloudfleet organization. The user will receive an email with a link to create a new account. This endpoint is available to administrators of the organization only.
426
370
  *
427
371
  */
428
- static createOrganization(options) {
372
+ static createInvite(options) {
429
373
  return (options.client ?? client).post({
430
- url: '/organization',
374
+ url: '/invites',
431
375
  ...options,
432
376
  headers: {
433
377
  'Content-Type': 'application/json',
@@ -435,132 +379,151 @@ export class OrganizationService {
435
379
  }
436
380
  });
437
381
  }
438
- }
439
- export class RegistryService {
440
382
  /**
441
- * List repositories
383
+ * Get invite information.
442
384
  *
443
- * Returns a list of repositories in the registry across all regions. This endpoint is available to all users in the organization.
385
+ * Validates an invitation code and returns the email address it was issued to (to pre-fill the signup form) and the organization it grants access to. This endpoint is unauthenticated, so no other invite details (such as the invited role) are disclosed.
444
386
  *
445
387
  */
446
- static listRepositories(options) {
447
- return (options?.client ?? client).get({ url: '/registry', ...options });
388
+ static getInvite(options) {
389
+ return (options.client ?? client).get({ url: '/invites/{code}', ...options });
448
390
  }
449
391
  /**
450
- * List tags for a repository
392
+ * Permanently delete invite.
451
393
  *
452
- * 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.
394
+ * Permanently deletes invite from the organization. This endpoint is available to administrators of the organization only.
453
395
  *
454
396
  */
455
- static listTags(options) {
456
- return (options.client ?? client).get({ url: '/registry/{region}/{repository}', ...options });
397
+ static deleteInvite(options) {
398
+ return (options.client ?? client).delete({ url: '/invites/{email}', ...options });
457
399
  }
400
+ }
401
+ export class FeedbackService {
458
402
  /**
459
- * Delete tag
403
+ * Send feedback to the Cloudfleet team
460
404
  *
461
- * Permanently deletes a specific tag from a repository. This endpoint is available to administrators of the organization only.
405
+ * Sends feedback straight to the Cloudfleet team: papercuts the team can act on from the note alone, such as what was useful, confusing, wrong or missing. This is not a support channel: for a problem that needs back-and-forth or debugging, open a support ticket with `POST /tickets` instead.
462
406
  *
463
407
  */
464
- static deleteTag(options) {
465
- return (options.client ?? client).delete({ url: '/registry/{region}/{repository}/{tag}', ...options });
408
+ static sendFeedback(options) {
409
+ return (options.client ?? client).post({
410
+ url: '/feedback',
411
+ ...options,
412
+ headers: {
413
+ 'Content-Type': 'application/json',
414
+ ...options.headers
415
+ }
416
+ });
466
417
  }
418
+ }
419
+ export class ClustersService {
467
420
  /**
468
- * Get tag details
469
- *
470
- * 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.
421
+ * Query Kubernetes cluster API
471
422
  *
423
+ * 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.
472
424
  */
473
- static getTag(options) {
474
- return (options.client ?? client).get({ url: '/registry/{region}/{repository}/{tag}', ...options });
425
+ static queryCluster(options) {
426
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}/query', ...options });
475
427
  }
476
- }
477
- export class TicketsService {
478
428
  /**
479
- * List tickets for the current organization.
429
+ * List fleets.
480
430
  *
481
- * Returns all tickets belonging to the caller's organization, newest first.
431
+ * Returns a list of fleets belonging to the cluster. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
432
+ *
433
+ * This endpoint is available to all users in the organization.
482
434
  *
483
435
  */
484
- static listTickets(options) {
485
- return (options?.client ?? client).get({ url: '/tickets', ...options });
436
+ static listFleets(options) {
437
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}/fleets', ...options });
486
438
  }
487
439
  /**
488
- * Create a new support ticket.
440
+ * Create a new fleet.
441
+ *
442
+ * 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.
489
443
  *
490
- * 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).
444
+ * The cluster must be ready (status `deployed`) before a fleet can be added. Adding a fleet while the cluster is still provisioning returns `409`.
445
+ *
446
+ * This endpoint is available to administrators of the organization only.
491
447
  *
492
448
  */
493
- static createTicket(options) {
449
+ static createFleet(options) {
494
450
  return (options.client ?? client).post({
495
- ...formDataBodySerializer,
496
- url: '/tickets',
451
+ url: '/clusters/{cluster_id}/fleets',
497
452
  ...options,
498
453
  headers: {
499
- 'Content-Type': null,
454
+ 'Content-Type': 'application/json',
500
455
  ...options.headers
501
456
  }
502
457
  });
503
458
  }
504
459
  /**
505
- * Close a ticket (soft close).
460
+ * Permanently delete fleet.
506
461
  *
507
- * Marks the ticket as closed. Closed is a terminal state — users cannot reply to a closed ticket; a new ticket must be opened instead.
462
+ * 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.
463
+ *
464
+ * 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.
465
+ *
466
+ * This endpoint is available to administrators of the organization only.
508
467
  *
509
468
  */
510
- static closeTicket(options) {
511
- return (options.client ?? client).delete({ url: '/tickets/{ticket_id}', ...options });
469
+ static deleteFleet(options) {
470
+ return (options.client ?? client).delete({ url: '/clusters/{cluster_id}/fleets/{fleet_name}', ...options });
512
471
  }
513
472
  /**
514
- * Get a ticket and its messages.
473
+ * Get fleet information.
474
+ *
475
+ * Returns fleet details. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
476
+ *
477
+ * This endpoint is available to all users in the organization.
478
+ *
515
479
  */
516
- static getTicket(options) {
517
- return (options.client ?? client).get({ url: '/tickets/{ticket_id}', ...options });
480
+ static getFleet(options) {
481
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}/fleets/{fleet_name}', ...options });
518
482
  }
519
483
  /**
520
- * Append a customer reply to a ticket.
484
+ * Update fleet information.
521
485
  *
522
- * Multipart form-data with a JSON-encoded `payload` field carrying `body`, plus up to 3 `attachments` files. Returns 409 if the ticket is closed.
486
+ * This endpoint allows you to update fleet details.
487
+ *
488
+ * For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
489
+ *
490
+ * 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).
491
+ *
492
+ * This endpoint is available to administrators of the organization only.
523
493
  *
524
494
  */
525
- static replyTicket(options) {
526
- return (options.client ?? client).post({
527
- ...formDataBodySerializer,
528
- url: '/tickets/{ticket_id}/messages',
495
+ static updateFleet(options) {
496
+ return (options.client ?? client).put({
497
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}',
529
498
  ...options,
530
499
  headers: {
531
- 'Content-Type': null,
500
+ 'Content-Type': 'application/json',
532
501
  ...options.headers
533
502
  }
534
503
  });
535
504
  }
536
505
  /**
537
- * Download a ticket attachment.
538
- */
539
- static getTicketAttachment(options) {
540
- return (options.client ?? client).get({ url: '/tickets/{ticket_id}/attachments/{attachment_id}', ...options });
541
- }
542
- }
543
- export class TokensService {
544
- /**
545
- * List access tokens in organization.
506
+ * List clusters.
546
507
  *
547
- * 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.
508
+ * Returns a list of clusters under the current organization.
509
+ *
510
+ * This endpoint is available to all users in the organization.
548
511
  *
549
512
  */
550
- static listTokens(options) {
551
- return (options?.client ?? client).get({ url: '/tokens', ...options });
513
+ static listClusters(options) {
514
+ return (options?.client ?? client).get({ url: '/clusters', ...options });
552
515
  }
553
516
  /**
554
- * Create a new access token.
517
+ * Create a new cluster.
555
518
  *
556
- * 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.
519
+ * 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.
557
520
  *
558
521
  * This endpoint is available to administrators of the organization only.
559
522
  *
560
523
  */
561
- static createToken(options) {
524
+ static createCluster(options) {
562
525
  return (options.client ?? client).post({
563
- url: '/tokens',
526
+ url: '/clusters',
564
527
  ...options,
565
528
  headers: {
566
529
  'Content-Type': 'application/json',
@@ -569,34 +532,42 @@ export class TokensService {
569
532
  });
570
533
  }
571
534
  /**
572
- * Permanently delete access token.
535
+ * Permanently delete cluster.
573
536
  *
574
- * 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.
537
+ * This endpoint will permanently delete the cluster. This operation cannot be undone.
538
+ *
539
+ * 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.
540
+ *
541
+ * This endpoint is available to administrators of the organization only.
575
542
  *
576
543
  */
577
- static deleteToken(options) {
578
- return (options.client ?? client).delete({ url: '/tokens/{token_id}', ...options });
544
+ static deleteCluster(options) {
545
+ return (options.client ?? client).delete({ url: '/clusters/{cluster_id}', ...options });
579
546
  }
580
547
  /**
581
- * Get access token information.
548
+ * Get cluster information.
582
549
  *
583
- * 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.
550
+ * Returns cluster details.
551
+ *
552
+ * This endpoint is available to all users in the organization.
584
553
  *
585
554
  */
586
- static getToken(options) {
587
- return (options.client ?? client).get({ url: '/tokens/{token_id}', ...options });
555
+ static getCluster(options) {
556
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}', ...options });
588
557
  }
589
558
  /**
590
- * Update access token information.
559
+ * Update cluster information.
591
560
  *
592
- * 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.
561
+ * 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.
562
+ *
563
+ * This is a full overwrite: any field omitted from the request is reset to its default rather than left unchanged.
593
564
  *
594
565
  * This endpoint is available to administrators of the organization only.
595
566
  *
596
567
  */
597
- static updateToken(options) {
568
+ static updateCluster(options) {
598
569
  return (options.client ?? client).put({
599
- url: '/tokens/{token_id}',
570
+ url: '/clusters/{cluster_id}',
600
571
  ...options,
601
572
  headers: {
602
573
  'Content-Type': 'application/json',
@@ -605,77 +576,122 @@ export class TokensService {
605
576
  });
606
577
  }
607
578
  /**
608
- * Regenerate access token secret key.
579
+ * Node join information for the cluster
580
+ *
581
+ * 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.
609
582
  *
610
- * Generates a new access token secret. Old secret will not be valid anymore.
611
583
  */
612
- static regenerateToken(options) {
613
- return (options.client ?? client).put({ url: '/tokens/{token_id}/secret', ...options });
584
+ static getJoinInformation(options) {
585
+ return (options.client ?? client).post({ url: '/clusters/{cluster_id}/join_information', ...options });
614
586
  }
615
587
  }
616
- export class UsersService {
588
+ export class BillingService {
617
589
  /**
618
- * Get a list of organizations the user belongs to. Used during authentication process.
590
+ * Get billing usage information.
591
+ *
592
+ * 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.
593
+ *
619
594
  */
620
- static listUserOrganizations(options) {
621
- return (options.client ?? client).get({ url: '/users/organizations/{email}', ...options });
595
+ static getUsage(options) {
596
+ return (options?.client ?? client).get({ url: '/billing/usage', ...options });
622
597
  }
623
598
  /**
624
- * List users in organization.
599
+ * Get Stripe client secret.
625
600
  *
626
- * 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.
601
+ * 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.
627
602
  *
628
- * This endpoint is available to all users in the organization.
603
+ */
604
+ static getPaymentMethodSecret(options) {
605
+ return (options?.client ?? client).put({ url: '/billing/payment-method', ...options });
606
+ }
607
+ /**
608
+ * List organization payment methods.
609
+ *
610
+ * 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.
629
611
  *
630
612
  */
631
- static listUsers(options) {
632
- return (options?.client ?? client).get({ url: '/users', ...options });
613
+ static listPaymentMethods(options) {
614
+ return (options?.client ?? client).get({ url: '/billing/payment-methods', ...options });
633
615
  }
634
616
  /**
635
- * Create a new user.
617
+ * Set the default payment method.
636
618
  *
637
- * 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.
619
+ * Sets the given payment method as the default used for invoices and active subscriptions. Requires the Administrator role.
638
620
  *
639
621
  */
640
- static createUser(options) {
641
- return (options.client ?? client).post({
642
- url: '/users',
643
- ...options,
644
- headers: {
645
- 'Content-Type': 'application/json',
646
- ...options.headers
647
- }
648
- });
622
+ static setDefaultPaymentMethod(options) {
623
+ return (options.client ?? client).put({ url: '/billing/payment-methods/{paymentMethodId}/default', ...options });
649
624
  }
650
625
  /**
651
- * Delete user by id.
626
+ * Delete a payment method.
652
627
  *
653
- * Sets user status to `inactive`. Inactive users cannot log in and manage organization resources. This endpoint is available to administrators of the organization only.
628
+ * 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.
654
629
  *
655
630
  */
656
- static deleteUser(options) {
657
- return (options.client ?? client).delete({ url: '/users/{user_id}', ...options });
631
+ static deletePaymentMethod(options) {
632
+ return (options.client ?? client).delete({ url: '/billing/payment-methods/{paymentMethodId}', ...options });
658
633
  }
659
634
  /**
660
- * Get user profile information by id.
635
+ * List issued invoices.
661
636
  *
662
- * Returns user details including their roles. For more information on identity access management, see [Users](https://cloudfleet.ai/docs/organization/users/) section of documentaiton.
637
+ * 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.
663
638
  *
664
- * This endpoint is available to all users in the organization.
639
+ */
640
+ static listInvoices(options) {
641
+ return (options?.client ?? client).get({ url: '/billing/invoices', ...options });
642
+ }
643
+ /**
644
+ * Pay the organization's open invoices.
645
+ *
646
+ * Charges all open invoices of the organization against its default payment method. This endpoint is available to administrators of the organization only.
665
647
  *
666
648
  */
667
- static getUser(options) {
668
- return (options.client ?? client).get({ url: '/users/{user_id}', ...options });
649
+ static payOpenInvoices(options) {
650
+ return (options?.client ?? client).post({ url: '/billing/invoices/pay', ...options });
669
651
  }
670
652
  /**
671
- * Update user profile information.
653
+ * Get organization contact and billing address information.
672
654
  *
673
- * 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.
655
+ * Returns the organization contact and billing address information. This endpoint is available to all users in the organization.
674
656
  *
675
657
  */
676
- static updateUser(options) {
658
+ static getContact(options) {
659
+ return (options?.client ?? client).get({ url: '/billing/contact', ...options });
660
+ }
661
+ /**
662
+ * Update organization contact information and billing address.
663
+ *
664
+ * This endpoint allows you to update organization details with its contact information. This endpoint is available to administrators of the organization only.
665
+ *
666
+ */
667
+ static updateContact(options) {
677
668
  return (options.client ?? client).put({
678
- url: '/users/{user_id}',
669
+ url: '/billing/contact',
670
+ ...options,
671
+ headers: {
672
+ 'Content-Type': 'application/json',
673
+ ...options.headers
674
+ }
675
+ });
676
+ }
677
+ /**
678
+ * Get applied promotional credits
679
+ *
680
+ * 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
+ *
682
+ */
683
+ static getCredits(options) {
684
+ return (options?.client ?? client).get({ url: '/billing/credits', ...options });
685
+ }
686
+ /**
687
+ * Redeem promotional credits code.
688
+ *
689
+ * 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
+ *
691
+ */
692
+ static redeemCredits(options) {
693
+ return (options.client ?? client).post({
694
+ url: '/billing/credits',
679
695
  ...options,
680
696
  headers: {
681
697
  'Content-Type': 'application/json',