python3-core-api-client 7.0__py3-none-any.whl → 8.1__py3-none-any.whl

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.
@@ -39,6 +39,7 @@ from . import (
39
39
  hosts_entries,
40
40
  database_users,
41
41
  security_txt_policies,
42
+ carbon_txts,
42
43
  customers,
43
44
  basic_authentication_realms,
44
45
  root_ssh_keys,
@@ -46,9 +47,12 @@ from . import (
46
47
  mail_accounts,
47
48
  fpm_pools,
48
49
  mail_domains,
50
+ standards_scans,
51
+ available_versions,
49
52
  )
50
53
 
51
54
  __all__ = [
55
+ "available_versions",
52
56
  "basic_authentication_realms",
53
57
  "borg_archives",
54
58
  "borg_repositories",
@@ -88,8 +92,10 @@ __all__ = [
88
92
  "n8n_instances",
89
93
  "root_ssh_keys",
90
94
  "security_txt_policies",
95
+ "carbon_txts",
91
96
  "regions",
92
97
  "ssh_keys",
98
+ "standards_scans",
93
99
  "task_collections",
94
100
  "unix_users",
95
101
  "url_redirects",
@@ -0,0 +1,51 @@
1
+ from cyberfusion.CoreApiClient import models
2
+
3
+ from cyberfusion.CoreApiClient._helpers import construct_includes_query_parameter
4
+ from cyberfusion.CoreApiClient.http import DtoResponse
5
+ from cyberfusion.CoreApiClient.interfaces import Resource
6
+
7
+
8
+ class AvailableVersions(Resource):
9
+ def list_available_nodejs_versions(
10
+ self,
11
+ *,
12
+ includes: list[str] | None = None,
13
+ ) -> DtoResponse[list[models.NodejsVersionResource]]:
14
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
15
+ "GET",
16
+ "/api/v1/available-versions/nodejs",
17
+ data=None,
18
+ query_parameters=construct_includes_query_parameter(includes),
19
+ )
20
+
21
+ return DtoResponse.from_responses(local_responses, models.NodejsVersionResource)
22
+
23
+ def list_available_php_versions(
24
+ self,
25
+ *,
26
+ includes: list[str] | None = None,
27
+ ) -> DtoResponse[list[models.PhpVersionResource]]:
28
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
29
+ "GET",
30
+ "/api/v1/available-versions/php",
31
+ data=None,
32
+ query_parameters=construct_includes_query_parameter(includes),
33
+ )
34
+
35
+ return DtoResponse.from_responses(local_responses, models.PhpVersionResource)
36
+
37
+ def list_available_wordpress_versions(
38
+ self,
39
+ *,
40
+ includes: list[str] | None = None,
41
+ ) -> DtoResponse[list[models.WordpressVersionResource]]:
42
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
43
+ "GET",
44
+ "/api/v1/available-versions/wordpress",
45
+ data=None,
46
+ query_parameters=construct_includes_query_parameter(includes),
47
+ )
48
+
49
+ return DtoResponse.from_responses(
50
+ local_responses, models.WordpressVersionResource
51
+ )
@@ -0,0 +1,83 @@
1
+ from cyberfusion.CoreApiClient import models
2
+ from cyberfusion.CoreApiClient.interfaces import Resource
3
+ from cyberfusion.CoreApiClient._helpers import construct_includes_query_parameter
4
+ from cyberfusion.CoreApiClient.http import DtoResponse
5
+
6
+
7
+ class CarbonTxts(Resource):
8
+ def create_carbon_txt_policy(
9
+ self,
10
+ request: models.CarbonTxtCreateRequest,
11
+ ) -> DtoResponse[models.CarbonTxtResource]:
12
+ local_response = self.api_connector.send_or_fail(
13
+ "POST",
14
+ "/api/v1/carbon-txts",
15
+ data=request.model_dump(exclude_unset=True),
16
+ query_parameters={},
17
+ )
18
+
19
+ return DtoResponse.from_responses(local_response, models.CarbonTxtResource)
20
+
21
+ def list_carbon_txt_policies(
22
+ self,
23
+ *,
24
+ include_filters: models.CarbonTxtsSearchRequest | None = None,
25
+ includes: list[str] | None = None,
26
+ ) -> DtoResponse[list[models.CarbonTxtResource]]:
27
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
28
+ "GET",
29
+ "/api/v1/carbon-txts",
30
+ data=None,
31
+ query_parameters=(
32
+ include_filters.model_dump(exclude_unset=True)
33
+ if include_filters
34
+ else {}
35
+ )
36
+ | construct_includes_query_parameter(includes),
37
+ )
38
+
39
+ return DtoResponse.from_responses(local_responses, models.CarbonTxtResource)
40
+
41
+ def read_carbon_txt_policy(
42
+ self,
43
+ *,
44
+ id_: int,
45
+ includes: list[str] | None = None,
46
+ ) -> DtoResponse[models.CarbonTxtResource]:
47
+ local_response = self.api_connector.send_or_fail(
48
+ "GET",
49
+ f"/api/v1/carbon-txts/{id_}",
50
+ data=None,
51
+ query_parameters=construct_includes_query_parameter(includes),
52
+ )
53
+
54
+ return DtoResponse.from_responses(local_response, models.CarbonTxtResource)
55
+
56
+ def update_carbon_txt_policy(
57
+ self,
58
+ request: models.CarbonTxtUpdateRequest,
59
+ *,
60
+ id_: int,
61
+ ) -> DtoResponse[models.CarbonTxtResource]:
62
+ local_response = self.api_connector.send_or_fail(
63
+ "PATCH",
64
+ f"/api/v1/carbon-txts/{id_}",
65
+ data=request.model_dump(exclude_unset=True),
66
+ query_parameters={},
67
+ )
68
+
69
+ return DtoResponse.from_responses(local_response, models.CarbonTxtResource)
70
+
71
+ def delete_carbon_txt_policy(
72
+ self,
73
+ *,
74
+ id_: int,
75
+ ) -> DtoResponse[models.DetailMessage]:
76
+ local_response = self.api_connector.send_or_fail(
77
+ "DELETE",
78
+ f"/api/v1/carbon-txts/{id_}",
79
+ data=None,
80
+ query_parameters={},
81
+ )
82
+
83
+ return DtoResponse.from_responses(local_response, models.DetailMessage)
@@ -1,4 +1,5 @@
1
1
  from cyberfusion.CoreApiClient import models
2
+ from datetime import datetime
2
3
  from typing import Optional
3
4
 
4
5
  from cyberfusion.CoreApiClient._helpers import construct_includes_query_parameter
@@ -138,45 +139,9 @@ class Clusters(Resource):
138
139
 
139
140
  return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
140
141
 
141
- def enable_l3_ddos_protection_for_ip_address(
142
- self,
143
- *,
144
- id_: int,
145
- ip_address: str,
146
- callback_url: Optional[str] = None,
147
- ) -> DtoResponse[models.TaskCollectionResource]:
148
- local_response = self.api_connector.send_or_fail(
149
- "POST",
150
- f"/api/v1/clusters/{id_}/ip-addresses/{ip_address}/l3-ddos-protection",
151
- data=None,
152
- query_parameters={
153
- "callback_url": callback_url,
154
- },
155
- )
156
-
157
- return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
158
-
159
- def disable_l3_ddos_protection_for_ip_address(
160
- self,
161
- *,
162
- id_: int,
163
- ip_address: str,
164
- callback_url: Optional[str] = None,
165
- ) -> DtoResponse[models.TaskCollectionResource]:
166
- local_response = self.api_connector.send_or_fail(
167
- "DELETE",
168
- f"/api/v1/clusters/{id_}/ip-addresses/{ip_address}/l3-ddos-protection",
169
- data=None,
170
- query_parameters={
171
- "callback_url": callback_url,
172
- },
173
- )
174
-
175
- return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
176
-
177
142
  def get_ip_addresses_products_for_clusters(
178
143
  self,
179
- ) -> DtoResponse[list[models.IpAddressProduct]]:
144
+ ) -> DtoResponse[list[models.ProductResource]]:
180
145
  local_response = self.api_connector.send_or_fail(
181
146
  "GET",
182
147
  "/api/v1/clusters/ip-addresses/products",
@@ -184,7 +149,7 @@ class Clusters(Resource):
184
149
  query_parameters={},
185
150
  )
186
151
 
187
- return DtoResponse.from_responses(local_response, models.IpAddressProduct)
152
+ return DtoResponse.from_responses(local_response, models.ProductResource)
188
153
 
189
154
  def list_unix_users_home_directory_usages(
190
155
  self,
@@ -517,6 +482,20 @@ class Clusters(Resource):
517
482
  local_response, models.ClusterUnixUsersPropertiesResource
518
483
  )
519
484
 
485
+ def read_webhook_properties(
486
+ self, *, id_: int, includes: list[str] | None = None
487
+ ) -> DtoResponse[models.ClusterWebhookPropertiesResource]:
488
+ local_response = self.api_connector.send_or_fail(
489
+ "GET",
490
+ f"/api/v1/clusters/{id_}/properties/webhook",
491
+ data=None,
492
+ query_parameters=construct_includes_query_parameter(includes),
493
+ )
494
+
495
+ return DtoResponse.from_responses(
496
+ local_response, models.ClusterWebhookPropertiesResource
497
+ )
498
+
520
499
  def create_borg_properties(
521
500
  self,
522
501
  request: models.ClusterBorgPropertiesCreateRequest,
@@ -1189,6 +1168,28 @@ class Clusters(Resource):
1189
1168
  local_responses, models.ClusterUnixUsersPropertiesResource
1190
1169
  )
1191
1170
 
1171
+ def list_webhook_properties(
1172
+ self,
1173
+ *,
1174
+ include_filters: models.ClustersWebhookPropertiesSearchRequest | None = None,
1175
+ includes: list[str] | None = None,
1176
+ ) -> DtoResponse[list[models.ClusterWebhookPropertiesResource]]:
1177
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
1178
+ "GET",
1179
+ "/api/v1/clusters/properties/webhook",
1180
+ data=None,
1181
+ query_parameters=(
1182
+ include_filters.model_dump(exclude_unset=True)
1183
+ if include_filters
1184
+ else {}
1185
+ )
1186
+ | construct_includes_query_parameter(includes),
1187
+ )
1188
+
1189
+ return DtoResponse.from_responses(
1190
+ local_responses, models.ClusterWebhookPropertiesResource
1191
+ )
1192
+
1192
1193
  def update_borg_properties(
1193
1194
  self,
1194
1195
  request: models.ClusterBorgPropertiesUpdateRequest,
@@ -1478,6 +1479,75 @@ class Clusters(Resource):
1478
1479
  local_response, models.ClusterRabbitmqPropertiesResource
1479
1480
  )
1480
1481
 
1482
+ def update_webhook_properties(
1483
+ self,
1484
+ request: models.ClusterWebhookPropertiesUpdateRequest,
1485
+ *,
1486
+ id_: int,
1487
+ ) -> DtoResponse[models.ClusterWebhookPropertiesResource]:
1488
+ local_response = self.api_connector.send_or_fail(
1489
+ "PATCH",
1490
+ f"/api/v1/clusters/{id_}/properties/webhook",
1491
+ data=request.model_dump(exclude_unset=True),
1492
+ query_parameters={},
1493
+ )
1494
+
1495
+ return DtoResponse.from_responses(
1496
+ local_response, models.ClusterWebhookPropertiesResource
1497
+ )
1498
+
1499
+ def read_current_deployment_task_collection(
1500
+ self, *, id_: int, includes: list[str] | None = None
1501
+ ) -> DtoResponse[models.TaskCollectionResource]:
1502
+ local_response = self.api_connector.send_or_fail(
1503
+ "GET",
1504
+ f"/api/v1/clusters/{id_}/deployments/current/task-collection",
1505
+ data=None,
1506
+ query_parameters=construct_includes_query_parameter(includes),
1507
+ )
1508
+
1509
+ return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
1510
+
1511
+ def read_daemons_metrics_experimental(
1512
+ self,
1513
+ *,
1514
+ id_: int,
1515
+ start_timestamp: datetime,
1516
+ end_timestamp: datetime,
1517
+ ) -> DtoResponse[models.DaemonsMetricsResource]:
1518
+ local_response = self.api_connector.send_or_fail(
1519
+ "GET",
1520
+ f"/api/v1/clusters/{id_}/metrics/daemons",
1521
+ data=None,
1522
+ query_parameters={
1523
+ "start_timestamp": start_timestamp,
1524
+ "end_timestamp": end_timestamp,
1525
+ },
1526
+ )
1527
+
1528
+ return DtoResponse.from_responses(local_response, models.DaemonsMetricsResource)
1529
+
1530
+ def read_database_users_metrics_experimental(
1531
+ self,
1532
+ *,
1533
+ id_: int,
1534
+ start_timestamp: datetime,
1535
+ end_timestamp: datetime,
1536
+ ) -> DtoResponse[models.DatabaseUsersMetricsResource]:
1537
+ local_response = self.api_connector.send_or_fail(
1538
+ "GET",
1539
+ f"/api/v1/clusters/{id_}/metrics/database-users",
1540
+ data=None,
1541
+ query_parameters={
1542
+ "start_timestamp": start_timestamp,
1543
+ "end_timestamp": end_timestamp,
1544
+ },
1545
+ )
1546
+
1547
+ return DtoResponse.from_responses(
1548
+ local_response, models.DatabaseUsersMetricsResource
1549
+ )
1550
+
1481
1551
  def generate_innodb_report(
1482
1552
  self,
1483
1553
  *,
@@ -294,3 +294,95 @@ class Cmses(Resource):
294
294
  )
295
295
 
296
296
  return DtoResponse.from_responses(local_response, models.DetailMessage)
297
+
298
+ def configure_redis(
299
+ self,
300
+ request: models.CmsConfigureRedisRequest,
301
+ *,
302
+ id_: int,
303
+ callback_url: Optional[str] = None,
304
+ ) -> DtoResponse[models.TaskCollectionResource]:
305
+ local_response = self.api_connector.send_or_fail(
306
+ "POST",
307
+ f"/api/v1/cmses/{id_}/configure/redis",
308
+ data=request.model_dump(exclude_unset=True),
309
+ query_parameters={
310
+ "callback_url": callback_url,
311
+ },
312
+ )
313
+
314
+ return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
315
+
316
+ def auto_install_wordpress(
317
+ self,
318
+ request: models.CmsAutoInstallWordpressRequest,
319
+ *,
320
+ id_: int,
321
+ callback_url: Optional[str] = None,
322
+ ) -> DtoResponse[models.TaskCollectionResource]:
323
+ local_response = self.api_connector.send_or_fail(
324
+ "POST",
325
+ f"/api/v1/cmses/{id_}/install/wordpress/auto",
326
+ data=request.model_dump(exclude_unset=True),
327
+ query_parameters={
328
+ "callback_url": callback_url,
329
+ },
330
+ )
331
+
332
+ return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
333
+
334
+ def get_recommended_cms_database_indexes(
335
+ self,
336
+ *,
337
+ id_: int,
338
+ ) -> DtoResponse[list[models.CmsDatabaseIndex]]:
339
+ local_response = self.api_connector.send_or_fail(
340
+ "GET",
341
+ f"/api/v1/cmses/{id_}/database-indexes",
342
+ data=None,
343
+ query_parameters={},
344
+ )
345
+
346
+ return DtoResponse.from_responses(local_response, models.CmsDatabaseIndex)
347
+
348
+ def create_recommended_cms_database_indexes(
349
+ self,
350
+ *,
351
+ id_: int,
352
+ ) -> DtoResponse[list[models.CmsDatabaseIndex]]:
353
+ local_response = self.api_connector.send_or_fail(
354
+ "POST",
355
+ f"/api/v1/cmses/{id_}/database-indexes",
356
+ data=None,
357
+ query_parameters={},
358
+ )
359
+
360
+ return DtoResponse.from_responses(local_response, models.CmsDatabaseIndex)
361
+
362
+ def get_cms_woocommerce_hpos(
363
+ self,
364
+ *,
365
+ id_: int,
366
+ ) -> DtoResponse[models.CmsWoocommerceHpos]:
367
+ local_response = self.api_connector.send_or_fail(
368
+ "GET",
369
+ f"/api/v1/cmses/{id_}/hpos",
370
+ data=None,
371
+ query_parameters={},
372
+ )
373
+
374
+ return DtoResponse.from_responses(local_response, models.CmsWoocommerceHpos)
375
+
376
+ def generate_cms_one_time_login(
377
+ self,
378
+ *,
379
+ id_: int,
380
+ ) -> DtoResponse[models.CmsOneTimeLogin]:
381
+ local_response = self.api_connector.send_or_fail(
382
+ "POST",
383
+ f"/api/v1/cmses/{id_}/one-time-login",
384
+ data=None,
385
+ query_parameters={},
386
+ )
387
+
388
+ return DtoResponse.from_responses(local_response, models.CmsOneTimeLogin)
@@ -94,7 +94,7 @@ class Customers(Resource):
94
94
 
95
95
  def get_ip_addresses_products_for_customers(
96
96
  self,
97
- ) -> DtoResponse[list[models.IpAddressProduct]]:
97
+ ) -> DtoResponse[list[models.ProductResource]]:
98
98
  local_response = self.api_connector.send_or_fail(
99
99
  "GET",
100
100
  "/api/v1/customers/ip-addresses/products",
@@ -102,4 +102,4 @@ class Customers(Resource):
102
102
  query_parameters={},
103
103
  )
104
104
 
105
- return DtoResponse.from_responses(local_response, models.IpAddressProduct)
105
+ return DtoResponse.from_responses(local_response, models.ProductResource)
@@ -1,4 +1,5 @@
1
1
  from cyberfusion.CoreApiClient import models
2
+ from datetime import datetime
2
3
  from typing import Optional
3
4
 
4
5
  from cyberfusion.CoreApiClient._helpers import construct_includes_query_parameter
@@ -98,6 +99,25 @@ class Daemons(Resource):
98
99
 
99
100
  return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
100
101
 
102
+ def read_daemon_metrics_experimental(
103
+ self,
104
+ *,
105
+ id_: int,
106
+ start_timestamp: datetime,
107
+ end_timestamp: datetime,
108
+ ) -> DtoResponse[models.DaemonsMetricsResource]:
109
+ local_response = self.api_connector.send_or_fail(
110
+ "GET",
111
+ f"/api/v1/daemons/{id_}/metrics",
112
+ data=None,
113
+ query_parameters={
114
+ "start_timestamp": start_timestamp,
115
+ "end_timestamp": end_timestamp,
116
+ },
117
+ )
118
+
119
+ return DtoResponse.from_responses(local_response, models.DaemonsMetricsResource)
120
+
101
121
  def list_logs(
102
122
  self,
103
123
  *,
@@ -1,4 +1,5 @@
1
1
  from cyberfusion.CoreApiClient import models
2
+ from datetime import datetime
2
3
  from cyberfusion.CoreApiClient._helpers import construct_includes_query_parameter
3
4
  from cyberfusion.CoreApiClient.http import DtoResponse
4
5
  from cyberfusion.CoreApiClient.interfaces import Resource
@@ -81,3 +82,24 @@ class DatabaseUsers(Resource):
81
82
  )
82
83
 
83
84
  return DtoResponse.from_responses(local_response, models.DetailMessage)
85
+
86
+ def read_database_user_metrics(
87
+ self,
88
+ *,
89
+ id_: int,
90
+ start_timestamp: datetime,
91
+ end_timestamp: datetime,
92
+ ) -> DtoResponse[models.DatabaseUsersMetricsResource]:
93
+ local_response = self.api_connector.send_or_fail(
94
+ "GET",
95
+ f"/api/v1/database-users/{id_}/metrics",
96
+ data=None,
97
+ query_parameters={
98
+ "start_timestamp": start_timestamp,
99
+ "end_timestamp": end_timestamp,
100
+ },
101
+ )
102
+
103
+ return DtoResponse.from_responses(
104
+ local_response, models.DatabaseUsersMetricsResource
105
+ )
@@ -45,12 +45,12 @@ class NodeAddOns(Resource):
45
45
 
46
46
  def get_node_add_on_products(
47
47
  self,
48
- ) -> DtoResponse[list[models.NodeAddOnProduct]]:
48
+ ) -> DtoResponse[list[models.ProductResource]]:
49
49
  local_response = self.api_connector.send_or_fail(
50
50
  "GET", "/api/v1/node-add-ons/products", data=None, query_parameters={}
51
51
  )
52
52
 
53
- return DtoResponse.from_responses(local_response, models.NodeAddOnProduct)
53
+ return DtoResponse.from_responses(local_response, models.ProductResource)
54
54
 
55
55
  def read_node_add_on(
56
56
  self,
@@ -46,12 +46,12 @@ class Nodes(Resource):
46
46
 
47
47
  def get_node_products(
48
48
  self,
49
- ) -> DtoResponse[list[models.NodeProduct]]:
49
+ ) -> DtoResponse[list[models.ProductResource]]:
50
50
  local_response = self.api_connector.send_or_fail(
51
51
  "GET", "/api/v1/nodes/products", data=None, query_parameters={}
52
52
  )
53
53
 
54
- return DtoResponse.from_responses(local_response, models.NodeProduct)
54
+ return DtoResponse.from_responses(local_response, models.ProductResource)
55
55
 
56
56
  def read_node(
57
57
  self,
@@ -0,0 +1,56 @@
1
+ from cyberfusion.CoreApiClient import models
2
+
3
+ from cyberfusion.CoreApiClient._helpers import construct_includes_query_parameter
4
+ from cyberfusion.CoreApiClient.http import DtoResponse
5
+ from cyberfusion.CoreApiClient.interfaces import Resource
6
+
7
+
8
+ class StandardsScans(Resource):
9
+ def list_standards_scans(
10
+ self,
11
+ *,
12
+ include_filters: models.StandardsScansSearchRequest | None = None,
13
+ includes: list[str] | None = None,
14
+ ) -> DtoResponse[list[models.StandardsScanResource]]:
15
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
16
+ "GET",
17
+ "/api/v1/standards-scans",
18
+ data=None,
19
+ query_parameters=(
20
+ include_filters.model_dump(exclude_unset=True)
21
+ if include_filters
22
+ else {}
23
+ )
24
+ | construct_includes_query_parameter(includes),
25
+ )
26
+
27
+ return DtoResponse.from_responses(local_responses, models.StandardsScanResource)
28
+
29
+ def read_standards_scan(
30
+ self,
31
+ *,
32
+ id_: int,
33
+ includes: list[str] | None = None,
34
+ ) -> DtoResponse[models.StandardsScanResource]:
35
+ local_response = self.api_connector.send_or_fail(
36
+ "GET",
37
+ f"/api/v1/standards-scans/{id_}",
38
+ data=None,
39
+ query_parameters=construct_includes_query_parameter(includes),
40
+ )
41
+
42
+ return DtoResponse.from_responses(local_response, models.StandardsScanResource)
43
+
44
+ def read_standards_scan_results(
45
+ self,
46
+ *,
47
+ id_: int,
48
+ ) -> DtoResponse[models.StandardsScanResults]:
49
+ local_response = self.api_connector.send_or_fail(
50
+ "GET",
51
+ f"/api/v1/standards-scans/{id_}/results",
52
+ data=None,
53
+ query_parameters={},
54
+ )
55
+
56
+ return DtoResponse.from_responses(local_response, models.StandardsScanResults)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-core-api-client
3
- Version: 7.0
3
+ Version: 8.1
4
4
  Summary: Python client for Core API.
5
5
  Author-email: Cyberfusion <support@cyberfusion.io>
6
6
  Project-URL: Source, https://github.com/CyberfusionIO/python3-core-api-client
@@ -13,7 +13,7 @@ Requires-Dist: pydantic[email]==2.12.5
13
13
 
14
14
  Python client for Core API.
15
15
 
16
- This client was built for and tested on the **1.267.0** version of the API.
16
+ This client was built for and tested on the **1.276.0** version of the API.
17
17
 
18
18
  ## Support
19
19