hostinger-api-sdk 1.38.0 → 1.40.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.
Files changed (53) hide show
  1. package/README.md +2 -2
  2. package/api.ts +1536 -32
  3. package/base.ts +1 -1
  4. package/common.ts +1 -1
  5. package/configuration.ts +2 -2
  6. package/dist/api.d.ts +1086 -30
  7. package/dist/api.js +902 -44
  8. package/dist/base.d.ts +1 -1
  9. package/dist/base.js +1 -1
  10. package/dist/common.d.ts +1 -1
  11. package/dist/common.js +1 -1
  12. package/dist/configuration.d.ts +1 -1
  13. package/dist/configuration.js +2 -2
  14. package/dist/esm/api.d.ts +1086 -30
  15. package/dist/esm/api.js +892 -34
  16. package/dist/esm/base.d.ts +1 -1
  17. package/dist/esm/base.js +1 -1
  18. package/dist/esm/common.d.ts +1 -1
  19. package/dist/esm/common.js +1 -1
  20. package/dist/esm/configuration.d.ts +1 -1
  21. package/dist/esm/configuration.js +2 -2
  22. package/dist/esm/index.d.ts +1 -1
  23. package/dist/esm/index.js +1 -1
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.js +1 -1
  26. package/docs/AgencyHostingFilesApi.md +54 -0
  27. package/docs/AgencyHostingListAgencyPlanWebsitesV1200Response.md +22 -0
  28. package/docs/AgencyHostingV1WebsitesBuilderWebsiteDetailsResource.md +28 -0
  29. package/docs/AgencyHostingV1WebsitesH5gWebsiteDetailsResource.md +46 -0
  30. package/docs/AgencyHostingV1WebsitesPlanResource.md +25 -0
  31. package/docs/AgencyHostingV1WebsitesU4sWebsiteDetailsResource.md +36 -0
  32. package/docs/AgencyHostingV1WebsitesWebsiteListItemResource.md +37 -0
  33. package/docs/AgencyHostingV1WebsitesWebsiteListItemResourceDetails.md +59 -0
  34. package/docs/AgencyHostingWebsitesApi.md +69 -0
  35. package/docs/HostingDatabasesApi.md +2 -2
  36. package/docs/HostingFilesApi.md +56 -0
  37. package/docs/HostingNodeJSApi.md +124 -1
  38. package/docs/HostingV1FilesGenerateUploadUrlRequest.md +22 -0
  39. package/docs/HostingV1FilesUploadUrlResource.md +24 -0
  40. package/docs/HostingV1NodeJsBuildSettingsResource.md +34 -0
  41. package/docs/HostingV1NodeJsGetBuildSettingsRequest.md +20 -0
  42. package/docs/HostingV1NodeJsStartBuildRequest.md +36 -0
  43. package/docs/HostingV1NodeJsStartBuildRequestSourceOptions.md +21 -0
  44. package/docs/HostingV1WebsitesDeployArchiveRequest.md +20 -0
  45. package/docs/HostingWebsitesApi.md +69 -4
  46. package/docs/WordPressInstallationsApi.md +64 -2
  47. package/docs/WordPressPluginsApi.md +64 -2
  48. package/docs/WordPressThemesApi.md +62 -0
  49. package/docs/WordPressV1InstallationsImportWordPressRequest.md +22 -0
  50. package/docs/WordPressV1PluginsDeployPluginRequest.md +22 -0
  51. package/docs/WordPressV1ThemesDeployThemeRequest.md +24 -0
  52. package/index.ts +1 -1
  53. package/package.json +1 -1
package/api.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * Hostinger API
5
5
  *
6
- * API Version: 1.40.0
6
+ * API Version: 1.42.0
7
7
  *
8
8
  * NOTE: This file is auto-generated, DO NOT EDIT THIS FILE MANUALLY!
9
9
  * If you want to contribute or request a new feature, please create an issue or pull request on https://github.com/hostinger/api
@@ -20,6 +20,25 @@ import type { RequestArgs } from './base';
20
20
  // @ts-ignore
21
21
  import { BASE_PATH, COLLECTION_FORMATS, BaseAPI, RequiredError, operationServerMap } from './base';
22
22
 
23
+ /**
24
+ *
25
+ * @export
26
+ * @interface AgencyHostingListAgencyPlanWebsitesV1200Response
27
+ */
28
+ export interface AgencyHostingListAgencyPlanWebsitesV1200Response {
29
+ /**
30
+ * Array of [`AgencyHosting.V1.Websites.WebsiteListItemResource`](#model/agencyhostingv1websiteswebsitelistitemresource)
31
+ * @type {Array<AgencyHostingV1WebsitesWebsiteListItemResource>}
32
+ * @memberof AgencyHostingListAgencyPlanWebsitesV1200Response
33
+ */
34
+ 'data': Array<AgencyHostingV1WebsitesWebsiteListItemResource>;
35
+ /**
36
+ *
37
+ * @type {CommonSchemaPaginationMetaSchema}
38
+ * @memberof AgencyHostingListAgencyPlanWebsitesV1200Response
39
+ */
40
+ 'meta': CommonSchemaPaginationMetaSchema;
41
+ }
23
42
  /**
24
43
  *
25
44
  * @export
@@ -884,6 +903,43 @@ export interface AgencyHostingV1WebsitesBuildAssetsRequest {
884
903
  */
885
904
  'archive_path': string;
886
905
  }
906
+ /**
907
+ *
908
+ * @export
909
+ * @interface AgencyHostingV1WebsitesBuilderWebsiteDetailsResource
910
+ */
911
+ export interface AgencyHostingV1WebsitesBuilderWebsiteDetailsResource {
912
+ /**
913
+ * Builder ID
914
+ * @type {string}
915
+ * @memberof AgencyHostingV1WebsitesBuilderWebsiteDetailsResource
916
+ */
917
+ 'id': string | null;
918
+ /**
919
+ * Domain name
920
+ * @type {string}
921
+ * @memberof AgencyHostingV1WebsitesBuilderWebsiteDetailsResource
922
+ */
923
+ 'vhost': string;
924
+ /**
925
+ * Detected website type
926
+ * @type {string}
927
+ * @memberof AgencyHostingV1WebsitesBuilderWebsiteDetailsResource
928
+ */
929
+ 'type': string;
930
+ /**
931
+ * Account username
932
+ * @type {string}
933
+ * @memberof AgencyHostingV1WebsitesBuilderWebsiteDetailsResource
934
+ */
935
+ 'username': string;
936
+ /**
937
+ *
938
+ * @type {string}
939
+ * @memberof AgencyHostingV1WebsitesBuilderWebsiteDetailsResource
940
+ */
941
+ 'created_at': string;
942
+ }
887
943
  /**
888
944
  *
889
945
  * @export
@@ -1059,6 +1115,140 @@ export interface AgencyHostingV1WebsitesDatabasesUsersCreateDatabaseUserRequest
1059
1115
  */
1060
1116
  'host': string | null;
1061
1117
  }
1118
+ /**
1119
+ *
1120
+ * @export
1121
+ * @interface AgencyHostingV1WebsitesH5gWebsiteDetailsResource
1122
+ */
1123
+ export interface AgencyHostingV1WebsitesH5gWebsiteDetailsResource {
1124
+ /**
1125
+ * Website UID
1126
+ * @type {string}
1127
+ * @memberof AgencyHostingV1WebsitesH5gWebsiteDetailsResource
1128
+ */
1129
+ 'uid': string;
1130
+ /**
1131
+ * IPv4 address
1132
+ * @type {string}
1133
+ * @memberof AgencyHostingV1WebsitesH5gWebsiteDetailsResource
1134
+ */
1135
+ 'ipv4': string;
1136
+ /**
1137
+ * Setup flavor
1138
+ * @type {string}
1139
+ * @memberof AgencyHostingV1WebsitesH5gWebsiteDetailsResource
1140
+ */
1141
+ 'flavor': string;
1142
+ /**
1143
+ * Detected website type
1144
+ * @type {string}
1145
+ * @memberof AgencyHostingV1WebsitesH5gWebsiteDetailsResource
1146
+ */
1147
+ 'type': AgencyHostingV1WebsitesH5gWebsiteDetailsResourceTypeEnum;
1148
+ /**
1149
+ * Username for this order
1150
+ * @type {string}
1151
+ * @memberof AgencyHostingV1WebsitesH5gWebsiteDetailsResource
1152
+ */
1153
+ 'username': string;
1154
+ /**
1155
+ * Description
1156
+ * @type {string}
1157
+ * @memberof AgencyHostingV1WebsitesH5gWebsiteDetailsResource
1158
+ */
1159
+ 'description': string | null;
1160
+ /**
1161
+ * Website state
1162
+ * @type {string}
1163
+ * @memberof AgencyHostingV1WebsitesH5gWebsiteDetailsResource
1164
+ */
1165
+ 'state': AgencyHostingV1WebsitesH5gWebsiteDetailsResourceStateEnum;
1166
+ /**
1167
+ *
1168
+ * @type {string}
1169
+ * @memberof AgencyHostingV1WebsitesH5gWebsiteDetailsResource
1170
+ */
1171
+ 'created_at': string;
1172
+ /**
1173
+ * Website settings, e.g. PHP configuration
1174
+ * @type {object}
1175
+ * @memberof AgencyHostingV1WebsitesH5gWebsiteDetailsResource
1176
+ */
1177
+ 'settings': object;
1178
+ /**
1179
+ * WordPress installation details
1180
+ * @type {object}
1181
+ * @memberof AgencyHostingV1WebsitesH5gWebsiteDetailsResource
1182
+ */
1183
+ 'wordpress': object | null;
1184
+ /**
1185
+ * Website domains
1186
+ * @type {Array<object>}
1187
+ * @memberof AgencyHostingV1WebsitesH5gWebsiteDetailsResource
1188
+ */
1189
+ 'domains': Array<object>;
1190
+ /**
1191
+ * Preview domain
1192
+ * @type {object}
1193
+ * @memberof AgencyHostingV1WebsitesH5gWebsiteDetailsResource
1194
+ */
1195
+ 'preview_domain': object | null;
1196
+ /**
1197
+ * Ongoing website processes
1198
+ * @type {Array<object>}
1199
+ * @memberof AgencyHostingV1WebsitesH5gWebsiteDetailsResource
1200
+ */
1201
+ 'processes': Array<object>;
1202
+ /**
1203
+ * Horizons UUID (only for horizons websites)
1204
+ * @type {string}
1205
+ * @memberof AgencyHostingV1WebsitesH5gWebsiteDetailsResource
1206
+ */
1207
+ 'horizons_uuid': string | null;
1208
+ }
1209
+
1210
+ export const AgencyHostingV1WebsitesH5gWebsiteDetailsResourceTypeEnum = {
1211
+ Wordpress: 'wordpress',
1212
+ Builder: 'builder',
1213
+ Horizons: 'horizons',
1214
+ Nodejs: 'nodejs',
1215
+ U4s: 'u4s',
1216
+ Other: 'other'
1217
+ } as const;
1218
+
1219
+ export type AgencyHostingV1WebsitesH5gWebsiteDetailsResourceTypeEnum = typeof AgencyHostingV1WebsitesH5gWebsiteDetailsResourceTypeEnum[keyof typeof AgencyHostingV1WebsitesH5gWebsiteDetailsResourceTypeEnum];
1220
+ export const AgencyHostingV1WebsitesH5gWebsiteDetailsResourceStateEnum = {
1221
+ Active: 'active',
1222
+ Suspended: 'suspended'
1223
+ } as const;
1224
+
1225
+ export type AgencyHostingV1WebsitesH5gWebsiteDetailsResourceStateEnum = typeof AgencyHostingV1WebsitesH5gWebsiteDetailsResourceStateEnum[keyof typeof AgencyHostingV1WebsitesH5gWebsiteDetailsResourceStateEnum];
1226
+
1227
+ /**
1228
+ * Website plan details
1229
+ * @export
1230
+ * @interface AgencyHostingV1WebsitesPlanResource
1231
+ */
1232
+ export interface AgencyHostingV1WebsitesPlanResource {
1233
+ /**
1234
+ *
1235
+ * @type {string}
1236
+ * @memberof AgencyHostingV1WebsitesPlanResource
1237
+ */
1238
+ 'name': string;
1239
+ /**
1240
+ *
1241
+ * @type {string}
1242
+ * @memberof AgencyHostingV1WebsitesPlanResource
1243
+ */
1244
+ 'display_name': string;
1245
+ /**
1246
+ *
1247
+ * @type {boolean}
1248
+ * @memberof AgencyHostingV1WebsitesPlanResource
1249
+ */
1250
+ 'has_cdn': boolean;
1251
+ }
1062
1252
  /**
1063
1253
  *
1064
1254
  * @export
@@ -1084,6 +1274,75 @@ export interface AgencyHostingV1WebsitesSslCertResource {
1084
1274
  */
1085
1275
  'created_at': string;
1086
1276
  }
1277
+ /**
1278
+ *
1279
+ * @export
1280
+ * @interface AgencyHostingV1WebsitesU4sWebsiteDetailsResource
1281
+ */
1282
+ export interface AgencyHostingV1WebsitesU4sWebsiteDetailsResource {
1283
+ /**
1284
+ * Application UUID
1285
+ * @type {string}
1286
+ * @memberof AgencyHostingV1WebsitesU4sWebsiteDetailsResource
1287
+ */
1288
+ 'uuid': string;
1289
+ /**
1290
+ * Application title
1291
+ * @type {string}
1292
+ * @memberof AgencyHostingV1WebsitesU4sWebsiteDetailsResource
1293
+ */
1294
+ 'title': string;
1295
+ /**
1296
+ * Application port
1297
+ * @type {number}
1298
+ * @memberof AgencyHostingV1WebsitesU4sWebsiteDetailsResource
1299
+ */
1300
+ 'port': number;
1301
+ /**
1302
+ * Detected website type
1303
+ * @type {string}
1304
+ * @memberof AgencyHostingV1WebsitesU4sWebsiteDetailsResource
1305
+ */
1306
+ 'type': AgencyHostingV1WebsitesU4sWebsiteDetailsResourceTypeEnum;
1307
+ /**
1308
+ * Application runtime
1309
+ * @type {string}
1310
+ * @memberof AgencyHostingV1WebsitesU4sWebsiteDetailsResource
1311
+ */
1312
+ 'runtime': string;
1313
+ /**
1314
+ * Application state
1315
+ * @type {string}
1316
+ * @memberof AgencyHostingV1WebsitesU4sWebsiteDetailsResource
1317
+ */
1318
+ 'state': string;
1319
+ /**
1320
+ * Application domains
1321
+ * @type {Array<object>}
1322
+ * @memberof AgencyHostingV1WebsitesU4sWebsiteDetailsResource
1323
+ */
1324
+ 'domains': Array<object>;
1325
+ /**
1326
+ * Horizons UUID
1327
+ * @type {string}
1328
+ * @memberof AgencyHostingV1WebsitesU4sWebsiteDetailsResource
1329
+ */
1330
+ 'horizons_uuid': string | null;
1331
+ /**
1332
+ * Preview domain
1333
+ * @type {object}
1334
+ * @memberof AgencyHostingV1WebsitesU4sWebsiteDetailsResource
1335
+ */
1336
+ 'preview_domain': object | null;
1337
+ }
1338
+
1339
+ export const AgencyHostingV1WebsitesU4sWebsiteDetailsResourceTypeEnum = {
1340
+ U4s: 'u4s',
1341
+ Horizons: 'horizons'
1342
+ } as const;
1343
+
1344
+ export type AgencyHostingV1WebsitesU4sWebsiteDetailsResourceTypeEnum = typeof AgencyHostingV1WebsitesU4sWebsiteDetailsResourceTypeEnum[keyof typeof AgencyHostingV1WebsitesU4sWebsiteDetailsResourceTypeEnum];
1345
+
1087
1346
  /**
1088
1347
  *
1089
1348
  * @export
@@ -1133,6 +1392,83 @@ export interface AgencyHostingV1WebsitesWebsiteDomainDetailsResource {
1133
1392
  */
1134
1393
  'custom_ssl_cert': AgencyHostingV1WebsitesCustomSslCertResource | null;
1135
1394
  }
1395
+ /**
1396
+ * Website item. The `details` shape differs per platform — see the `platform` field.
1397
+ * @export
1398
+ * @interface AgencyHostingV1WebsitesWebsiteListItemResource
1399
+ */
1400
+ export interface AgencyHostingV1WebsitesWebsiteListItemResource {
1401
+ /**
1402
+ *
1403
+ * @type {string}
1404
+ * @memberof AgencyHostingV1WebsitesWebsiteListItemResource
1405
+ */
1406
+ 'id': string;
1407
+ /**
1408
+ *
1409
+ * @type {number}
1410
+ * @memberof AgencyHostingV1WebsitesWebsiteListItemResource
1411
+ */
1412
+ 'client_id': number;
1413
+ /**
1414
+ *
1415
+ * @type {number}
1416
+ * @memberof AgencyHostingV1WebsitesWebsiteListItemResource
1417
+ */
1418
+ 'order_id': number;
1419
+ /**
1420
+ * Website platform
1421
+ * @type {string}
1422
+ * @memberof AgencyHostingV1WebsitesWebsiteListItemResource
1423
+ */
1424
+ 'platform': AgencyHostingV1WebsitesWebsiteListItemResourcePlatformEnum;
1425
+ /**
1426
+ * Website state
1427
+ * @type {string}
1428
+ * @memberof AgencyHostingV1WebsitesWebsiteListItemResource
1429
+ */
1430
+ 'state': string;
1431
+ /**
1432
+ *
1433
+ * @type {string}
1434
+ * @memberof AgencyHostingV1WebsitesWebsiteListItemResource
1435
+ */
1436
+ 'created_at': string;
1437
+ /**
1438
+ *
1439
+ * @type {AgencyHostingV1WebsitesPlanResource}
1440
+ * @memberof AgencyHostingV1WebsitesWebsiteListItemResource
1441
+ */
1442
+ 'plan': AgencyHostingV1WebsitesPlanResource;
1443
+ /**
1444
+ *
1445
+ * @type {AgencyHostingV1WebsitesWebsiteListItemResourceDetails}
1446
+ * @memberof AgencyHostingV1WebsitesWebsiteListItemResource
1447
+ */
1448
+ 'details': AgencyHostingV1WebsitesWebsiteListItemResourceDetails;
1449
+ /**
1450
+ * Reason for suspension, only populated for payment related suspensions
1451
+ * @type {string}
1452
+ * @memberof AgencyHostingV1WebsitesWebsiteListItemResource
1453
+ */
1454
+ 'suspension_reason': string | null;
1455
+ }
1456
+
1457
+ export const AgencyHostingV1WebsitesWebsiteListItemResourcePlatformEnum = {
1458
+ H5g: 'h5g',
1459
+ Builder: 'builder',
1460
+ U4s: 'u4s'
1461
+ } as const;
1462
+
1463
+ export type AgencyHostingV1WebsitesWebsiteListItemResourcePlatformEnum = typeof AgencyHostingV1WebsitesWebsiteListItemResourcePlatformEnum[keyof typeof AgencyHostingV1WebsitesWebsiteListItemResourcePlatformEnum];
1464
+
1465
+ /**
1466
+ * @type AgencyHostingV1WebsitesWebsiteListItemResourceDetails
1467
+ * Platform-specific website details. Shape depends on `platform`.
1468
+ * @export
1469
+ */
1470
+ export type AgencyHostingV1WebsitesWebsiteListItemResourceDetails = AgencyHostingV1WebsitesBuilderWebsiteDetailsResource | AgencyHostingV1WebsitesH5gWebsiteDetailsResource | AgencyHostingV1WebsitesU4sWebsiteDetailsResource;
1471
+
1136
1472
  /**
1137
1473
  *
1138
1474
  * @export
@@ -5307,6 +5643,50 @@ export const HostingV1FilesFilesResourceItemsInnerTypeEnum = {
5307
5643
 
5308
5644
  export type HostingV1FilesFilesResourceItemsInnerTypeEnum = typeof HostingV1FilesFilesResourceItemsInnerTypeEnum[keyof typeof HostingV1FilesFilesResourceItemsInnerTypeEnum];
5309
5645
 
5646
+ /**
5647
+ *
5648
+ * @export
5649
+ * @interface HostingV1FilesGenerateUploadUrlRequest
5650
+ */
5651
+ export interface HostingV1FilesGenerateUploadUrlRequest {
5652
+ /**
5653
+ * Account username
5654
+ * @type {string}
5655
+ * @memberof HostingV1FilesGenerateUploadUrlRequest
5656
+ */
5657
+ 'username': string;
5658
+ /**
5659
+ * Website domain
5660
+ * @type {string}
5661
+ * @memberof HostingV1FilesGenerateUploadUrlRequest
5662
+ */
5663
+ 'domain': string;
5664
+ }
5665
+ /**
5666
+ *
5667
+ * @export
5668
+ * @interface HostingV1FilesUploadUrlResource
5669
+ */
5670
+ export interface HostingV1FilesUploadUrlResource {
5671
+ /**
5672
+ * The TUS upload endpoint URL to send upload requests to
5673
+ * @type {string}
5674
+ * @memberof HostingV1FilesUploadUrlResource
5675
+ */
5676
+ 'url': string;
5677
+ /**
5678
+ * Authentication token to pass as the `X-Auth` header in TUS upload requests
5679
+ * @type {string}
5680
+ * @memberof HostingV1FilesUploadUrlResource
5681
+ */
5682
+ 'auth_key': string;
5683
+ /**
5684
+ * Authentication token to pass as the `X-Auth-Rest` header in TUS upload requests
5685
+ * @type {string}
5686
+ * @memberof HostingV1FilesUploadUrlResource
5687
+ */
5688
+ 'rest_auth_key': string;
5689
+ }
5310
5690
  /**
5311
5691
  *
5312
5692
  * @export
@@ -5471,6 +5851,93 @@ export const HostingV1NodeJsBuildResourceStateEnum = {
5471
5851
 
5472
5852
  export type HostingV1NodeJsBuildResourceStateEnum = typeof HostingV1NodeJsBuildResourceStateEnum[keyof typeof HostingV1NodeJsBuildResourceStateEnum];
5473
5853
 
5854
+ /**
5855
+ *
5856
+ * @export
5857
+ * @interface HostingV1NodeJsBuildSettingsResource
5858
+ */
5859
+ export interface HostingV1NodeJsBuildSettingsResource {
5860
+ /**
5861
+ * Node.js application type
5862
+ * @type {string}
5863
+ * @memberof HostingV1NodeJsBuildSettingsResource
5864
+ */
5865
+ 'app_type': HostingV1NodeJsBuildSettingsResourceAppTypeEnum | null;
5866
+ /**
5867
+ * Node.js version
5868
+ * @type {number}
5869
+ * @memberof HostingV1NodeJsBuildSettingsResource
5870
+ */
5871
+ 'node_version': number | null;
5872
+ /**
5873
+ * Application root directory
5874
+ * @type {string}
5875
+ * @memberof HostingV1NodeJsBuildSettingsResource
5876
+ */
5877
+ 'root_directory': string | null;
5878
+ /**
5879
+ * Build output directory
5880
+ * @type {string}
5881
+ * @memberof HostingV1NodeJsBuildSettingsResource
5882
+ */
5883
+ 'output_directory': string | null;
5884
+ /**
5885
+ * The npm script to run to build the application
5886
+ * @type {string}
5887
+ * @memberof HostingV1NodeJsBuildSettingsResource
5888
+ */
5889
+ 'build_script': string | null;
5890
+ /**
5891
+ * The main entry point file for the application
5892
+ * @type {string}
5893
+ * @memberof HostingV1NodeJsBuildSettingsResource
5894
+ */
5895
+ 'entry_file': string | null;
5896
+ /**
5897
+ * Package manager
5898
+ * @type {string}
5899
+ * @memberof HostingV1NodeJsBuildSettingsResource
5900
+ */
5901
+ 'package_manager': HostingV1NodeJsBuildSettingsResourcePackageManagerEnum | null;
5902
+ /**
5903
+ * The scripts configured in the package.json file
5904
+ * @type {Array<string>}
5905
+ * @memberof HostingV1NodeJsBuildSettingsResource
5906
+ */
5907
+ 'available_scripts': Array<string>;
5908
+ }
5909
+
5910
+ export const HostingV1NodeJsBuildSettingsResourceAppTypeEnum = {
5911
+ CreateReactApp: 'create-react-app',
5912
+ Gatsby: 'gatsby',
5913
+ Vite: 'vite',
5914
+ Angular: 'angular',
5915
+ React: 'react',
5916
+ Vue: 'vue',
5917
+ Parcel: 'parcel',
5918
+ Next: 'next',
5919
+ Nuxt: 'nuxt',
5920
+ Nest: 'nest',
5921
+ Express: 'express',
5922
+ Fastify: 'fastify',
5923
+ Astro: 'astro',
5924
+ Svelte: 'svelte',
5925
+ SvelteKit: 'svelte-kit',
5926
+ Hono: 'hono',
5927
+ ReactRouter: 'react-router',
5928
+ Nitro: 'nitro',
5929
+ Other: 'other'
5930
+ } as const;
5931
+
5932
+ export type HostingV1NodeJsBuildSettingsResourceAppTypeEnum = typeof HostingV1NodeJsBuildSettingsResourceAppTypeEnum[keyof typeof HostingV1NodeJsBuildSettingsResourceAppTypeEnum];
5933
+ export const HostingV1NodeJsBuildSettingsResourcePackageManagerEnum = {
5934
+ Npm: 'npm',
5935
+ Yarn: 'yarn',
5936
+ Pnpm: 'pnpm'
5937
+ } as const;
5938
+
5939
+ export type HostingV1NodeJsBuildSettingsResourcePackageManagerEnum = typeof HostingV1NodeJsBuildSettingsResourcePackageManagerEnum[keyof typeof HostingV1NodeJsBuildSettingsResourcePackageManagerEnum];
5940
+
5474
5941
  /**
5475
5942
  *
5476
5943
  * @export
@@ -5566,6 +6033,19 @@ export const HostingV1NodeJsCreateFromArchiveRequestPackageManagerEnum = {
5566
6033
 
5567
6034
  export type HostingV1NodeJsCreateFromArchiveRequestPackageManagerEnum = typeof HostingV1NodeJsCreateFromArchiveRequestPackageManagerEnum[keyof typeof HostingV1NodeJsCreateFromArchiveRequestPackageManagerEnum];
5568
6035
 
6036
+ /**
6037
+ *
6038
+ * @export
6039
+ * @interface HostingV1NodeJsGetBuildSettingsRequest
6040
+ */
6041
+ export interface HostingV1NodeJsGetBuildSettingsRequest {
6042
+ /**
6043
+ * The path to the archive file relative to the document root of the vhost
6044
+ * @type {string}
6045
+ * @memberof HostingV1NodeJsGetBuildSettingsRequest
6046
+ */
6047
+ 'archive_path': string;
6048
+ }
5569
6049
  /**
5570
6050
  *
5571
6051
  * @export
@@ -5623,6 +6103,125 @@ export interface HostingV1NodeJsSourceOptionsResource {
5623
6103
  */
5624
6104
  'archive_path': string | null;
5625
6105
  }
6106
+ /**
6107
+ *
6108
+ * @export
6109
+ * @interface HostingV1NodeJsStartBuildRequest
6110
+ */
6111
+ export interface HostingV1NodeJsStartBuildRequest {
6112
+ /**
6113
+ * Node.js version
6114
+ * @type {number}
6115
+ * @memberof HostingV1NodeJsStartBuildRequest
6116
+ */
6117
+ 'node_version': HostingV1NodeJsStartBuildRequestNodeVersionEnum;
6118
+ /**
6119
+ * Node.js application type
6120
+ * @type {string}
6121
+ * @memberof HostingV1NodeJsStartBuildRequest
6122
+ */
6123
+ 'app_type': HostingV1NodeJsStartBuildRequestAppTypeEnum | null;
6124
+ /**
6125
+ * Application root directory (where package.json is located) relative to public_html
6126
+ * @type {string}
6127
+ * @memberof HostingV1NodeJsStartBuildRequest
6128
+ */
6129
+ 'root_directory': string | null;
6130
+ /**
6131
+ * Build output directory relative to the root directory
6132
+ * @type {string}
6133
+ * @memberof HostingV1NodeJsStartBuildRequest
6134
+ */
6135
+ 'output_directory': string | null;
6136
+ /**
6137
+ * Build script that will be ran to build the application
6138
+ * @type {string}
6139
+ * @memberof HostingV1NodeJsStartBuildRequest
6140
+ */
6141
+ 'build_script': string | null;
6142
+ /**
6143
+ * The main entry point file for the application
6144
+ * @type {string}
6145
+ * @memberof HostingV1NodeJsStartBuildRequest
6146
+ */
6147
+ 'entry_file': string | null;
6148
+ /**
6149
+ * Package manager
6150
+ * @type {string}
6151
+ * @memberof HostingV1NodeJsStartBuildRequest
6152
+ */
6153
+ 'package_manager': HostingV1NodeJsStartBuildRequestPackageManagerEnum | null;
6154
+ /**
6155
+ * The source type of the files
6156
+ * @type {string}
6157
+ * @memberof HostingV1NodeJsStartBuildRequest
6158
+ */
6159
+ 'source_type': HostingV1NodeJsStartBuildRequestSourceTypeEnum;
6160
+ /**
6161
+ *
6162
+ * @type {HostingV1NodeJsStartBuildRequestSourceOptions}
6163
+ * @memberof HostingV1NodeJsStartBuildRequest
6164
+ */
6165
+ 'source_options': HostingV1NodeJsStartBuildRequestSourceOptions | null;
6166
+ }
6167
+
6168
+ export const HostingV1NodeJsStartBuildRequestNodeVersionEnum = {
6169
+ NUMBER_18: 18,
6170
+ NUMBER_20: 20,
6171
+ NUMBER_22: 22,
6172
+ NUMBER_24: 24
6173
+ } as const;
6174
+
6175
+ export type HostingV1NodeJsStartBuildRequestNodeVersionEnum = typeof HostingV1NodeJsStartBuildRequestNodeVersionEnum[keyof typeof HostingV1NodeJsStartBuildRequestNodeVersionEnum];
6176
+ export const HostingV1NodeJsStartBuildRequestAppTypeEnum = {
6177
+ CreateReactApp: 'create-react-app',
6178
+ Gatsby: 'gatsby',
6179
+ Vite: 'vite',
6180
+ Angular: 'angular',
6181
+ React: 'react',
6182
+ Vue: 'vue',
6183
+ Parcel: 'parcel',
6184
+ Next: 'next',
6185
+ Nuxt: 'nuxt',
6186
+ Nest: 'nest',
6187
+ Express: 'express',
6188
+ Fastify: 'fastify',
6189
+ Astro: 'astro',
6190
+ Svelte: 'svelte',
6191
+ SvelteKit: 'svelte-kit',
6192
+ Hono: 'hono',
6193
+ ReactRouter: 'react-router',
6194
+ Nitro: 'nitro',
6195
+ Other: 'other'
6196
+ } as const;
6197
+
6198
+ export type HostingV1NodeJsStartBuildRequestAppTypeEnum = typeof HostingV1NodeJsStartBuildRequestAppTypeEnum[keyof typeof HostingV1NodeJsStartBuildRequestAppTypeEnum];
6199
+ export const HostingV1NodeJsStartBuildRequestPackageManagerEnum = {
6200
+ Npm: 'npm',
6201
+ Yarn: 'yarn',
6202
+ Pnpm: 'pnpm'
6203
+ } as const;
6204
+
6205
+ export type HostingV1NodeJsStartBuildRequestPackageManagerEnum = typeof HostingV1NodeJsStartBuildRequestPackageManagerEnum[keyof typeof HostingV1NodeJsStartBuildRequestPackageManagerEnum];
6206
+ export const HostingV1NodeJsStartBuildRequestSourceTypeEnum = {
6207
+ Archive: 'archive'
6208
+ } as const;
6209
+
6210
+ export type HostingV1NodeJsStartBuildRequestSourceTypeEnum = typeof HostingV1NodeJsStartBuildRequestSourceTypeEnum[keyof typeof HostingV1NodeJsStartBuildRequestSourceTypeEnum];
6211
+
6212
+ /**
6213
+ * Source-specific options
6214
+ * @export
6215
+ * @interface HostingV1NodeJsStartBuildRequestSourceOptions
6216
+ */
6217
+ export interface HostingV1NodeJsStartBuildRequestSourceOptions {
6218
+ /**
6219
+ * The path to the archive file relative to the document root of the vhost (required if source is \"archive\")
6220
+ * @type {string}
6221
+ * @memberof HostingV1NodeJsStartBuildRequestSourceOptions
6222
+ */
6223
+ 'archive_path': string;
6224
+ }
5626
6225
  /**
5627
6226
  *
5628
6227
  * @export
@@ -6032,6 +6631,19 @@ export interface HostingV1WebsitesCreateWebsiteRequest {
6032
6631
  */
6033
6632
  'datacenter_code': string | null;
6034
6633
  }
6634
+ /**
6635
+ *
6636
+ * @export
6637
+ * @interface HostingV1WebsitesDeployArchiveRequest
6638
+ */
6639
+ export interface HostingV1WebsitesDeployArchiveRequest {
6640
+ /**
6641
+ * Relative path to the archive file from website root directory
6642
+ * @type {string}
6643
+ * @memberof HostingV1WebsitesDeployArchiveRequest
6644
+ */
6645
+ 'archive_path': string;
6646
+ }
6035
6647
  /**
6036
6648
  *
6037
6649
  * @export
@@ -12243,6 +12855,25 @@ export interface WordPressV1InstallationsDeleteInstallationRequest {
12243
12855
  */
12244
12856
  'delete_database': boolean;
12245
12857
  }
12858
+ /**
12859
+ *
12860
+ * @export
12861
+ * @interface WordPressV1InstallationsImportWordPressRequest
12862
+ */
12863
+ export interface WordPressV1InstallationsImportWordPressRequest {
12864
+ /**
12865
+ * Path to the WordPress archive file (relative to website root)
12866
+ * @type {string}
12867
+ * @memberof WordPressV1InstallationsImportWordPressRequest
12868
+ */
12869
+ 'archive_path': string;
12870
+ /**
12871
+ * Path to the database SQL file (relative to website root)
12872
+ * @type {string}
12873
+ * @memberof WordPressV1InstallationsImportWordPressRequest
12874
+ */
12875
+ 'sql_path': string;
12876
+ }
12246
12877
  /**
12247
12878
  *
12248
12879
  * @export
@@ -12811,6 +13442,25 @@ export interface WordPressV1PluginsDeactivatePluginRequest {
12811
13442
  */
12812
13443
  'plugin': string;
12813
13444
  }
13445
+ /**
13446
+ *
13447
+ * @export
13448
+ * @interface WordPressV1PluginsDeployPluginRequest
13449
+ */
13450
+ export interface WordPressV1PluginsDeployPluginRequest {
13451
+ /**
13452
+ * Slug of the plugin
13453
+ * @type {string}
13454
+ * @memberof WordPressV1PluginsDeployPluginRequest
13455
+ */
13456
+ 'slug': string;
13457
+ /**
13458
+ * Relative path to the plugin directory from wp-content/plugins
13459
+ * @type {string}
13460
+ * @memberof WordPressV1PluginsDeployPluginRequest
13461
+ */
13462
+ 'plugin_path': string;
13463
+ }
12814
13464
  /**
12815
13465
  *
12816
13466
  * @export
@@ -13106,6 +13756,31 @@ export interface WordPressV1ThemesActivateThemeRequest {
13106
13756
  */
13107
13757
  'theme': string;
13108
13758
  }
13759
+ /**
13760
+ *
13761
+ * @export
13762
+ * @interface WordPressV1ThemesDeployThemeRequest
13763
+ */
13764
+ export interface WordPressV1ThemesDeployThemeRequest {
13765
+ /**
13766
+ * Slug of the theme
13767
+ * @type {string}
13768
+ * @memberof WordPressV1ThemesDeployThemeRequest
13769
+ */
13770
+ 'slug': string;
13771
+ /**
13772
+ * Relative path to the theme directory from wp-content/themes
13773
+ * @type {string}
13774
+ * @memberof WordPressV1ThemesDeployThemeRequest
13775
+ */
13776
+ 'theme_path': string;
13777
+ /**
13778
+ * Whether to activate the theme after deployment
13779
+ * @type {boolean}
13780
+ * @memberof WordPressV1ThemesDeployThemeRequest
13781
+ */
13782
+ 'is_activated': boolean | null;
13783
+ }
13109
13784
  /**
13110
13785
  *
13111
13786
  * @export
@@ -14634,6 +15309,44 @@ export class AgencyHostingDomainsApi extends BaseAPI {
14634
15309
  */
14635
15310
  export const AgencyHostingFilesApiAxiosParamCreator = function (configuration?: Configuration) {
14636
15311
  return {
15312
+ /**
15313
+ * Generate a file browser upload URL with authentication credentials for uploading files to an Agency Plan website\'s file storage. Returns `url`, `auth_key` and `rest_auth_key`. Use these to upload a file to the website\'s file storage via the TUS resumable upload protocol (TUS 1.0.0). Send `X-Auth: {auth_key}` and `X-Auth-Rest: {rest_auth_key}` headers on every request below. 1. Create the upload: `POST` to `{url}/{relative_file_path}?override=true` with headers `upload-length: {file size in bytes}` and `upload-offset: 0`. Expect `201 Created`. 2. Upload the file: send the file bytes to the same location (any TUS 1.0.0 client, or `PATCH` requests with an `upload-offset` header tracking progress) until complete. `relative_file_path` is the destination path inside the website\'s file storage, e.g. `app.zip`. Instead of a TUS client, plain `curl` also works: ``` FILE=app.zip SIZE=$(stat -f%z \"$FILE\") # stat -c%s on Linux curl -i -X POST \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Upload-Length: ${SIZE}\" \\ -H \"Upload-Offset: 0\" # -> 201 Created curl -i -X PATCH \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Content-Type: application/offset+octet-stream\" \\ -H \"Upload-Offset: 0\" \\ --data-binary \"@${FILE}\" # -> 204 No Content, Upload-Offset response header equals SIZE when done ```
15314
+ * @summary Generate upload URL
15315
+ * @param {string} websiteUid Agency Plan website UID
15316
+ * @param {*} [options] Override http request option.
15317
+ * @throws {RequiredError}
15318
+ */
15319
+ generateUploadURLV1: async (websiteUid: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
15320
+ // verify required parameter 'websiteUid' is not null or undefined
15321
+ assertParamExists('generateUploadURLV1', 'websiteUid', websiteUid)
15322
+ const localVarPath = `/api/agency-hosting/v1/websites/{website_uid}/files/upload-urls`
15323
+ .replace(`{${"website_uid"}}`, encodeURIComponent(String(websiteUid)));
15324
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
15325
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
15326
+ let baseOptions;
15327
+ if (configuration) {
15328
+ baseOptions = configuration.baseOptions;
15329
+ }
15330
+
15331
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
15332
+ const localVarHeaderParameter = {} as any;
15333
+ const localVarQueryParameter = {} as any;
15334
+
15335
+ // authentication apiToken required
15336
+ // http bearer authentication required
15337
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
15338
+
15339
+
15340
+
15341
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
15342
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
15343
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
15344
+
15345
+ return {
15346
+ url: toPathString(localVarUrlObj),
15347
+ options: localVarRequestOptions,
15348
+ };
15349
+ },
14637
15350
  /**
14638
15351
  * Imports an Agency Plan website from an already-uploaded archive. Upload the archive to the website\'s root directory via file browser first, then provide its filename in this request. Website contents are overwritten by the archive contents. Supported archive types: .zip, .tar, .tar.gz, .tgz.
14639
15352
  * @summary Import website from archive
@@ -14688,6 +15401,18 @@ export const AgencyHostingFilesApiAxiosParamCreator = function (configuration?:
14688
15401
  export const AgencyHostingFilesApiFp = function(configuration?: Configuration) {
14689
15402
  const localVarAxiosParamCreator = AgencyHostingFilesApiAxiosParamCreator(configuration)
14690
15403
  return {
15404
+ /**
15405
+ * Generate a file browser upload URL with authentication credentials for uploading files to an Agency Plan website\'s file storage. Returns `url`, `auth_key` and `rest_auth_key`. Use these to upload a file to the website\'s file storage via the TUS resumable upload protocol (TUS 1.0.0). Send `X-Auth: {auth_key}` and `X-Auth-Rest: {rest_auth_key}` headers on every request below. 1. Create the upload: `POST` to `{url}/{relative_file_path}?override=true` with headers `upload-length: {file size in bytes}` and `upload-offset: 0`. Expect `201 Created`. 2. Upload the file: send the file bytes to the same location (any TUS 1.0.0 client, or `PATCH` requests with an `upload-offset` header tracking progress) until complete. `relative_file_path` is the destination path inside the website\'s file storage, e.g. `app.zip`. Instead of a TUS client, plain `curl` also works: ``` FILE=app.zip SIZE=$(stat -f%z \"$FILE\") # stat -c%s on Linux curl -i -X POST \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Upload-Length: ${SIZE}\" \\ -H \"Upload-Offset: 0\" # -> 201 Created curl -i -X PATCH \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Content-Type: application/offset+octet-stream\" \\ -H \"Upload-Offset: 0\" \\ --data-binary \"@${FILE}\" # -> 204 No Content, Upload-Offset response header equals SIZE when done ```
15406
+ * @summary Generate upload URL
15407
+ * @param {string} websiteUid Agency Plan website UID
15408
+ * @param {*} [options] Override http request option.
15409
+ * @throws {RequiredError}
15410
+ */
15411
+ async generateUploadURLV1(websiteUid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AgencyHostingV1FilesUploadUrlResource>> {
15412
+ const localVarAxiosArgs = await localVarAxiosParamCreator.generateUploadURLV1(websiteUid, options);
15413
+ const localVarOperationServerBasePath = operationServerMap['AgencyHostingFilesApi.generateUploadURLV1']?.[0]?.url;
15414
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
15415
+ },
14691
15416
  /**
14692
15417
  * Imports an Agency Plan website from an already-uploaded archive. Upload the archive to the website\'s root directory via file browser first, then provide its filename in this request. Website contents are overwritten by the archive contents. Supported archive types: .zip, .tar, .tar.gz, .tgz.
14693
15418
  * @summary Import website from archive
@@ -14711,6 +15436,16 @@ export const AgencyHostingFilesApiFp = function(configuration?: Configuration) {
14711
15436
  export const AgencyHostingFilesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
14712
15437
  const localVarFp = AgencyHostingFilesApiFp(configuration)
14713
15438
  return {
15439
+ /**
15440
+ * Generate a file browser upload URL with authentication credentials for uploading files to an Agency Plan website\'s file storage. Returns `url`, `auth_key` and `rest_auth_key`. Use these to upload a file to the website\'s file storage via the TUS resumable upload protocol (TUS 1.0.0). Send `X-Auth: {auth_key}` and `X-Auth-Rest: {rest_auth_key}` headers on every request below. 1. Create the upload: `POST` to `{url}/{relative_file_path}?override=true` with headers `upload-length: {file size in bytes}` and `upload-offset: 0`. Expect `201 Created`. 2. Upload the file: send the file bytes to the same location (any TUS 1.0.0 client, or `PATCH` requests with an `upload-offset` header tracking progress) until complete. `relative_file_path` is the destination path inside the website\'s file storage, e.g. `app.zip`. Instead of a TUS client, plain `curl` also works: ``` FILE=app.zip SIZE=$(stat -f%z \"$FILE\") # stat -c%s on Linux curl -i -X POST \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Upload-Length: ${SIZE}\" \\ -H \"Upload-Offset: 0\" # -> 201 Created curl -i -X PATCH \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Content-Type: application/offset+octet-stream\" \\ -H \"Upload-Offset: 0\" \\ --data-binary \"@${FILE}\" # -> 204 No Content, Upload-Offset response header equals SIZE when done ```
15441
+ * @summary Generate upload URL
15442
+ * @param {string} websiteUid Agency Plan website UID
15443
+ * @param {*} [options] Override http request option.
15444
+ * @throws {RequiredError}
15445
+ */
15446
+ generateUploadURLV1(websiteUid: string, options?: RawAxiosRequestConfig): AxiosPromise<AgencyHostingV1FilesUploadUrlResource> {
15447
+ return localVarFp.generateUploadURLV1(websiteUid, options).then((request) => request(axios, basePath));
15448
+ },
14714
15449
  /**
14715
15450
  * Imports an Agency Plan website from an already-uploaded archive. Upload the archive to the website\'s root directory via file browser first, then provide its filename in this request. Website contents are overwritten by the archive contents. Supported archive types: .zip, .tar, .tar.gz, .tgz.
14716
15451
  * @summary Import website from archive
@@ -14732,6 +15467,18 @@ export const AgencyHostingFilesApiFactory = function (configuration?: Configurat
14732
15467
  * @extends {BaseAPI}
14733
15468
  */
14734
15469
  export class AgencyHostingFilesApi extends BaseAPI {
15470
+ /**
15471
+ * Generate a file browser upload URL with authentication credentials for uploading files to an Agency Plan website\'s file storage. Returns `url`, `auth_key` and `rest_auth_key`. Use these to upload a file to the website\'s file storage via the TUS resumable upload protocol (TUS 1.0.0). Send `X-Auth: {auth_key}` and `X-Auth-Rest: {rest_auth_key}` headers on every request below. 1. Create the upload: `POST` to `{url}/{relative_file_path}?override=true` with headers `upload-length: {file size in bytes}` and `upload-offset: 0`. Expect `201 Created`. 2. Upload the file: send the file bytes to the same location (any TUS 1.0.0 client, or `PATCH` requests with an `upload-offset` header tracking progress) until complete. `relative_file_path` is the destination path inside the website\'s file storage, e.g. `app.zip`. Instead of a TUS client, plain `curl` also works: ``` FILE=app.zip SIZE=$(stat -f%z \"$FILE\") # stat -c%s on Linux curl -i -X POST \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Upload-Length: ${SIZE}\" \\ -H \"Upload-Offset: 0\" # -> 201 Created curl -i -X PATCH \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Content-Type: application/offset+octet-stream\" \\ -H \"Upload-Offset: 0\" \\ --data-binary \"@${FILE}\" # -> 204 No Content, Upload-Offset response header equals SIZE when done ```
15472
+ * @summary Generate upload URL
15473
+ * @param {string} websiteUid Agency Plan website UID
15474
+ * @param {*} [options] Override http request option.
15475
+ * @throws {RequiredError}
15476
+ * @memberof AgencyHostingFilesApi
15477
+ */
15478
+ public generateUploadURLV1(websiteUid: string, options?: RawAxiosRequestConfig) {
15479
+ return AgencyHostingFilesApiFp(this.configuration).generateUploadURLV1(websiteUid, options).then((request) => request(this.axios, this.basePath));
15480
+ }
15481
+
14735
15482
  /**
14736
15483
  * Imports an Agency Plan website from an already-uploaded archive. Upload the archive to the website\'s root directory via file browser first, then provide its filename in this request. Website contents are overwritten by the archive contents. Supported archive types: .zip, .tar, .tar.gz, .tgz.
14737
15484
  * @summary Import website from archive
@@ -15974,6 +16721,70 @@ export const AgencyHostingWebsitesApiAxiosParamCreator = function (configuration
15974
16721
 
15975
16722
 
15976
16723
 
16724
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
16725
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
16726
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
16727
+
16728
+ return {
16729
+ url: toPathString(localVarUrlObj),
16730
+ options: localVarRequestOptions,
16731
+ };
16732
+ },
16733
+ /**
16734
+ * Retrieve a paginated list of Agency Plan websites (H5G, Builder, and Horizons) accessible to the authenticated client. This endpoint returns websites from your hosting accounts as well as websites from other client hosting accounts that have shared access with you. The response shape differs per platform — see the `platform` field on each item. Use `website_types` to list only websites of a given detected type, e.g. only WordPress websites (`website_types=wordpress`) or only Node.js websites (`website_types=nodejs`). Combine with `order_ids`, `states`, or `domain` for more targeted results.
16735
+ * @summary List Agency Plan websites
16736
+ * @param {number} [page] Page number
16737
+ * @param {number} [perPage] Number of items per page
16738
+ * @param {Array<number> | null} [orderIds] Filter by order IDs. Accepts a comma-separated list.
16739
+ * @param {Array<ListAgencyPlanWebsitesV1StatesEnum>} [states] Filter by website state. Accepts a comma-separated list.
16740
+ * @param {Array<ListAgencyPlanWebsitesV1WebsiteTypesEnum>} [websiteTypes] Filter by detected website type, e.g. wordpress,nodejs. Accepts a comma-separated list.
16741
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
16742
+ * @param {*} [options] Override http request option.
16743
+ * @throws {RequiredError}
16744
+ */
16745
+ listAgencyPlanWebsitesV1: async (page?: number, perPage?: number, orderIds?: Array<number> | null, states?: Array<ListAgencyPlanWebsitesV1StatesEnum>, websiteTypes?: Array<ListAgencyPlanWebsitesV1WebsiteTypesEnum>, domain?: string | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
16746
+ const localVarPath = `/api/agency-hosting/v1/websites`;
16747
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
16748
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
16749
+ let baseOptions;
16750
+ if (configuration) {
16751
+ baseOptions = configuration.baseOptions;
16752
+ }
16753
+
16754
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
16755
+ const localVarHeaderParameter = {} as any;
16756
+ const localVarQueryParameter = {} as any;
16757
+
16758
+ // authentication apiToken required
16759
+ // http bearer authentication required
16760
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
16761
+
16762
+ if (page !== undefined) {
16763
+ localVarQueryParameter['page'] = page;
16764
+ }
16765
+
16766
+ if (perPage !== undefined) {
16767
+ localVarQueryParameter['per_page'] = perPage;
16768
+ }
16769
+
16770
+ if (orderIds) {
16771
+ localVarQueryParameter['order_ids'] = orderIds.join(COLLECTION_FORMATS.csv);
16772
+ }
16773
+
16774
+ if (states) {
16775
+ localVarQueryParameter['states'] = states.join(COLLECTION_FORMATS.csv);
16776
+ }
16777
+
16778
+ if (websiteTypes) {
16779
+ localVarQueryParameter['website_types'] = websiteTypes.join(COLLECTION_FORMATS.csv);
16780
+ }
16781
+
16782
+ if (domain !== undefined) {
16783
+ localVarQueryParameter['domain'] = domain;
16784
+ }
16785
+
16786
+
16787
+
15977
16788
  setSearchParams(localVarUrlObj, localVarQueryParameter);
15978
16789
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
15979
16790
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -16068,6 +16879,23 @@ export const AgencyHostingWebsitesApiFp = function(configuration?: Configuration
16068
16879
  const localVarOperationServerBasePath = operationServerMap['AgencyHostingWebsitesApi.getWebsiteDetailsV1']?.[0]?.url;
16069
16880
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
16070
16881
  },
16882
+ /**
16883
+ * Retrieve a paginated list of Agency Plan websites (H5G, Builder, and Horizons) accessible to the authenticated client. This endpoint returns websites from your hosting accounts as well as websites from other client hosting accounts that have shared access with you. The response shape differs per platform — see the `platform` field on each item. Use `website_types` to list only websites of a given detected type, e.g. only WordPress websites (`website_types=wordpress`) or only Node.js websites (`website_types=nodejs`). Combine with `order_ids`, `states`, or `domain` for more targeted results.
16884
+ * @summary List Agency Plan websites
16885
+ * @param {number} [page] Page number
16886
+ * @param {number} [perPage] Number of items per page
16887
+ * @param {Array<number> | null} [orderIds] Filter by order IDs. Accepts a comma-separated list.
16888
+ * @param {Array<ListAgencyPlanWebsitesV1StatesEnum>} [states] Filter by website state. Accepts a comma-separated list.
16889
+ * @param {Array<ListAgencyPlanWebsitesV1WebsiteTypesEnum>} [websiteTypes] Filter by detected website type, e.g. wordpress,nodejs. Accepts a comma-separated list.
16890
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
16891
+ * @param {*} [options] Override http request option.
16892
+ * @throws {RequiredError}
16893
+ */
16894
+ async listAgencyPlanWebsitesV1(page?: number, perPage?: number, orderIds?: Array<number> | null, states?: Array<ListAgencyPlanWebsitesV1StatesEnum>, websiteTypes?: Array<ListAgencyPlanWebsitesV1WebsiteTypesEnum>, domain?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AgencyHostingListAgencyPlanWebsitesV1200Response>> {
16895
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listAgencyPlanWebsitesV1(page, perPage, orderIds, states, websiteTypes, domain, options);
16896
+ const localVarOperationServerBasePath = operationServerMap['AgencyHostingWebsitesApi.listAgencyPlanWebsitesV1']?.[0]?.url;
16897
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
16898
+ },
16071
16899
  /**
16072
16900
  * Lists active and recently completed asynchronous processes for an Agency Plan website. Each process has a unique ID (for tracking), a type, and a status (running, completed, failed). Poll this endpoint after initiating async operations (SSL setup, backups, cloning) to track progress.
16073
16901
  * @summary List website processes
@@ -16121,6 +16949,21 @@ export const AgencyHostingWebsitesApiFactory = function (configuration?: Configu
16121
16949
  getWebsiteDetailsV1(websiteUid: string, options?: RawAxiosRequestConfig): AxiosPromise<AgencyHostingV1WebsitesWebsiteResource> {
16122
16950
  return localVarFp.getWebsiteDetailsV1(websiteUid, options).then((request) => request(axios, basePath));
16123
16951
  },
16952
+ /**
16953
+ * Retrieve a paginated list of Agency Plan websites (H5G, Builder, and Horizons) accessible to the authenticated client. This endpoint returns websites from your hosting accounts as well as websites from other client hosting accounts that have shared access with you. The response shape differs per platform — see the `platform` field on each item. Use `website_types` to list only websites of a given detected type, e.g. only WordPress websites (`website_types=wordpress`) or only Node.js websites (`website_types=nodejs`). Combine with `order_ids`, `states`, or `domain` for more targeted results.
16954
+ * @summary List Agency Plan websites
16955
+ * @param {number} [page] Page number
16956
+ * @param {number} [perPage] Number of items per page
16957
+ * @param {Array<number> | null} [orderIds] Filter by order IDs. Accepts a comma-separated list.
16958
+ * @param {Array<ListAgencyPlanWebsitesV1StatesEnum>} [states] Filter by website state. Accepts a comma-separated list.
16959
+ * @param {Array<ListAgencyPlanWebsitesV1WebsiteTypesEnum>} [websiteTypes] Filter by detected website type, e.g. wordpress,nodejs. Accepts a comma-separated list.
16960
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
16961
+ * @param {*} [options] Override http request option.
16962
+ * @throws {RequiredError}
16963
+ */
16964
+ listAgencyPlanWebsitesV1(page?: number, perPage?: number, orderIds?: Array<number> | null, states?: Array<ListAgencyPlanWebsitesV1StatesEnum>, websiteTypes?: Array<ListAgencyPlanWebsitesV1WebsiteTypesEnum>, domain?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<AgencyHostingListAgencyPlanWebsitesV1200Response> {
16965
+ return localVarFp.listAgencyPlanWebsitesV1(page, perPage, orderIds, states, websiteTypes, domain, options).then((request) => request(axios, basePath));
16966
+ },
16124
16967
  /**
16125
16968
  * Lists active and recently completed asynchronous processes for an Agency Plan website. Each process has a unique ID (for tracking), a type, and a status (running, completed, failed). Poll this endpoint after initiating async operations (SSL setup, backups, cloning) to track progress.
16126
16969
  * @summary List website processes
@@ -16178,6 +17021,23 @@ export class AgencyHostingWebsitesApi extends BaseAPI {
16178
17021
  return AgencyHostingWebsitesApiFp(this.configuration).getWebsiteDetailsV1(websiteUid, options).then((request) => request(this.axios, this.basePath));
16179
17022
  }
16180
17023
 
17024
+ /**
17025
+ * Retrieve a paginated list of Agency Plan websites (H5G, Builder, and Horizons) accessible to the authenticated client. This endpoint returns websites from your hosting accounts as well as websites from other client hosting accounts that have shared access with you. The response shape differs per platform — see the `platform` field on each item. Use `website_types` to list only websites of a given detected type, e.g. only WordPress websites (`website_types=wordpress`) or only Node.js websites (`website_types=nodejs`). Combine with `order_ids`, `states`, or `domain` for more targeted results.
17026
+ * @summary List Agency Plan websites
17027
+ * @param {number} [page] Page number
17028
+ * @param {number} [perPage] Number of items per page
17029
+ * @param {Array<number> | null} [orderIds] Filter by order IDs. Accepts a comma-separated list.
17030
+ * @param {Array<ListAgencyPlanWebsitesV1StatesEnum>} [states] Filter by website state. Accepts a comma-separated list.
17031
+ * @param {Array<ListAgencyPlanWebsitesV1WebsiteTypesEnum>} [websiteTypes] Filter by detected website type, e.g. wordpress,nodejs. Accepts a comma-separated list.
17032
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
17033
+ * @param {*} [options] Override http request option.
17034
+ * @throws {RequiredError}
17035
+ * @memberof AgencyHostingWebsitesApi
17036
+ */
17037
+ public listAgencyPlanWebsitesV1(page?: number, perPage?: number, orderIds?: Array<number> | null, states?: Array<ListAgencyPlanWebsitesV1StatesEnum>, websiteTypes?: Array<ListAgencyPlanWebsitesV1WebsiteTypesEnum>, domain?: string | null, options?: RawAxiosRequestConfig) {
17038
+ return AgencyHostingWebsitesApiFp(this.configuration).listAgencyPlanWebsitesV1(page, perPage, orderIds, states, websiteTypes, domain, options).then((request) => request(this.axios, this.basePath));
17039
+ }
17040
+
16181
17041
  /**
16182
17042
  * Lists active and recently completed asynchronous processes for an Agency Plan website. Each process has a unique ID (for tracking), a type, and a status (running, completed, failed). Poll this endpoint after initiating async operations (SSL setup, backups, cloning) to track progress.
16183
17043
  * @summary List website processes
@@ -16191,6 +17051,28 @@ export class AgencyHostingWebsitesApi extends BaseAPI {
16191
17051
  }
16192
17052
  }
16193
17053
 
17054
+ /**
17055
+ * @export
17056
+ */
17057
+ export const ListAgencyPlanWebsitesV1StatesEnum = {
17058
+ Active: 'active',
17059
+ Locked: 'locked',
17060
+ Suspended: 'suspended',
17061
+ Deleting: 'deleting',
17062
+ Deleted: 'deleted'
17063
+ } as const;
17064
+ export type ListAgencyPlanWebsitesV1StatesEnum = typeof ListAgencyPlanWebsitesV1StatesEnum[keyof typeof ListAgencyPlanWebsitesV1StatesEnum];
17065
+ /**
17066
+ * @export
17067
+ */
17068
+ export const ListAgencyPlanWebsitesV1WebsiteTypesEnum = {
17069
+ Wordpress: 'wordpress',
17070
+ Builder: 'builder',
17071
+ Horizons: 'horizons',
17072
+ Nodejs: 'nodejs',
17073
+ Other: 'other'
17074
+ } as const;
17075
+ export type ListAgencyPlanWebsitesV1WebsiteTypesEnum = typeof ListAgencyPlanWebsitesV1WebsiteTypesEnum[keyof typeof ListAgencyPlanWebsitesV1WebsiteTypesEnum];
16194
17076
 
16195
17077
 
16196
17078
  /**
@@ -23612,7 +24494,7 @@ export const HostingDatabasesApiAxiosParamCreator = function (configuration?: Co
23612
24494
  * @param {string} username
23613
24495
  * @param {number} [page] Page number
23614
24496
  * @param {number} [perPage] Number of items per page
23615
- * @param {string | null} [domain] Filter by domain name (exact match)
24497
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
23616
24498
  * @param {boolean | null} [isAssigned] When used with domain, return only databases assigned to that domain.
23617
24499
  * @param {string | null} [search] Search databases by name, user, or creation date.
23618
24500
  * @param {*} [options] Override http request option.
@@ -23851,7 +24733,7 @@ export const HostingDatabasesApiFp = function(configuration?: Configuration) {
23851
24733
  * @param {string} username
23852
24734
  * @param {number} [page] Page number
23853
24735
  * @param {number} [perPage] Number of items per page
23854
- * @param {string | null} [domain] Filter by domain name (exact match)
24736
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
23855
24737
  * @param {boolean | null} [isAssigned] When used with domain, return only databases assigned to that domain.
23856
24738
  * @param {string | null} [search] Search databases by name, user, or creation date.
23857
24739
  * @param {*} [options] Override http request option.
@@ -23973,7 +24855,7 @@ export const HostingDatabasesApiFactory = function (configuration?: Configuratio
23973
24855
  * @param {string} username
23974
24856
  * @param {number} [page] Page number
23975
24857
  * @param {number} [perPage] Number of items per page
23976
- * @param {string | null} [domain] Filter by domain name (exact match)
24858
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
23977
24859
  * @param {boolean | null} [isAssigned] When used with domain, return only databases assigned to that domain.
23978
24860
  * @param {string | null} [search] Search databases by name, user, or creation date.
23979
24861
  * @param {*} [options] Override http request option.
@@ -24101,7 +24983,7 @@ export class HostingDatabasesApi extends BaseAPI {
24101
24983
  * @param {string} username
24102
24984
  * @param {number} [page] Page number
24103
24985
  * @param {number} [perPage] Number of items per page
24104
- * @param {string | null} [domain] Filter by domain name (exact match)
24986
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
24105
24987
  * @param {boolean | null} [isAssigned] When used with domain, return only databases assigned to that domain.
24106
24988
  * @param {string | null} [search] Search databases by name, user, or creation date.
24107
24989
  * @param {*} [options] Override http request option.
@@ -24945,6 +25827,46 @@ export class HostingDomainsApi extends BaseAPI {
24945
25827
  */
24946
25828
  export const HostingFilesApiAxiosParamCreator = function (configuration?: Configuration) {
24947
25829
  return {
25830
+ /**
25831
+ * Generate a file browser upload URL with authentication credentials for uploading files directly to a website\'s file storage. Returns `url`, `auth_key` and `rest_auth_key`. Use these to upload a file to the website\'s `public_html` directory via the TUS resumable upload protocol (TUS 1.0.0). Send `X-Auth: {auth_key}` and `X-Auth-Rest: {rest_auth_key}` headers on every request below. 1. Create the upload: `POST` to `{url}/{relative_file_path}?override=true` with headers `upload-length: {file size in bytes}` and `upload-offset: 0`. Expect `201 Created`. 2. Upload the file: send the file bytes to the same location (any TUS 1.0.0 client, or `PATCH` requests with an `upload-offset` header tracking progress) until complete. `relative_file_path` is the destination path inside `public_html`, e.g. `app.zip`. Instead of a TUS client, plain `curl` also works: ``` FILE=app.zip SIZE=$(stat -f%z \"$FILE\") # stat -c%s on Linux curl -i -X POST \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Upload-Length: ${SIZE}\" \\ -H \"Upload-Offset: 0\" # -> 201 Created curl -i -X PATCH \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Content-Type: application/offset+octet-stream\" \\ -H \"Upload-Offset: 0\" \\ --data-binary \"@${FILE}\" # -> 204 No Content, Upload-Offset response header equals SIZE when done ```
25832
+ * @summary Generate upload URL
25833
+ * @param {HostingV1FilesGenerateUploadUrlRequest} hostingV1FilesGenerateUploadUrlRequest
25834
+ * @param {*} [options] Override http request option.
25835
+ * @throws {RequiredError}
25836
+ */
25837
+ generateUploadURLV1: async (hostingV1FilesGenerateUploadUrlRequest: HostingV1FilesGenerateUploadUrlRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
25838
+ // verify required parameter 'hostingV1FilesGenerateUploadUrlRequest' is not null or undefined
25839
+ assertParamExists('generateUploadURLV1', 'hostingV1FilesGenerateUploadUrlRequest', hostingV1FilesGenerateUploadUrlRequest)
25840
+ const localVarPath = `/api/hosting/v1/files/upload-urls`;
25841
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
25842
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
25843
+ let baseOptions;
25844
+ if (configuration) {
25845
+ baseOptions = configuration.baseOptions;
25846
+ }
25847
+
25848
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
25849
+ const localVarHeaderParameter = {} as any;
25850
+ const localVarQueryParameter = {} as any;
25851
+
25852
+ // authentication apiToken required
25853
+ // http bearer authentication required
25854
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
25855
+
25856
+
25857
+
25858
+ localVarHeaderParameter['Content-Type'] = 'application/json';
25859
+
25860
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
25861
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
25862
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
25863
+ localVarRequestOptions.data = serializeDataIfNeeded(hostingV1FilesGenerateUploadUrlRequest, localVarRequestOptions, configuration)
25864
+
25865
+ return {
25866
+ url: toPathString(localVarUrlObj),
25867
+ options: localVarRequestOptions,
25868
+ };
25869
+ },
24948
25870
  /**
24949
25871
  * Get a single file\'s content, relative to a website\'s document root. Read-only; refuses symlinks, oversized files, non-text file types, and files identified as containing secrets (e.g. credential files) — none of these are returned by this endpoint.
24950
25872
  * @summary Get website file content
@@ -25081,6 +26003,18 @@ export const HostingFilesApiAxiosParamCreator = function (configuration?: Config
25081
26003
  export const HostingFilesApiFp = function(configuration?: Configuration) {
25082
26004
  const localVarAxiosParamCreator = HostingFilesApiAxiosParamCreator(configuration)
25083
26005
  return {
26006
+ /**
26007
+ * Generate a file browser upload URL with authentication credentials for uploading files directly to a website\'s file storage. Returns `url`, `auth_key` and `rest_auth_key`. Use these to upload a file to the website\'s `public_html` directory via the TUS resumable upload protocol (TUS 1.0.0). Send `X-Auth: {auth_key}` and `X-Auth-Rest: {rest_auth_key}` headers on every request below. 1. Create the upload: `POST` to `{url}/{relative_file_path}?override=true` with headers `upload-length: {file size in bytes}` and `upload-offset: 0`. Expect `201 Created`. 2. Upload the file: send the file bytes to the same location (any TUS 1.0.0 client, or `PATCH` requests with an `upload-offset` header tracking progress) until complete. `relative_file_path` is the destination path inside `public_html`, e.g. `app.zip`. Instead of a TUS client, plain `curl` also works: ``` FILE=app.zip SIZE=$(stat -f%z \"$FILE\") # stat -c%s on Linux curl -i -X POST \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Upload-Length: ${SIZE}\" \\ -H \"Upload-Offset: 0\" # -> 201 Created curl -i -X PATCH \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Content-Type: application/offset+octet-stream\" \\ -H \"Upload-Offset: 0\" \\ --data-binary \"@${FILE}\" # -> 204 No Content, Upload-Offset response header equals SIZE when done ```
26008
+ * @summary Generate upload URL
26009
+ * @param {HostingV1FilesGenerateUploadUrlRequest} hostingV1FilesGenerateUploadUrlRequest
26010
+ * @param {*} [options] Override http request option.
26011
+ * @throws {RequiredError}
26012
+ */
26013
+ async generateUploadURLV1(hostingV1FilesGenerateUploadUrlRequest: HostingV1FilesGenerateUploadUrlRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<HostingV1FilesUploadUrlResource>> {
26014
+ const localVarAxiosArgs = await localVarAxiosParamCreator.generateUploadURLV1(hostingV1FilesGenerateUploadUrlRequest, options);
26015
+ const localVarOperationServerBasePath = operationServerMap['HostingFilesApi.generateUploadURLV1']?.[0]?.url;
26016
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
26017
+ },
25084
26018
  /**
25085
26019
  * Get a single file\'s content, relative to a website\'s document root. Read-only; refuses symlinks, oversized files, non-text file types, and files identified as containing secrets (e.g. credential files) — none of these are returned by this endpoint.
25086
26020
  * @summary Get website file content
@@ -25125,6 +26059,16 @@ export const HostingFilesApiFp = function(configuration?: Configuration) {
25125
26059
  export const HostingFilesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
25126
26060
  const localVarFp = HostingFilesApiFp(configuration)
25127
26061
  return {
26062
+ /**
26063
+ * Generate a file browser upload URL with authentication credentials for uploading files directly to a website\'s file storage. Returns `url`, `auth_key` and `rest_auth_key`. Use these to upload a file to the website\'s `public_html` directory via the TUS resumable upload protocol (TUS 1.0.0). Send `X-Auth: {auth_key}` and `X-Auth-Rest: {rest_auth_key}` headers on every request below. 1. Create the upload: `POST` to `{url}/{relative_file_path}?override=true` with headers `upload-length: {file size in bytes}` and `upload-offset: 0`. Expect `201 Created`. 2. Upload the file: send the file bytes to the same location (any TUS 1.0.0 client, or `PATCH` requests with an `upload-offset` header tracking progress) until complete. `relative_file_path` is the destination path inside `public_html`, e.g. `app.zip`. Instead of a TUS client, plain `curl` also works: ``` FILE=app.zip SIZE=$(stat -f%z \"$FILE\") # stat -c%s on Linux curl -i -X POST \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Upload-Length: ${SIZE}\" \\ -H \"Upload-Offset: 0\" # -> 201 Created curl -i -X PATCH \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Content-Type: application/offset+octet-stream\" \\ -H \"Upload-Offset: 0\" \\ --data-binary \"@${FILE}\" # -> 204 No Content, Upload-Offset response header equals SIZE when done ```
26064
+ * @summary Generate upload URL
26065
+ * @param {HostingV1FilesGenerateUploadUrlRequest} hostingV1FilesGenerateUploadUrlRequest
26066
+ * @param {*} [options] Override http request option.
26067
+ * @throws {RequiredError}
26068
+ */
26069
+ generateUploadURLV1(hostingV1FilesGenerateUploadUrlRequest: HostingV1FilesGenerateUploadUrlRequest, options?: RawAxiosRequestConfig): AxiosPromise<HostingV1FilesUploadUrlResource> {
26070
+ return localVarFp.generateUploadURLV1(hostingV1FilesGenerateUploadUrlRequest, options).then((request) => request(axios, basePath));
26071
+ },
25128
26072
  /**
25129
26073
  * Get a single file\'s content, relative to a website\'s document root. Read-only; refuses symlinks, oversized files, non-text file types, and files identified as containing secrets (e.g. credential files) — none of these are returned by this endpoint.
25130
26074
  * @summary Get website file content
@@ -25165,6 +26109,18 @@ export const HostingFilesApiFactory = function (configuration?: Configuration, b
25165
26109
  * @extends {BaseAPI}
25166
26110
  */
25167
26111
  export class HostingFilesApi extends BaseAPI {
26112
+ /**
26113
+ * Generate a file browser upload URL with authentication credentials for uploading files directly to a website\'s file storage. Returns `url`, `auth_key` and `rest_auth_key`. Use these to upload a file to the website\'s `public_html` directory via the TUS resumable upload protocol (TUS 1.0.0). Send `X-Auth: {auth_key}` and `X-Auth-Rest: {rest_auth_key}` headers on every request below. 1. Create the upload: `POST` to `{url}/{relative_file_path}?override=true` with headers `upload-length: {file size in bytes}` and `upload-offset: 0`. Expect `201 Created`. 2. Upload the file: send the file bytes to the same location (any TUS 1.0.0 client, or `PATCH` requests with an `upload-offset` header tracking progress) until complete. `relative_file_path` is the destination path inside `public_html`, e.g. `app.zip`. Instead of a TUS client, plain `curl` also works: ``` FILE=app.zip SIZE=$(stat -f%z \"$FILE\") # stat -c%s on Linux curl -i -X POST \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Upload-Length: ${SIZE}\" \\ -H \"Upload-Offset: 0\" # -> 201 Created curl -i -X PATCH \"{url}/${FILE}?override=true\" \\ -H \"X-Auth: {auth_key}\" \\ -H \"X-Auth-Rest: {rest_auth_key}\" \\ -H \"Tus-Resumable: 1.0.0\" \\ -H \"Content-Type: application/offset+octet-stream\" \\ -H \"Upload-Offset: 0\" \\ --data-binary \"@${FILE}\" # -> 204 No Content, Upload-Offset response header equals SIZE when done ```
26114
+ * @summary Generate upload URL
26115
+ * @param {HostingV1FilesGenerateUploadUrlRequest} hostingV1FilesGenerateUploadUrlRequest
26116
+ * @param {*} [options] Override http request option.
26117
+ * @throws {RequiredError}
26118
+ * @memberof HostingFilesApi
26119
+ */
26120
+ public generateUploadURLV1(hostingV1FilesGenerateUploadUrlRequest: HostingV1FilesGenerateUploadUrlRequest, options?: RawAxiosRequestConfig) {
26121
+ return HostingFilesApiFp(this.configuration).generateUploadURLV1(hostingV1FilesGenerateUploadUrlRequest, options).then((request) => request(this.axios, this.basePath));
26122
+ }
26123
+
25168
26124
  /**
25169
26125
  * Get a single file\'s content, relative to a website\'s document root. Read-only; refuses symlinks, oversized files, non-text file types, and files identified as containing secrets (e.g. credential files) — none of these are returned by this endpoint.
25170
26126
  * @summary Get website file content
@@ -25219,7 +26175,7 @@ export type ListWebsiteFilesAndDirectoriesV1FileTypesEnum = typeof ListWebsiteFi
25219
26175
  export const HostingNodeJSApiAxiosParamCreator = function (configuration?: Configuration) {
25220
26176
  return {
25221
26177
  /**
25222
- * Upload a project archive, auto-detect build settings, and immediately start a Node.js build. This is the recommended single-step approach for deploying a Node.js application. The archive is uploaded to the website\'s file storage, build settings are auto-detected from the package.json inside the archive, and the build process starts automatically. Optional override fields take precedence over auto-detected values. Maximum archive size is 50MB. Before archiving, exclude `node_modules/` and any build output directories (e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build process runs the install step automatically, and including them unnecessarily increases the archive size. This also helps keep the archive well under the 50MB limit. Example (zip): ``` zip -r archive.zip . --exclude \"node_modules/_*\" --exclude \"dist/_*\" ``` The returned build `uuid` can be used to poll progress and retrieve logs via the `Get Node.js Build Logs` endpoint.
26178
+ * Upload a project archive, auto-detect build settings, and immediately start a Node.js build. WARNING: on success this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. This is the recommended single-step approach for deploying a Node.js application. The archive is uploaded to the website\'s file storage, build settings are auto-detected from the package.json inside the archive, and the build process starts automatically. Optional override fields take precedence over auto-detected values. Maximum archive size is 50MB. Before archiving, exclude `node_modules/` and any build output directories (e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build process runs the install step automatically, and including them unnecessarily increases the archive size. This also helps keep the archive well under the 50MB limit. Example (zip): ``` zip -r archive.zip . --exclude \"node_modules/_*\" --exclude \"dist/_*\" ``` The returned build `uuid` can be used to poll progress and retrieve logs via the `Get Node.js Build Logs` endpoint.
25223
26179
  * @summary Create NodeJS build from archive
25224
26180
  * @param {string} username
25225
26181
  * @param {string} domain Domain name
@@ -25308,6 +26264,55 @@ export const HostingNodeJSApiAxiosParamCreator = function (configuration?: Confi
25308
26264
 
25309
26265
 
25310
26266
 
26267
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
26268
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
26269
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
26270
+
26271
+ return {
26272
+ url: toPathString(localVarUrlObj),
26273
+ options: localVarRequestOptions,
26274
+ };
26275
+ },
26276
+ /**
26277
+ * Auto-detect Node.js build settings from a package.json inside an archive already on the server. Use this before calling `Start Node.js Build` to preview what settings will be used, or to let the user review and override values (framework, node version, root directory, output directory, build script) before committing to a build. The archive must already be present on the website\'s file storage. Use the `Generate Upload URL` endpoint to obtain credentials and upload the archive first. To upload an archive and start a build in one step without inspecting settings first, use the `Create Node.js Build from Archive` endpoint instead.
26278
+ * @summary Get Node.js build settings from archive
26279
+ * @param {string} username
26280
+ * @param {string} domain Domain name
26281
+ * @param {string} archivePath The path to the archive file relative to the document root of the vhost
26282
+ * @param {*} [options] Override http request option.
26283
+ * @throws {RequiredError}
26284
+ */
26285
+ getNodeJsBuildSettingsFromArchiveV1: async (username: string, domain: string, archivePath: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
26286
+ // verify required parameter 'username' is not null or undefined
26287
+ assertParamExists('getNodeJsBuildSettingsFromArchiveV1', 'username', username)
26288
+ // verify required parameter 'domain' is not null or undefined
26289
+ assertParamExists('getNodeJsBuildSettingsFromArchiveV1', 'domain', domain)
26290
+ // verify required parameter 'archivePath' is not null or undefined
26291
+ assertParamExists('getNodeJsBuildSettingsFromArchiveV1', 'archivePath', archivePath)
26292
+ const localVarPath = `/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/settings/from-archive`
26293
+ .replace(`{${"username"}}`, encodeURIComponent(String(username)))
26294
+ .replace(`{${"domain"}}`, encodeURIComponent(String(domain)));
26295
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
26296
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
26297
+ let baseOptions;
26298
+ if (configuration) {
26299
+ baseOptions = configuration.baseOptions;
26300
+ }
26301
+
26302
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
26303
+ const localVarHeaderParameter = {} as any;
26304
+ const localVarQueryParameter = {} as any;
26305
+
26306
+ // authentication apiToken required
26307
+ // http bearer authentication required
26308
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
26309
+
26310
+ if (archivePath !== undefined) {
26311
+ localVarQueryParameter['archive_path'] = archivePath;
26312
+ }
26313
+
26314
+
26315
+
25311
26316
  setSearchParams(localVarUrlObj, localVarQueryParameter);
25312
26317
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
25313
26318
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -25506,6 +26511,54 @@ export const HostingNodeJSApiAxiosParamCreator = function (configuration?: Confi
25506
26511
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
25507
26512
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
25508
26513
 
26514
+ return {
26515
+ url: toPathString(localVarUrlObj),
26516
+ options: localVarRequestOptions,
26517
+ };
26518
+ },
26519
+ /**
26520
+ * Start a Node.js build process using files already present on the website\'s file storage. WARNING: on success this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. The `source_type` must be `archive` and `source_options.archive_path` must point to an existing archive file on the server (relative to the website document root). Use the `Generate Upload URL` endpoint to obtain credentials and upload the archive first. To auto-detect build settings from an archive before starting, first call the `Get Node.js Build Settings from Archive` endpoint. To upload an archive and start a build in one step, use the `Create Node.js Build from Archive` endpoint instead. The returned build `uuid` can be used to poll progress and retrieve logs via the `Get Node.js Build Logs` endpoint.
26521
+ * @summary Start Node.js build
26522
+ * @param {string} username
26523
+ * @param {string} domain Domain name
26524
+ * @param {HostingV1NodeJsStartBuildRequest} hostingV1NodeJsStartBuildRequest
26525
+ * @param {*} [options] Override http request option.
26526
+ * @throws {RequiredError}
26527
+ */
26528
+ startNodeJsBuildV1: async (username: string, domain: string, hostingV1NodeJsStartBuildRequest: HostingV1NodeJsStartBuildRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
26529
+ // verify required parameter 'username' is not null or undefined
26530
+ assertParamExists('startNodeJsBuildV1', 'username', username)
26531
+ // verify required parameter 'domain' is not null or undefined
26532
+ assertParamExists('startNodeJsBuildV1', 'domain', domain)
26533
+ // verify required parameter 'hostingV1NodeJsStartBuildRequest' is not null or undefined
26534
+ assertParamExists('startNodeJsBuildV1', 'hostingV1NodeJsStartBuildRequest', hostingV1NodeJsStartBuildRequest)
26535
+ const localVarPath = `/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds`
26536
+ .replace(`{${"username"}}`, encodeURIComponent(String(username)))
26537
+ .replace(`{${"domain"}}`, encodeURIComponent(String(domain)));
26538
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
26539
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
26540
+ let baseOptions;
26541
+ if (configuration) {
26542
+ baseOptions = configuration.baseOptions;
26543
+ }
26544
+
26545
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
26546
+ const localVarHeaderParameter = {} as any;
26547
+ const localVarQueryParameter = {} as any;
26548
+
26549
+ // authentication apiToken required
26550
+ // http bearer authentication required
26551
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
26552
+
26553
+
26554
+
26555
+ localVarHeaderParameter['Content-Type'] = 'application/json';
26556
+
26557
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
26558
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
26559
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
26560
+ localVarRequestOptions.data = serializeDataIfNeeded(hostingV1NodeJsStartBuildRequest, localVarRequestOptions, configuration)
26561
+
25509
26562
  return {
25510
26563
  url: toPathString(localVarUrlObj),
25511
26564
  options: localVarRequestOptions,
@@ -25522,7 +26575,7 @@ export const HostingNodeJSApiFp = function(configuration?: Configuration) {
25522
26575
  const localVarAxiosParamCreator = HostingNodeJSApiAxiosParamCreator(configuration)
25523
26576
  return {
25524
26577
  /**
25525
- * Upload a project archive, auto-detect build settings, and immediately start a Node.js build. This is the recommended single-step approach for deploying a Node.js application. The archive is uploaded to the website\'s file storage, build settings are auto-detected from the package.json inside the archive, and the build process starts automatically. Optional override fields take precedence over auto-detected values. Maximum archive size is 50MB. Before archiving, exclude `node_modules/` and any build output directories (e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build process runs the install step automatically, and including them unnecessarily increases the archive size. This also helps keep the archive well under the 50MB limit. Example (zip): ``` zip -r archive.zip . --exclude \"node_modules/_*\" --exclude \"dist/_*\" ``` The returned build `uuid` can be used to poll progress and retrieve logs via the `Get Node.js Build Logs` endpoint.
26578
+ * Upload a project archive, auto-detect build settings, and immediately start a Node.js build. WARNING: on success this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. This is the recommended single-step approach for deploying a Node.js application. The archive is uploaded to the website\'s file storage, build settings are auto-detected from the package.json inside the archive, and the build process starts automatically. Optional override fields take precedence over auto-detected values. Maximum archive size is 50MB. Before archiving, exclude `node_modules/` and any build output directories (e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build process runs the install step automatically, and including them unnecessarily increases the archive size. This also helps keep the archive well under the 50MB limit. Example (zip): ``` zip -r archive.zip . --exclude \"node_modules/_*\" --exclude \"dist/_*\" ``` The returned build `uuid` can be used to poll progress and retrieve logs via the `Get Node.js Build Logs` endpoint.
25526
26579
  * @summary Create NodeJS build from archive
25527
26580
  * @param {string} username
25528
26581
  * @param {string} domain Domain name
@@ -25550,6 +26603,20 @@ export const HostingNodeJSApiFp = function(configuration?: Configuration) {
25550
26603
  const localVarOperationServerBasePath = operationServerMap['HostingNodeJSApi.getNodeJSBuildLogsV1']?.[0]?.url;
25551
26604
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
25552
26605
  },
26606
+ /**
26607
+ * Auto-detect Node.js build settings from a package.json inside an archive already on the server. Use this before calling `Start Node.js Build` to preview what settings will be used, or to let the user review and override values (framework, node version, root directory, output directory, build script) before committing to a build. The archive must already be present on the website\'s file storage. Use the `Generate Upload URL` endpoint to obtain credentials and upload the archive first. To upload an archive and start a build in one step without inspecting settings first, use the `Create Node.js Build from Archive` endpoint instead.
26608
+ * @summary Get Node.js build settings from archive
26609
+ * @param {string} username
26610
+ * @param {string} domain Domain name
26611
+ * @param {string} archivePath The path to the archive file relative to the document root of the vhost
26612
+ * @param {*} [options] Override http request option.
26613
+ * @throws {RequiredError}
26614
+ */
26615
+ async getNodeJsBuildSettingsFromArchiveV1(username: string, domain: string, archivePath: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<HostingV1NodeJsBuildSettingsResource>> {
26616
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getNodeJsBuildSettingsFromArchiveV1(username, domain, archivePath, options);
26617
+ const localVarOperationServerBasePath = operationServerMap['HostingNodeJSApi.getNodeJsBuildSettingsFromArchiveV1']?.[0]?.url;
26618
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
26619
+ },
25553
26620
  /**
25554
26621
  * Retrieve a paginated list of Node.js build processes for a specific website. Each build represents a single run of the Node.js build pipeline. Use the `states` query parameter to filter results by build state (pending, running, completed, failed). Use the `uuid` from a build to poll its output via the `Get Node.js Build Logs` endpoint.
25555
26622
  * @summary List NodeJS builds
@@ -25607,6 +26674,20 @@ export const HostingNodeJSApiFp = function(configuration?: Configuration) {
25607
26674
  const localVarOperationServerBasePath = operationServerMap['HostingNodeJSApi.restartNodeJsApplicationV1']?.[0]?.url;
25608
26675
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
25609
26676
  },
26677
+ /**
26678
+ * Start a Node.js build process using files already present on the website\'s file storage. WARNING: on success this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. The `source_type` must be `archive` and `source_options.archive_path` must point to an existing archive file on the server (relative to the website document root). Use the `Generate Upload URL` endpoint to obtain credentials and upload the archive first. To auto-detect build settings from an archive before starting, first call the `Get Node.js Build Settings from Archive` endpoint. To upload an archive and start a build in one step, use the `Create Node.js Build from Archive` endpoint instead. The returned build `uuid` can be used to poll progress and retrieve logs via the `Get Node.js Build Logs` endpoint.
26679
+ * @summary Start Node.js build
26680
+ * @param {string} username
26681
+ * @param {string} domain Domain name
26682
+ * @param {HostingV1NodeJsStartBuildRequest} hostingV1NodeJsStartBuildRequest
26683
+ * @param {*} [options] Override http request option.
26684
+ * @throws {RequiredError}
26685
+ */
26686
+ async startNodeJsBuildV1(username: string, domain: string, hostingV1NodeJsStartBuildRequest: HostingV1NodeJsStartBuildRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<HostingV1NodeJsBuildResource>> {
26687
+ const localVarAxiosArgs = await localVarAxiosParamCreator.startNodeJsBuildV1(username, domain, hostingV1NodeJsStartBuildRequest, options);
26688
+ const localVarOperationServerBasePath = operationServerMap['HostingNodeJSApi.startNodeJsBuildV1']?.[0]?.url;
26689
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
26690
+ },
25610
26691
  }
25611
26692
  };
25612
26693
 
@@ -25618,7 +26699,7 @@ export const HostingNodeJSApiFactory = function (configuration?: Configuration,
25618
26699
  const localVarFp = HostingNodeJSApiFp(configuration)
25619
26700
  return {
25620
26701
  /**
25621
- * Upload a project archive, auto-detect build settings, and immediately start a Node.js build. This is the recommended single-step approach for deploying a Node.js application. The archive is uploaded to the website\'s file storage, build settings are auto-detected from the package.json inside the archive, and the build process starts automatically. Optional override fields take precedence over auto-detected values. Maximum archive size is 50MB. Before archiving, exclude `node_modules/` and any build output directories (e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build process runs the install step automatically, and including them unnecessarily increases the archive size. This also helps keep the archive well under the 50MB limit. Example (zip): ``` zip -r archive.zip . --exclude \"node_modules/_*\" --exclude \"dist/_*\" ``` The returned build `uuid` can be used to poll progress and retrieve logs via the `Get Node.js Build Logs` endpoint.
26702
+ * Upload a project archive, auto-detect build settings, and immediately start a Node.js build. WARNING: on success this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. This is the recommended single-step approach for deploying a Node.js application. The archive is uploaded to the website\'s file storage, build settings are auto-detected from the package.json inside the archive, and the build process starts automatically. Optional override fields take precedence over auto-detected values. Maximum archive size is 50MB. Before archiving, exclude `node_modules/` and any build output directories (e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build process runs the install step automatically, and including them unnecessarily increases the archive size. This also helps keep the archive well under the 50MB limit. Example (zip): ``` zip -r archive.zip . --exclude \"node_modules/_*\" --exclude \"dist/_*\" ``` The returned build `uuid` can be used to poll progress and retrieve logs via the `Get Node.js Build Logs` endpoint.
25622
26703
  * @summary Create NodeJS build from archive
25623
26704
  * @param {string} username
25624
26705
  * @param {string} domain Domain name
@@ -25642,6 +26723,18 @@ export const HostingNodeJSApiFactory = function (configuration?: Configuration,
25642
26723
  getNodeJSBuildLogsV1(username: string, domain: string, uuid: string, fromLine?: number | null, options?: RawAxiosRequestConfig): AxiosPromise<HostingV1NodeJsBuildLogsResource> {
25643
26724
  return localVarFp.getNodeJSBuildLogsV1(username, domain, uuid, fromLine, options).then((request) => request(axios, basePath));
25644
26725
  },
26726
+ /**
26727
+ * Auto-detect Node.js build settings from a package.json inside an archive already on the server. Use this before calling `Start Node.js Build` to preview what settings will be used, or to let the user review and override values (framework, node version, root directory, output directory, build script) before committing to a build. The archive must already be present on the website\'s file storage. Use the `Generate Upload URL` endpoint to obtain credentials and upload the archive first. To upload an archive and start a build in one step without inspecting settings first, use the `Create Node.js Build from Archive` endpoint instead.
26728
+ * @summary Get Node.js build settings from archive
26729
+ * @param {string} username
26730
+ * @param {string} domain Domain name
26731
+ * @param {string} archivePath The path to the archive file relative to the document root of the vhost
26732
+ * @param {*} [options] Override http request option.
26733
+ * @throws {RequiredError}
26734
+ */
26735
+ getNodeJsBuildSettingsFromArchiveV1(username: string, domain: string, archivePath: string, options?: RawAxiosRequestConfig): AxiosPromise<HostingV1NodeJsBuildSettingsResource> {
26736
+ return localVarFp.getNodeJsBuildSettingsFromArchiveV1(username, domain, archivePath, options).then((request) => request(axios, basePath));
26737
+ },
25645
26738
  /**
25646
26739
  * Retrieve a paginated list of Node.js build processes for a specific website. Each build represents a single run of the Node.js build pipeline. Use the `states` query parameter to filter results by build state (pending, running, completed, failed). Use the `uuid` from a build to poll its output via the `Get Node.js Build Logs` endpoint.
25647
26740
  * @summary List NodeJS builds
@@ -25691,6 +26784,18 @@ export const HostingNodeJSApiFactory = function (configuration?: Configuration,
25691
26784
  restartNodeJsApplicationV1(username: string, domain: string, options?: RawAxiosRequestConfig): AxiosPromise<CommonSuccessEmptyResource> {
25692
26785
  return localVarFp.restartNodeJsApplicationV1(username, domain, options).then((request) => request(axios, basePath));
25693
26786
  },
26787
+ /**
26788
+ * Start a Node.js build process using files already present on the website\'s file storage. WARNING: on success this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. The `source_type` must be `archive` and `source_options.archive_path` must point to an existing archive file on the server (relative to the website document root). Use the `Generate Upload URL` endpoint to obtain credentials and upload the archive first. To auto-detect build settings from an archive before starting, first call the `Get Node.js Build Settings from Archive` endpoint. To upload an archive and start a build in one step, use the `Create Node.js Build from Archive` endpoint instead. The returned build `uuid` can be used to poll progress and retrieve logs via the `Get Node.js Build Logs` endpoint.
26789
+ * @summary Start Node.js build
26790
+ * @param {string} username
26791
+ * @param {string} domain Domain name
26792
+ * @param {HostingV1NodeJsStartBuildRequest} hostingV1NodeJsStartBuildRequest
26793
+ * @param {*} [options] Override http request option.
26794
+ * @throws {RequiredError}
26795
+ */
26796
+ startNodeJsBuildV1(username: string, domain: string, hostingV1NodeJsStartBuildRequest: HostingV1NodeJsStartBuildRequest, options?: RawAxiosRequestConfig): AxiosPromise<HostingV1NodeJsBuildResource> {
26797
+ return localVarFp.startNodeJsBuildV1(username, domain, hostingV1NodeJsStartBuildRequest, options).then((request) => request(axios, basePath));
26798
+ },
25694
26799
  };
25695
26800
  };
25696
26801
 
@@ -25702,7 +26807,7 @@ export const HostingNodeJSApiFactory = function (configuration?: Configuration,
25702
26807
  */
25703
26808
  export class HostingNodeJSApi extends BaseAPI {
25704
26809
  /**
25705
- * Upload a project archive, auto-detect build settings, and immediately start a Node.js build. This is the recommended single-step approach for deploying a Node.js application. The archive is uploaded to the website\'s file storage, build settings are auto-detected from the package.json inside the archive, and the build process starts automatically. Optional override fields take precedence over auto-detected values. Maximum archive size is 50MB. Before archiving, exclude `node_modules/` and any build output directories (e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build process runs the install step automatically, and including them unnecessarily increases the archive size. This also helps keep the archive well under the 50MB limit. Example (zip): ``` zip -r archive.zip . --exclude \"node_modules/_*\" --exclude \"dist/_*\" ``` The returned build `uuid` can be used to poll progress and retrieve logs via the `Get Node.js Build Logs` endpoint.
26810
+ * Upload a project archive, auto-detect build settings, and immediately start a Node.js build. WARNING: on success this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. This is the recommended single-step approach for deploying a Node.js application. The archive is uploaded to the website\'s file storage, build settings are auto-detected from the package.json inside the archive, and the build process starts automatically. Optional override fields take precedence over auto-detected values. Maximum archive size is 50MB. Before archiving, exclude `node_modules/` and any build output directories (e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build process runs the install step automatically, and including them unnecessarily increases the archive size. This also helps keep the archive well under the 50MB limit. Example (zip): ``` zip -r archive.zip . --exclude \"node_modules/_*\" --exclude \"dist/_*\" ``` The returned build `uuid` can be used to poll progress and retrieve logs via the `Get Node.js Build Logs` endpoint.
25706
26811
  * @summary Create NodeJS build from archive
25707
26812
  * @param {string} username
25708
26813
  * @param {string} domain Domain name
@@ -25730,6 +26835,20 @@ export class HostingNodeJSApi extends BaseAPI {
25730
26835
  return HostingNodeJSApiFp(this.configuration).getNodeJSBuildLogsV1(username, domain, uuid, fromLine, options).then((request) => request(this.axios, this.basePath));
25731
26836
  }
25732
26837
 
26838
+ /**
26839
+ * Auto-detect Node.js build settings from a package.json inside an archive already on the server. Use this before calling `Start Node.js Build` to preview what settings will be used, or to let the user review and override values (framework, node version, root directory, output directory, build script) before committing to a build. The archive must already be present on the website\'s file storage. Use the `Generate Upload URL` endpoint to obtain credentials and upload the archive first. To upload an archive and start a build in one step without inspecting settings first, use the `Create Node.js Build from Archive` endpoint instead.
26840
+ * @summary Get Node.js build settings from archive
26841
+ * @param {string} username
26842
+ * @param {string} domain Domain name
26843
+ * @param {string} archivePath The path to the archive file relative to the document root of the vhost
26844
+ * @param {*} [options] Override http request option.
26845
+ * @throws {RequiredError}
26846
+ * @memberof HostingNodeJSApi
26847
+ */
26848
+ public getNodeJsBuildSettingsFromArchiveV1(username: string, domain: string, archivePath: string, options?: RawAxiosRequestConfig) {
26849
+ return HostingNodeJSApiFp(this.configuration).getNodeJsBuildSettingsFromArchiveV1(username, domain, archivePath, options).then((request) => request(this.axios, this.basePath));
26850
+ }
26851
+
25733
26852
  /**
25734
26853
  * Retrieve a paginated list of Node.js build processes for a specific website. Each build represents a single run of the Node.js build pipeline. Use the `states` query parameter to filter results by build state (pending, running, completed, failed). Use the `uuid` from a build to poll its output via the `Get Node.js Build Logs` endpoint.
25735
26854
  * @summary List NodeJS builds
@@ -25786,6 +26905,20 @@ export class HostingNodeJSApi extends BaseAPI {
25786
26905
  public restartNodeJsApplicationV1(username: string, domain: string, options?: RawAxiosRequestConfig) {
25787
26906
  return HostingNodeJSApiFp(this.configuration).restartNodeJsApplicationV1(username, domain, options).then((request) => request(this.axios, this.basePath));
25788
26907
  }
26908
+
26909
+ /**
26910
+ * Start a Node.js build process using files already present on the website\'s file storage. WARNING: on success this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. The `source_type` must be `archive` and `source_options.archive_path` must point to an existing archive file on the server (relative to the website document root). Use the `Generate Upload URL` endpoint to obtain credentials and upload the archive first. To auto-detect build settings from an archive before starting, first call the `Get Node.js Build Settings from Archive` endpoint. To upload an archive and start a build in one step, use the `Create Node.js Build from Archive` endpoint instead. The returned build `uuid` can be used to poll progress and retrieve logs via the `Get Node.js Build Logs` endpoint.
26911
+ * @summary Start Node.js build
26912
+ * @param {string} username
26913
+ * @param {string} domain Domain name
26914
+ * @param {HostingV1NodeJsStartBuildRequest} hostingV1NodeJsStartBuildRequest
26915
+ * @param {*} [options] Override http request option.
26916
+ * @throws {RequiredError}
26917
+ * @memberof HostingNodeJSApi
26918
+ */
26919
+ public startNodeJsBuildV1(username: string, domain: string, hostingV1NodeJsStartBuildRequest: HostingV1NodeJsStartBuildRequest, options?: RawAxiosRequestConfig) {
26920
+ return HostingNodeJSApiFp(this.configuration).startNodeJsBuildV1(username, domain, hostingV1NodeJsStartBuildRequest, options).then((request) => request(this.axios, this.basePath));
26921
+ }
25789
26922
  }
25790
26923
 
25791
26924
  /**
@@ -26893,18 +28026,67 @@ export const HostingWebsitesApiAxiosParamCreator = function (configuration?: Con
26893
28026
  };
26894
28027
  },
26895
28028
  /**
26896
- * Retrieve a paginated list of websites (CloudLinux, Builder, and Horizons) accessible to the authenticated client. This endpoint returns websites from your hosting accounts as well as websites from other client hosting accounts that have shared access with you. Each website includes a `website_type` field describing the type of website detected on the underlying platform (`wordpress`, `builder`, `horizons`, `nodejs`, or `other`). Some fields, such as `vhost_type`, `username`, and `root_directory`, only apply to CloudLinux websites and are null for other platforms. Use the available query parameters to filter results by username, order ID, enabled status, or domain name for more targeted results.
28029
+ * Deploy a static application from an archive file. WARNING: this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. This endpoint allows you to deploy a static application from an archive file that has been uploaded to the website\'s directory. This only works for static sites (pre-built HTML/CSS/JS with no build step). For Node.js applications, use `Create NodeJS build from archive` instead, or `Start Node.js build` if the archive is already uploaded. For WordPress sites, use `Import WordPress website`.
28030
+ * @summary Deploy static site archive
28031
+ * @param {string} username
28032
+ * @param {string} domain Domain name
28033
+ * @param {HostingV1WebsitesDeployArchiveRequest} hostingV1WebsitesDeployArchiveRequest
28034
+ * @param {*} [options] Override http request option.
28035
+ * @throws {RequiredError}
28036
+ */
28037
+ deployStaticSiteArchiveV1: async (username: string, domain: string, hostingV1WebsitesDeployArchiveRequest: HostingV1WebsitesDeployArchiveRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
28038
+ // verify required parameter 'username' is not null or undefined
28039
+ assertParamExists('deployStaticSiteArchiveV1', 'username', username)
28040
+ // verify required parameter 'domain' is not null or undefined
28041
+ assertParamExists('deployStaticSiteArchiveV1', 'domain', domain)
28042
+ // verify required parameter 'hostingV1WebsitesDeployArchiveRequest' is not null or undefined
28043
+ assertParamExists('deployStaticSiteArchiveV1', 'hostingV1WebsitesDeployArchiveRequest', hostingV1WebsitesDeployArchiveRequest)
28044
+ const localVarPath = `/api/hosting/v1/accounts/{username}/websites/{domain}/deploy`
28045
+ .replace(`{${"username"}}`, encodeURIComponent(String(username)))
28046
+ .replace(`{${"domain"}}`, encodeURIComponent(String(domain)));
28047
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
28048
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
28049
+ let baseOptions;
28050
+ if (configuration) {
28051
+ baseOptions = configuration.baseOptions;
28052
+ }
28053
+
28054
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
28055
+ const localVarHeaderParameter = {} as any;
28056
+ const localVarQueryParameter = {} as any;
28057
+
28058
+ // authentication apiToken required
28059
+ // http bearer authentication required
28060
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
28061
+
28062
+
28063
+
28064
+ localVarHeaderParameter['Content-Type'] = 'application/json';
28065
+
28066
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
28067
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
28068
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
28069
+ localVarRequestOptions.data = serializeDataIfNeeded(hostingV1WebsitesDeployArchiveRequest, localVarRequestOptions, configuration)
28070
+
28071
+ return {
28072
+ url: toPathString(localVarUrlObj),
28073
+ options: localVarRequestOptions,
28074
+ };
28075
+ },
28076
+ /**
28077
+ * Retrieve a paginated list of websites (CloudLinux, Builder, and Horizons) accessible to the authenticated client. This endpoint returns websites from your hosting accounts as well as websites from other client hosting accounts that have shared access with you. Each website includes a `website_type` field describing the type of website detected on the underlying platform (`wordpress`, `builder`, `horizons`, `nodejs`, or `other`). Some fields, such as `vhost_type`, `username`, and `root_directory`, only apply to CloudLinux websites and are null for other platforms. Use `website_types` to list only websites of a given detected type, e.g. only WordPress websites (`website_types=wordpress`) or only Node.js websites (`website_types=nodejs`). Combine with the other available query parameters to filter by username, order ID, enabled status, or domain name for more targeted results.
26897
28078
  * @summary List websites
26898
28079
  * @param {number} [page] Page number
26899
28080
  * @param {number} [perPage] Number of items per page
26900
28081
  * @param {string | null} [username] Filter by specific username
26901
28082
  * @param {number | null} [orderId] Order ID
26902
28083
  * @param {boolean | null} [isEnabled] Filter by enabled status
26903
- * @param {string | null} [domain] Filter by domain name (exact match)
28084
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
28085
+ * @param {Array<ListWebsitesV1WebsiteTypesEnum>} [websiteTypes] Filter by detected website type, e.g. wordpress,nodejs. Accepts a comma-separated list.
26904
28086
  * @param {*} [options] Override http request option.
26905
28087
  * @throws {RequiredError}
26906
28088
  */
26907
- listWebsitesV1: async (page?: number, perPage?: number, username?: string | null, orderId?: number | null, isEnabled?: boolean | null, domain?: string | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
28089
+ listWebsitesV1: async (page?: number, perPage?: number, username?: string | null, orderId?: number | null, isEnabled?: boolean | null, domain?: string | null, websiteTypes?: Array<ListWebsitesV1WebsiteTypesEnum>, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
26908
28090
  const localVarPath = `/api/hosting/v1/websites`;
26909
28091
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
26910
28092
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -26945,6 +28127,10 @@ export const HostingWebsitesApiAxiosParamCreator = function (configuration?: Con
26945
28127
  localVarQueryParameter['domain'] = domain;
26946
28128
  }
26947
28129
 
28130
+ if (websiteTypes) {
28131
+ localVarQueryParameter['website_types'] = websiteTypes.join(COLLECTION_FORMATS.csv);
28132
+ }
28133
+
26948
28134
 
26949
28135
 
26950
28136
  setSearchParams(localVarUrlObj, localVarQueryParameter);
@@ -26991,19 +28177,34 @@ export const HostingWebsitesApiFp = function(configuration?: Configuration) {
26991
28177
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
26992
28178
  },
26993
28179
  /**
26994
- * Retrieve a paginated list of websites (CloudLinux, Builder, and Horizons) accessible to the authenticated client. This endpoint returns websites from your hosting accounts as well as websites from other client hosting accounts that have shared access with you. Each website includes a `website_type` field describing the type of website detected on the underlying platform (`wordpress`, `builder`, `horizons`, `nodejs`, or `other`). Some fields, such as `vhost_type`, `username`, and `root_directory`, only apply to CloudLinux websites and are null for other platforms. Use the available query parameters to filter results by username, order ID, enabled status, or domain name for more targeted results.
28180
+ * Deploy a static application from an archive file. WARNING: this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. This endpoint allows you to deploy a static application from an archive file that has been uploaded to the website\'s directory. This only works for static sites (pre-built HTML/CSS/JS with no build step). For Node.js applications, use `Create NodeJS build from archive` instead, or `Start Node.js build` if the archive is already uploaded. For WordPress sites, use `Import WordPress website`.
28181
+ * @summary Deploy static site archive
28182
+ * @param {string} username
28183
+ * @param {string} domain Domain name
28184
+ * @param {HostingV1WebsitesDeployArchiveRequest} hostingV1WebsitesDeployArchiveRequest
28185
+ * @param {*} [options] Override http request option.
28186
+ * @throws {RequiredError}
28187
+ */
28188
+ async deployStaticSiteArchiveV1(username: string, domain: string, hostingV1WebsitesDeployArchiveRequest: HostingV1WebsitesDeployArchiveRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CommonSuccessEmptyResource>> {
28189
+ const localVarAxiosArgs = await localVarAxiosParamCreator.deployStaticSiteArchiveV1(username, domain, hostingV1WebsitesDeployArchiveRequest, options);
28190
+ const localVarOperationServerBasePath = operationServerMap['HostingWebsitesApi.deployStaticSiteArchiveV1']?.[0]?.url;
28191
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
28192
+ },
28193
+ /**
28194
+ * Retrieve a paginated list of websites (CloudLinux, Builder, and Horizons) accessible to the authenticated client. This endpoint returns websites from your hosting accounts as well as websites from other client hosting accounts that have shared access with you. Each website includes a `website_type` field describing the type of website detected on the underlying platform (`wordpress`, `builder`, `horizons`, `nodejs`, or `other`). Some fields, such as `vhost_type`, `username`, and `root_directory`, only apply to CloudLinux websites and are null for other platforms. Use `website_types` to list only websites of a given detected type, e.g. only WordPress websites (`website_types=wordpress`) or only Node.js websites (`website_types=nodejs`). Combine with the other available query parameters to filter by username, order ID, enabled status, or domain name for more targeted results.
26995
28195
  * @summary List websites
26996
28196
  * @param {number} [page] Page number
26997
28197
  * @param {number} [perPage] Number of items per page
26998
28198
  * @param {string | null} [username] Filter by specific username
26999
28199
  * @param {number | null} [orderId] Order ID
27000
28200
  * @param {boolean | null} [isEnabled] Filter by enabled status
27001
- * @param {string | null} [domain] Filter by domain name (exact match)
28201
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
28202
+ * @param {Array<ListWebsitesV1WebsiteTypesEnum>} [websiteTypes] Filter by detected website type, e.g. wordpress,nodejs. Accepts a comma-separated list.
27002
28203
  * @param {*} [options] Override http request option.
27003
28204
  * @throws {RequiredError}
27004
28205
  */
27005
- async listWebsitesV1(page?: number, perPage?: number, username?: string | null, orderId?: number | null, isEnabled?: boolean | null, domain?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<HostingListWebsitesV1200Response>> {
27006
- const localVarAxiosArgs = await localVarAxiosParamCreator.listWebsitesV1(page, perPage, username, orderId, isEnabled, domain, options);
28206
+ async listWebsitesV1(page?: number, perPage?: number, username?: string | null, orderId?: number | null, isEnabled?: boolean | null, domain?: string | null, websiteTypes?: Array<ListWebsitesV1WebsiteTypesEnum>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<HostingListWebsitesV1200Response>> {
28207
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listWebsitesV1(page, perPage, username, orderId, isEnabled, domain, websiteTypes, options);
27007
28208
  const localVarOperationServerBasePath = operationServerMap['HostingWebsitesApi.listWebsitesV1']?.[0]?.url;
27008
28209
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
27009
28210
  },
@@ -27038,19 +28239,32 @@ export const HostingWebsitesApiFactory = function (configuration?: Configuration
27038
28239
  return localVarFp.deleteWebsiteV1(domain, options).then((request) => request(axios, basePath));
27039
28240
  },
27040
28241
  /**
27041
- * Retrieve a paginated list of websites (CloudLinux, Builder, and Horizons) accessible to the authenticated client. This endpoint returns websites from your hosting accounts as well as websites from other client hosting accounts that have shared access with you. Each website includes a `website_type` field describing the type of website detected on the underlying platform (`wordpress`, `builder`, `horizons`, `nodejs`, or `other`). Some fields, such as `vhost_type`, `username`, and `root_directory`, only apply to CloudLinux websites and are null for other platforms. Use the available query parameters to filter results by username, order ID, enabled status, or domain name for more targeted results.
28242
+ * Deploy a static application from an archive file. WARNING: this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. This endpoint allows you to deploy a static application from an archive file that has been uploaded to the website\'s directory. This only works for static sites (pre-built HTML/CSS/JS with no build step). For Node.js applications, use `Create NodeJS build from archive` instead, or `Start Node.js build` if the archive is already uploaded. For WordPress sites, use `Import WordPress website`.
28243
+ * @summary Deploy static site archive
28244
+ * @param {string} username
28245
+ * @param {string} domain Domain name
28246
+ * @param {HostingV1WebsitesDeployArchiveRequest} hostingV1WebsitesDeployArchiveRequest
28247
+ * @param {*} [options] Override http request option.
28248
+ * @throws {RequiredError}
28249
+ */
28250
+ deployStaticSiteArchiveV1(username: string, domain: string, hostingV1WebsitesDeployArchiveRequest: HostingV1WebsitesDeployArchiveRequest, options?: RawAxiosRequestConfig): AxiosPromise<CommonSuccessEmptyResource> {
28251
+ return localVarFp.deployStaticSiteArchiveV1(username, domain, hostingV1WebsitesDeployArchiveRequest, options).then((request) => request(axios, basePath));
28252
+ },
28253
+ /**
28254
+ * Retrieve a paginated list of websites (CloudLinux, Builder, and Horizons) accessible to the authenticated client. This endpoint returns websites from your hosting accounts as well as websites from other client hosting accounts that have shared access with you. Each website includes a `website_type` field describing the type of website detected on the underlying platform (`wordpress`, `builder`, `horizons`, `nodejs`, or `other`). Some fields, such as `vhost_type`, `username`, and `root_directory`, only apply to CloudLinux websites and are null for other platforms. Use `website_types` to list only websites of a given detected type, e.g. only WordPress websites (`website_types=wordpress`) or only Node.js websites (`website_types=nodejs`). Combine with the other available query parameters to filter by username, order ID, enabled status, or domain name for more targeted results.
27042
28255
  * @summary List websites
27043
28256
  * @param {number} [page] Page number
27044
28257
  * @param {number} [perPage] Number of items per page
27045
28258
  * @param {string | null} [username] Filter by specific username
27046
28259
  * @param {number | null} [orderId] Order ID
27047
28260
  * @param {boolean | null} [isEnabled] Filter by enabled status
27048
- * @param {string | null} [domain] Filter by domain name (exact match)
28261
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
28262
+ * @param {Array<ListWebsitesV1WebsiteTypesEnum>} [websiteTypes] Filter by detected website type, e.g. wordpress,nodejs. Accepts a comma-separated list.
27049
28263
  * @param {*} [options] Override http request option.
27050
28264
  * @throws {RequiredError}
27051
28265
  */
27052
- listWebsitesV1(page?: number, perPage?: number, username?: string | null, orderId?: number | null, isEnabled?: boolean | null, domain?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<HostingListWebsitesV1200Response> {
27053
- return localVarFp.listWebsitesV1(page, perPage, username, orderId, isEnabled, domain, options).then((request) => request(axios, basePath));
28266
+ listWebsitesV1(page?: number, perPage?: number, username?: string | null, orderId?: number | null, isEnabled?: boolean | null, domain?: string | null, websiteTypes?: Array<ListWebsitesV1WebsiteTypesEnum>, options?: RawAxiosRequestConfig): AxiosPromise<HostingListWebsitesV1200Response> {
28267
+ return localVarFp.listWebsitesV1(page, perPage, username, orderId, isEnabled, domain, websiteTypes, options).then((request) => request(axios, basePath));
27054
28268
  },
27055
28269
  };
27056
28270
  };
@@ -27087,23 +28301,49 @@ export class HostingWebsitesApi extends BaseAPI {
27087
28301
  }
27088
28302
 
27089
28303
  /**
27090
- * Retrieve a paginated list of websites (CloudLinux, Builder, and Horizons) accessible to the authenticated client. This endpoint returns websites from your hosting accounts as well as websites from other client hosting accounts that have shared access with you. Each website includes a `website_type` field describing the type of website detected on the underlying platform (`wordpress`, `builder`, `horizons`, `nodejs`, or `other`). Some fields, such as `vhost_type`, `username`, and `root_directory`, only apply to CloudLinux websites and are null for other platforms. Use the available query parameters to filter results by username, order ID, enabled status, or domain name for more targeted results.
28304
+ * Deploy a static application from an archive file. WARNING: this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. This endpoint allows you to deploy a static application from an archive file that has been uploaded to the website\'s directory. This only works for static sites (pre-built HTML/CSS/JS with no build step). For Node.js applications, use `Create NodeJS build from archive` instead, or `Start Node.js build` if the archive is already uploaded. For WordPress sites, use `Import WordPress website`.
28305
+ * @summary Deploy static site archive
28306
+ * @param {string} username
28307
+ * @param {string} domain Domain name
28308
+ * @param {HostingV1WebsitesDeployArchiveRequest} hostingV1WebsitesDeployArchiveRequest
28309
+ * @param {*} [options] Override http request option.
28310
+ * @throws {RequiredError}
28311
+ * @memberof HostingWebsitesApi
28312
+ */
28313
+ public deployStaticSiteArchiveV1(username: string, domain: string, hostingV1WebsitesDeployArchiveRequest: HostingV1WebsitesDeployArchiveRequest, options?: RawAxiosRequestConfig) {
28314
+ return HostingWebsitesApiFp(this.configuration).deployStaticSiteArchiveV1(username, domain, hostingV1WebsitesDeployArchiveRequest, options).then((request) => request(this.axios, this.basePath));
28315
+ }
28316
+
28317
+ /**
28318
+ * Retrieve a paginated list of websites (CloudLinux, Builder, and Horizons) accessible to the authenticated client. This endpoint returns websites from your hosting accounts as well as websites from other client hosting accounts that have shared access with you. Each website includes a `website_type` field describing the type of website detected on the underlying platform (`wordpress`, `builder`, `horizons`, `nodejs`, or `other`). Some fields, such as `vhost_type`, `username`, and `root_directory`, only apply to CloudLinux websites and are null for other platforms. Use `website_types` to list only websites of a given detected type, e.g. only WordPress websites (`website_types=wordpress`) or only Node.js websites (`website_types=nodejs`). Combine with the other available query parameters to filter by username, order ID, enabled status, or domain name for more targeted results.
27091
28319
  * @summary List websites
27092
28320
  * @param {number} [page] Page number
27093
28321
  * @param {number} [perPage] Number of items per page
27094
28322
  * @param {string | null} [username] Filter by specific username
27095
28323
  * @param {number | null} [orderId] Order ID
27096
28324
  * @param {boolean | null} [isEnabled] Filter by enabled status
27097
- * @param {string | null} [domain] Filter by domain name (exact match)
28325
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
28326
+ * @param {Array<ListWebsitesV1WebsiteTypesEnum>} [websiteTypes] Filter by detected website type, e.g. wordpress,nodejs. Accepts a comma-separated list.
27098
28327
  * @param {*} [options] Override http request option.
27099
28328
  * @throws {RequiredError}
27100
28329
  * @memberof HostingWebsitesApi
27101
28330
  */
27102
- public listWebsitesV1(page?: number, perPage?: number, username?: string | null, orderId?: number | null, isEnabled?: boolean | null, domain?: string | null, options?: RawAxiosRequestConfig) {
27103
- return HostingWebsitesApiFp(this.configuration).listWebsitesV1(page, perPage, username, orderId, isEnabled, domain, options).then((request) => request(this.axios, this.basePath));
28331
+ public listWebsitesV1(page?: number, perPage?: number, username?: string | null, orderId?: number | null, isEnabled?: boolean | null, domain?: string | null, websiteTypes?: Array<ListWebsitesV1WebsiteTypesEnum>, options?: RawAxiosRequestConfig) {
28332
+ return HostingWebsitesApiFp(this.configuration).listWebsitesV1(page, perPage, username, orderId, isEnabled, domain, websiteTypes, options).then((request) => request(this.axios, this.basePath));
27104
28333
  }
27105
28334
  }
27106
28335
 
28336
+ /**
28337
+ * @export
28338
+ */
28339
+ export const ListWebsitesV1WebsiteTypesEnum = {
28340
+ Wordpress: 'wordpress',
28341
+ Builder: 'builder',
28342
+ Horizons: 'horizons',
28343
+ Nodejs: 'nodejs',
28344
+ Other: 'other'
28345
+ } as const;
28346
+ export type ListWebsitesV1WebsiteTypesEnum = typeof ListWebsitesV1WebsiteTypesEnum[keyof typeof ListWebsitesV1WebsiteTypesEnum];
27107
28347
 
27108
28348
 
27109
28349
  /**
@@ -40696,6 +41936,54 @@ export const WordPressInstallationsApiAxiosParamCreator = function (configuratio
40696
41936
  options: localVarRequestOptions,
40697
41937
  };
40698
41938
  },
41939
+ /**
41940
+ * Import WordPress website to the specified domain. WARNING: this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. This endpoint allows you to import a WordPress website from archive and database files that have been uploaded to the website\'s directory.
41941
+ * @summary Import WordPress website
41942
+ * @param {string} username
41943
+ * @param {string} domain Domain name
41944
+ * @param {WordPressV1InstallationsImportWordPressRequest} wordPressV1InstallationsImportWordPressRequest
41945
+ * @param {*} [options] Override http request option.
41946
+ * @throws {RequiredError}
41947
+ */
41948
+ importWordPressWebsiteV1: async (username: string, domain: string, wordPressV1InstallationsImportWordPressRequest: WordPressV1InstallationsImportWordPressRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
41949
+ // verify required parameter 'username' is not null or undefined
41950
+ assertParamExists('importWordPressWebsiteV1', 'username', username)
41951
+ // verify required parameter 'domain' is not null or undefined
41952
+ assertParamExists('importWordPressWebsiteV1', 'domain', domain)
41953
+ // verify required parameter 'wordPressV1InstallationsImportWordPressRequest' is not null or undefined
41954
+ assertParamExists('importWordPressWebsiteV1', 'wordPressV1InstallationsImportWordPressRequest', wordPressV1InstallationsImportWordPressRequest)
41955
+ const localVarPath = `/api/hosting/v1/accounts/{username}/websites/{domain}/wordpress/import`
41956
+ .replace(`{${"username"}}`, encodeURIComponent(String(username)))
41957
+ .replace(`{${"domain"}}`, encodeURIComponent(String(domain)));
41958
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
41959
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
41960
+ let baseOptions;
41961
+ if (configuration) {
41962
+ baseOptions = configuration.baseOptions;
41963
+ }
41964
+
41965
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
41966
+ const localVarHeaderParameter = {} as any;
41967
+ const localVarQueryParameter = {} as any;
41968
+
41969
+ // authentication apiToken required
41970
+ // http bearer authentication required
41971
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
41972
+
41973
+
41974
+
41975
+ localVarHeaderParameter['Content-Type'] = 'application/json';
41976
+
41977
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
41978
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
41979
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
41980
+ localVarRequestOptions.data = serializeDataIfNeeded(wordPressV1InstallationsImportWordPressRequest, localVarRequestOptions, configuration)
41981
+
41982
+ return {
41983
+ url: toPathString(localVarUrlObj),
41984
+ options: localVarRequestOptions,
41985
+ };
41986
+ },
40699
41987
  /**
40700
41988
  * Install WordPress on an existing website. The website must already exist before calling this endpoint. To create a new website first, use POST /api/hosting/v1/websites and poll GET /api/hosting/v1/websites until it appears. Call GET /api/hosting/v1/wordpress/installations filtered by username and domain before proceeding to check whether WordPress is already installed on the target domain/path. If WordPress already exists and `overwrite` is false (the default), the async job will fail. This operation is asynchronous: a successful response only means the install job has been queued, not that WordPress is ready. Installation typically takes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations filtered by username and domain to track progress. When the installation appears in that list, WordPress is ready.
40701
41989
  * @summary Install WordPress
@@ -40786,7 +42074,7 @@ export const WordPressInstallationsApiAxiosParamCreator = function (configuratio
40786
42074
  * List WordPress installations accessible to the authenticated client. Use this endpoint to discover existing WordPress installations and to poll for installation status after calling the install endpoint. When a newly requested installation appears in this list, WordPress is ready. Filter by username and domain to narrow results to a specific website. Each installation includes a `valid` flag and, when invalid, a `validationError` describing why.
40787
42075
  * @summary List WordPress installations
40788
42076
  * @param {string | null} [username] Filter by specific username
40789
- * @param {string | null} [domain] Filter by domain name (exact match)
42077
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
40790
42078
  * @param {ListWordPressInstallationsV1OwnershipEnum} [ownership] Filter by ownership type. Defaults to \&quot;owned\&quot;. Use \&quot;all\&quot; to include both owned and managed installations.
40791
42079
  * @param {*} [options] Override http request option.
40792
42080
  * @throws {RequiredError}
@@ -40983,6 +42271,20 @@ export const WordPressInstallationsApiFp = function(configuration?: Configuratio
40983
42271
  const localVarOperationServerBasePath = operationServerMap['WordPressInstallationsApi.getInstallationJWTTokenV1']?.[0]?.url;
40984
42272
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
40985
42273
  },
42274
+ /**
42275
+ * Import WordPress website to the specified domain. WARNING: this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. This endpoint allows you to import a WordPress website from archive and database files that have been uploaded to the website\'s directory.
42276
+ * @summary Import WordPress website
42277
+ * @param {string} username
42278
+ * @param {string} domain Domain name
42279
+ * @param {WordPressV1InstallationsImportWordPressRequest} wordPressV1InstallationsImportWordPressRequest
42280
+ * @param {*} [options] Override http request option.
42281
+ * @throws {RequiredError}
42282
+ */
42283
+ async importWordPressWebsiteV1(username: string, domain: string, wordPressV1InstallationsImportWordPressRequest: WordPressV1InstallationsImportWordPressRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CommonSuccessEmptyResource>> {
42284
+ const localVarAxiosArgs = await localVarAxiosParamCreator.importWordPressWebsiteV1(username, domain, wordPressV1InstallationsImportWordPressRequest, options);
42285
+ const localVarOperationServerBasePath = operationServerMap['WordPressInstallationsApi.importWordPressWebsiteV1']?.[0]?.url;
42286
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
42287
+ },
40986
42288
  /**
40987
42289
  * Install WordPress on an existing website. The website must already exist before calling this endpoint. To create a new website first, use POST /api/hosting/v1/websites and poll GET /api/hosting/v1/websites until it appears. Call GET /api/hosting/v1/wordpress/installations filtered by username and domain before proceeding to check whether WordPress is already installed on the target domain/path. If WordPress already exists and `overwrite` is false (the default), the async job will fail. This operation is asynchronous: a successful response only means the install job has been queued, not that WordPress is ready. Installation typically takes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations filtered by username and domain to track progress. When the installation appears in that list, WordPress is ready.
40988
42290
  * @summary Install WordPress
@@ -41013,7 +42315,7 @@ export const WordPressInstallationsApiFp = function(configuration?: Configuratio
41013
42315
  * List WordPress installations accessible to the authenticated client. Use this endpoint to discover existing WordPress installations and to poll for installation status after calling the install endpoint. When a newly requested installation appears in this list, WordPress is ready. Filter by username and domain to narrow results to a specific website. Each installation includes a `valid` flag and, when invalid, a `validationError` describing why.
41014
42316
  * @summary List WordPress installations
41015
42317
  * @param {string | null} [username] Filter by specific username
41016
- * @param {string | null} [domain] Filter by domain name (exact match)
42318
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
41017
42319
  * @param {ListWordPressInstallationsV1OwnershipEnum} [ownership] Filter by ownership type. Defaults to \&quot;owned\&quot;. Use \&quot;all\&quot; to include both owned and managed installations.
41018
42320
  * @param {*} [options] Override http request option.
41019
42321
  * @throws {RequiredError}
@@ -41104,6 +42406,18 @@ export const WordPressInstallationsApiFactory = function (configuration?: Config
41104
42406
  getInstallationJWTTokenV1(username: string, software: string, options?: RawAxiosRequestConfig): AxiosPromise<WordPressV1InstallationsJwtTokenResource> {
41105
42407
  return localVarFp.getInstallationJWTTokenV1(username, software, options).then((request) => request(axios, basePath));
41106
42408
  },
42409
+ /**
42410
+ * Import WordPress website to the specified domain. WARNING: this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. This endpoint allows you to import a WordPress website from archive and database files that have been uploaded to the website\'s directory.
42411
+ * @summary Import WordPress website
42412
+ * @param {string} username
42413
+ * @param {string} domain Domain name
42414
+ * @param {WordPressV1InstallationsImportWordPressRequest} wordPressV1InstallationsImportWordPressRequest
42415
+ * @param {*} [options] Override http request option.
42416
+ * @throws {RequiredError}
42417
+ */
42418
+ importWordPressWebsiteV1(username: string, domain: string, wordPressV1InstallationsImportWordPressRequest: WordPressV1InstallationsImportWordPressRequest, options?: RawAxiosRequestConfig): AxiosPromise<CommonSuccessEmptyResource> {
42419
+ return localVarFp.importWordPressWebsiteV1(username, domain, wordPressV1InstallationsImportWordPressRequest, options).then((request) => request(axios, basePath));
42420
+ },
41107
42421
  /**
41108
42422
  * Install WordPress on an existing website. The website must already exist before calling this endpoint. To create a new website first, use POST /api/hosting/v1/websites and poll GET /api/hosting/v1/websites until it appears. Call GET /api/hosting/v1/wordpress/installations filtered by username and domain before proceeding to check whether WordPress is already installed on the target domain/path. If WordPress already exists and `overwrite` is false (the default), the async job will fail. This operation is asynchronous: a successful response only means the install job has been queued, not that WordPress is ready. Installation typically takes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations filtered by username and domain to track progress. When the installation appears in that list, WordPress is ready.
41109
42423
  * @summary Install WordPress
@@ -41130,7 +42444,7 @@ export const WordPressInstallationsApiFactory = function (configuration?: Config
41130
42444
  * List WordPress installations accessible to the authenticated client. Use this endpoint to discover existing WordPress installations and to poll for installation status after calling the install endpoint. When a newly requested installation appears in this list, WordPress is ready. Filter by username and domain to narrow results to a specific website. Each installation includes a `valid` flag and, when invalid, a `validationError` describing why.
41131
42445
  * @summary List WordPress installations
41132
42446
  * @param {string | null} [username] Filter by specific username
41133
- * @param {string | null} [domain] Filter by domain name (exact match)
42447
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
41134
42448
  * @param {ListWordPressInstallationsV1OwnershipEnum} [ownership] Filter by ownership type. Defaults to \&quot;owned\&quot;. Use \&quot;all\&quot; to include both owned and managed installations.
41135
42449
  * @param {*} [options] Override http request option.
41136
42450
  * @throws {RequiredError}
@@ -41223,6 +42537,20 @@ export class WordPressInstallationsApi extends BaseAPI {
41223
42537
  return WordPressInstallationsApiFp(this.configuration).getInstallationJWTTokenV1(username, software, options).then((request) => request(this.axios, this.basePath));
41224
42538
  }
41225
42539
 
42540
+ /**
42541
+ * Import WordPress website to the specified domain. WARNING: this overwrites the website\'s existing contents and cannot be undone — verify this is intended before calling this endpoint. This endpoint allows you to import a WordPress website from archive and database files that have been uploaded to the website\'s directory.
42542
+ * @summary Import WordPress website
42543
+ * @param {string} username
42544
+ * @param {string} domain Domain name
42545
+ * @param {WordPressV1InstallationsImportWordPressRequest} wordPressV1InstallationsImportWordPressRequest
42546
+ * @param {*} [options] Override http request option.
42547
+ * @throws {RequiredError}
42548
+ * @memberof WordPressInstallationsApi
42549
+ */
42550
+ public importWordPressWebsiteV1(username: string, domain: string, wordPressV1InstallationsImportWordPressRequest: WordPressV1InstallationsImportWordPressRequest, options?: RawAxiosRequestConfig) {
42551
+ return WordPressInstallationsApiFp(this.configuration).importWordPressWebsiteV1(username, domain, wordPressV1InstallationsImportWordPressRequest, options).then((request) => request(this.axios, this.basePath));
42552
+ }
42553
+
41226
42554
  /**
41227
42555
  * Install WordPress on an existing website. The website must already exist before calling this endpoint. To create a new website first, use POST /api/hosting/v1/websites and poll GET /api/hosting/v1/websites until it appears. Call GET /api/hosting/v1/wordpress/installations filtered by username and domain before proceeding to check whether WordPress is already installed on the target domain/path. If WordPress already exists and `overwrite` is false (the default), the async job will fail. This operation is asynchronous: a successful response only means the install job has been queued, not that WordPress is ready. Installation typically takes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations filtered by username and domain to track progress. When the installation appears in that list, WordPress is ready.
41228
42556
  * @summary Install WordPress
@@ -41253,7 +42581,7 @@ export class WordPressInstallationsApi extends BaseAPI {
41253
42581
  * List WordPress installations accessible to the authenticated client. Use this endpoint to discover existing WordPress installations and to poll for installation status after calling the install endpoint. When a newly requested installation appears in this list, WordPress is ready. Filter by username and domain to narrow results to a specific website. Each installation includes a `valid` flag and, when invalid, a `validationError` describing why.
41254
42582
  * @summary List WordPress installations
41255
42583
  * @param {string | null} [username] Filter by specific username
41256
- * @param {string | null} [domain] Filter by domain name (exact match)
42584
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
41257
42585
  * @param {ListWordPressInstallationsV1OwnershipEnum} [ownership] Filter by ownership type. Defaults to \&quot;owned\&quot;. Use \&quot;all\&quot; to include both owned and managed installations.
41258
42586
  * @param {*} [options] Override http request option.
41259
42587
  * @throws {RequiredError}
@@ -42086,7 +43414,7 @@ export const WordPressPluginsApiAxiosParamCreator = function (configuration?: Co
42086
43414
  /**
42087
43415
  * Check whether WooCommerce is installed on any WordPress installation of a domain. Optionally filter by domain to scope the check.
42088
43416
  * @summary Check if WooCommerce is installed
42089
- * @param {string | null} [domain] Filter by domain name (exact match)
43417
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
42090
43418
  * @param {*} [options] Override http request option.
42091
43419
  * @throws {RequiredError}
42092
43420
  */
@@ -42170,6 +43498,54 @@ export const WordPressPluginsApiAxiosParamCreator = function (configuration?: Co
42170
43498
  options: localVarRequestOptions,
42171
43499
  };
42172
43500
  },
43501
+ /**
43502
+ * Deploy a WordPress plugin from an already uploaded directory. This endpoint allows you to deploy a WordPress plugin that has been uploaded to the website\'s directory. The plugin will be activated and made available in the WordPress admin panel.
43503
+ * @summary Deploy WordPress plugin
43504
+ * @param {string} username
43505
+ * @param {string} domain Domain name
43506
+ * @param {WordPressV1PluginsDeployPluginRequest} wordPressV1PluginsDeployPluginRequest
43507
+ * @param {*} [options] Override http request option.
43508
+ * @throws {RequiredError}
43509
+ */
43510
+ deployWordPressPluginV1: async (username: string, domain: string, wordPressV1PluginsDeployPluginRequest: WordPressV1PluginsDeployPluginRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
43511
+ // verify required parameter 'username' is not null or undefined
43512
+ assertParamExists('deployWordPressPluginV1', 'username', username)
43513
+ // verify required parameter 'domain' is not null or undefined
43514
+ assertParamExists('deployWordPressPluginV1', 'domain', domain)
43515
+ // verify required parameter 'wordPressV1PluginsDeployPluginRequest' is not null or undefined
43516
+ assertParamExists('deployWordPressPluginV1', 'wordPressV1PluginsDeployPluginRequest', wordPressV1PluginsDeployPluginRequest)
43517
+ const localVarPath = `/api/hosting/v1/accounts/{username}/websites/{domain}/wordpress/plugins/deploy`
43518
+ .replace(`{${"username"}}`, encodeURIComponent(String(username)))
43519
+ .replace(`{${"domain"}}`, encodeURIComponent(String(domain)));
43520
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
43521
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
43522
+ let baseOptions;
43523
+ if (configuration) {
43524
+ baseOptions = configuration.baseOptions;
43525
+ }
43526
+
43527
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
43528
+ const localVarHeaderParameter = {} as any;
43529
+ const localVarQueryParameter = {} as any;
43530
+
43531
+ // authentication apiToken required
43532
+ // http bearer authentication required
43533
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
43534
+
43535
+
43536
+
43537
+ localVarHeaderParameter['Content-Type'] = 'application/json';
43538
+
43539
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
43540
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
43541
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
43542
+ localVarRequestOptions.data = serializeDataIfNeeded(wordPressV1PluginsDeployPluginRequest, localVarRequestOptions, configuration)
43543
+
43544
+ return {
43545
+ url: toPathString(localVarUrlObj),
43546
+ options: localVarRequestOptions,
43547
+ };
43548
+ },
42173
43549
  /**
42174
43550
  * Install one or more plugins on an existing WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). Use GET /api/hosting/v1/wordpress/plugins to discover the plugin slugs available for installation. This operation is asynchronous: a successful response only means the install job has been queued, not that the plugins are ready.
42175
43551
  * @summary Install WordPress plugins
@@ -42558,7 +43934,7 @@ export const WordPressPluginsApiFp = function(configuration?: Configuration) {
42558
43934
  /**
42559
43935
  * Check whether WooCommerce is installed on any WordPress installation of a domain. Optionally filter by domain to scope the check.
42560
43936
  * @summary Check if WooCommerce is installed
42561
- * @param {string | null} [domain] Filter by domain name (exact match)
43937
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
42562
43938
  * @param {*} [options] Override http request option.
42563
43939
  * @throws {RequiredError}
42564
43940
  */
@@ -42581,6 +43957,20 @@ export const WordPressPluginsApiFp = function(configuration?: Configuration) {
42581
43957
  const localVarOperationServerBasePath = operationServerMap['WordPressPluginsApi.deactivateWordPressPluginV1']?.[0]?.url;
42582
43958
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
42583
43959
  },
43960
+ /**
43961
+ * Deploy a WordPress plugin from an already uploaded directory. This endpoint allows you to deploy a WordPress plugin that has been uploaded to the website\'s directory. The plugin will be activated and made available in the WordPress admin panel.
43962
+ * @summary Deploy WordPress plugin
43963
+ * @param {string} username
43964
+ * @param {string} domain Domain name
43965
+ * @param {WordPressV1PluginsDeployPluginRequest} wordPressV1PluginsDeployPluginRequest
43966
+ * @param {*} [options] Override http request option.
43967
+ * @throws {RequiredError}
43968
+ */
43969
+ async deployWordPressPluginV1(username: string, domain: string, wordPressV1PluginsDeployPluginRequest: WordPressV1PluginsDeployPluginRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CommonSuccessEmptyResource>> {
43970
+ const localVarAxiosArgs = await localVarAxiosParamCreator.deployWordPressPluginV1(username, domain, wordPressV1PluginsDeployPluginRequest, options);
43971
+ const localVarOperationServerBasePath = operationServerMap['WordPressPluginsApi.deployWordPressPluginV1']?.[0]?.url;
43972
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
43973
+ },
42584
43974
  /**
42585
43975
  * Install one or more plugins on an existing WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). Use GET /api/hosting/v1/wordpress/plugins to discover the plugin slugs available for installation. This operation is asynchronous: a successful response only means the install job has been queued, not that the plugins are ready.
42586
43976
  * @summary Install WordPress plugins
@@ -42713,7 +44103,7 @@ export const WordPressPluginsApiFactory = function (configuration?: Configuratio
42713
44103
  /**
42714
44104
  * Check whether WooCommerce is installed on any WordPress installation of a domain. Optionally filter by domain to scope the check.
42715
44105
  * @summary Check if WooCommerce is installed
42716
- * @param {string | null} [domain] Filter by domain name (exact match)
44106
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
42717
44107
  * @param {*} [options] Override http request option.
42718
44108
  * @throws {RequiredError}
42719
44109
  */
@@ -42732,6 +44122,18 @@ export const WordPressPluginsApiFactory = function (configuration?: Configuratio
42732
44122
  deactivateWordPressPluginV1(username: string, software: string, wordPressV1PluginsDeactivatePluginRequest: WordPressV1PluginsDeactivatePluginRequest, options?: RawAxiosRequestConfig): AxiosPromise<CommonSuccessEmptyResource> {
42733
44123
  return localVarFp.deactivateWordPressPluginV1(username, software, wordPressV1PluginsDeactivatePluginRequest, options).then((request) => request(axios, basePath));
42734
44124
  },
44125
+ /**
44126
+ * Deploy a WordPress plugin from an already uploaded directory. This endpoint allows you to deploy a WordPress plugin that has been uploaded to the website\'s directory. The plugin will be activated and made available in the WordPress admin panel.
44127
+ * @summary Deploy WordPress plugin
44128
+ * @param {string} username
44129
+ * @param {string} domain Domain name
44130
+ * @param {WordPressV1PluginsDeployPluginRequest} wordPressV1PluginsDeployPluginRequest
44131
+ * @param {*} [options] Override http request option.
44132
+ * @throws {RequiredError}
44133
+ */
44134
+ deployWordPressPluginV1(username: string, domain: string, wordPressV1PluginsDeployPluginRequest: WordPressV1PluginsDeployPluginRequest, options?: RawAxiosRequestConfig): AxiosPromise<CommonSuccessEmptyResource> {
44135
+ return localVarFp.deployWordPressPluginV1(username, domain, wordPressV1PluginsDeployPluginRequest, options).then((request) => request(axios, basePath));
44136
+ },
42735
44137
  /**
42736
44138
  * Install one or more plugins on an existing WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). Use GET /api/hosting/v1/wordpress/plugins to discover the plugin slugs available for installation. This operation is asynchronous: a successful response only means the install job has been queued, not that the plugins are ready.
42737
44139
  * @summary Install WordPress plugins
@@ -42850,7 +44252,7 @@ export class WordPressPluginsApi extends BaseAPI {
42850
44252
  /**
42851
44253
  * Check whether WooCommerce is installed on any WordPress installation of a domain. Optionally filter by domain to scope the check.
42852
44254
  * @summary Check if WooCommerce is installed
42853
- * @param {string | null} [domain] Filter by domain name (exact match)
44255
+ * @param {string | null} [domain] Filter by domain name (case-insensitive substring match)
42854
44256
  * @param {*} [options] Override http request option.
42855
44257
  * @throws {RequiredError}
42856
44258
  * @memberof WordPressPluginsApi
@@ -42873,6 +44275,20 @@ export class WordPressPluginsApi extends BaseAPI {
42873
44275
  return WordPressPluginsApiFp(this.configuration).deactivateWordPressPluginV1(username, software, wordPressV1PluginsDeactivatePluginRequest, options).then((request) => request(this.axios, this.basePath));
42874
44276
  }
42875
44277
 
44278
+ /**
44279
+ * Deploy a WordPress plugin from an already uploaded directory. This endpoint allows you to deploy a WordPress plugin that has been uploaded to the website\'s directory. The plugin will be activated and made available in the WordPress admin panel.
44280
+ * @summary Deploy WordPress plugin
44281
+ * @param {string} username
44282
+ * @param {string} domain Domain name
44283
+ * @param {WordPressV1PluginsDeployPluginRequest} wordPressV1PluginsDeployPluginRequest
44284
+ * @param {*} [options] Override http request option.
44285
+ * @throws {RequiredError}
44286
+ * @memberof WordPressPluginsApi
44287
+ */
44288
+ public deployWordPressPluginV1(username: string, domain: string, wordPressV1PluginsDeployPluginRequest: WordPressV1PluginsDeployPluginRequest, options?: RawAxiosRequestConfig) {
44289
+ return WordPressPluginsApiFp(this.configuration).deployWordPressPluginV1(username, domain, wordPressV1PluginsDeployPluginRequest, options).then((request) => request(this.axios, this.basePath));
44290
+ }
44291
+
42876
44292
  /**
42877
44293
  * Install one or more plugins on an existing WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). Use GET /api/hosting/v1/wordpress/plugins to discover the plugin slugs available for installation. This operation is asynchronous: a successful response only means the install job has been queued, not that the plugins are ready.
42878
44294
  * @summary Install WordPress plugins
@@ -43044,6 +44460,54 @@ export const WordPressThemesApiAxiosParamCreator = function (configuration?: Con
43044
44460
  options: localVarRequestOptions,
43045
44461
  };
43046
44462
  },
44463
+ /**
44464
+ * Deploy a WordPress theme from an already uploaded directory. This endpoint allows you to deploy a WordPress theme that has been uploaded to the website\'s directory. The theme can be optionally activated after deployment.
44465
+ * @summary Deploy WordPress theme
44466
+ * @param {string} username
44467
+ * @param {string} domain Domain name
44468
+ * @param {WordPressV1ThemesDeployThemeRequest} wordPressV1ThemesDeployThemeRequest
44469
+ * @param {*} [options] Override http request option.
44470
+ * @throws {RequiredError}
44471
+ */
44472
+ deployWordPressThemeV1: async (username: string, domain: string, wordPressV1ThemesDeployThemeRequest: WordPressV1ThemesDeployThemeRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
44473
+ // verify required parameter 'username' is not null or undefined
44474
+ assertParamExists('deployWordPressThemeV1', 'username', username)
44475
+ // verify required parameter 'domain' is not null or undefined
44476
+ assertParamExists('deployWordPressThemeV1', 'domain', domain)
44477
+ // verify required parameter 'wordPressV1ThemesDeployThemeRequest' is not null or undefined
44478
+ assertParamExists('deployWordPressThemeV1', 'wordPressV1ThemesDeployThemeRequest', wordPressV1ThemesDeployThemeRequest)
44479
+ const localVarPath = `/api/hosting/v1/accounts/{username}/websites/{domain}/wordpress/themes/deploy`
44480
+ .replace(`{${"username"}}`, encodeURIComponent(String(username)))
44481
+ .replace(`{${"domain"}}`, encodeURIComponent(String(domain)));
44482
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
44483
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
44484
+ let baseOptions;
44485
+ if (configuration) {
44486
+ baseOptions = configuration.baseOptions;
44487
+ }
44488
+
44489
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
44490
+ const localVarHeaderParameter = {} as any;
44491
+ const localVarQueryParameter = {} as any;
44492
+
44493
+ // authentication apiToken required
44494
+ // http bearer authentication required
44495
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
44496
+
44497
+
44498
+
44499
+ localVarHeaderParameter['Content-Type'] = 'application/json';
44500
+
44501
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
44502
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
44503
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
44504
+ localVarRequestOptions.data = serializeDataIfNeeded(wordPressV1ThemesDeployThemeRequest, localVarRequestOptions, configuration)
44505
+
44506
+ return {
44507
+ url: toPathString(localVarUrlObj),
44508
+ options: localVarRequestOptions,
44509
+ };
44510
+ },
43047
44511
  /**
43048
44512
  * Install a theme on an existing WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). When the theme is one of the Hostinger themes (hostinger-blog, hostinger-affiliate-theme, hostinger-ai-theme), the optional `palette`, `layout`, and `font` fields are forwarded to the custom installer (defaults: palette1, layout1, default). For any other theme they are ignored. This operation is asynchronous: a successful response only means the install job has been queued, not that the theme is ready.
43049
44513
  * @summary Install WordPress theme
@@ -43298,6 +44762,20 @@ export const WordPressThemesApiFp = function(configuration?: Configuration) {
43298
44762
  const localVarOperationServerBasePath = operationServerMap['WordPressThemesApi.activateWordPressThemeV1']?.[0]?.url;
43299
44763
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
43300
44764
  },
44765
+ /**
44766
+ * Deploy a WordPress theme from an already uploaded directory. This endpoint allows you to deploy a WordPress theme that has been uploaded to the website\'s directory. The theme can be optionally activated after deployment.
44767
+ * @summary Deploy WordPress theme
44768
+ * @param {string} username
44769
+ * @param {string} domain Domain name
44770
+ * @param {WordPressV1ThemesDeployThemeRequest} wordPressV1ThemesDeployThemeRequest
44771
+ * @param {*} [options] Override http request option.
44772
+ * @throws {RequiredError}
44773
+ */
44774
+ async deployWordPressThemeV1(username: string, domain: string, wordPressV1ThemesDeployThemeRequest: WordPressV1ThemesDeployThemeRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CommonSuccessEmptyResource>> {
44775
+ const localVarAxiosArgs = await localVarAxiosParamCreator.deployWordPressThemeV1(username, domain, wordPressV1ThemesDeployThemeRequest, options);
44776
+ const localVarOperationServerBasePath = operationServerMap['WordPressThemesApi.deployWordPressThemeV1']?.[0]?.url;
44777
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
44778
+ },
43301
44779
  /**
43302
44780
  * Install a theme on an existing WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). When the theme is one of the Hostinger themes (hostinger-blog, hostinger-affiliate-theme, hostinger-ai-theme), the optional `palette`, `layout`, and `font` fields are forwarded to the custom installer (defaults: palette1, layout1, default). For any other theme they are ignored. This operation is asynchronous: a successful response only means the install job has been queued, not that the theme is ready.
43303
44781
  * @summary Install WordPress theme
@@ -43388,6 +44866,18 @@ export const WordPressThemesApiFactory = function (configuration?: Configuration
43388
44866
  activateWordPressThemeV1(username: string, software: string, wordPressV1ThemesActivateThemeRequest: WordPressV1ThemesActivateThemeRequest, options?: RawAxiosRequestConfig): AxiosPromise<CommonSuccessEmptyResource> {
43389
44867
  return localVarFp.activateWordPressThemeV1(username, software, wordPressV1ThemesActivateThemeRequest, options).then((request) => request(axios, basePath));
43390
44868
  },
44869
+ /**
44870
+ * Deploy a WordPress theme from an already uploaded directory. This endpoint allows you to deploy a WordPress theme that has been uploaded to the website\'s directory. The theme can be optionally activated after deployment.
44871
+ * @summary Deploy WordPress theme
44872
+ * @param {string} username
44873
+ * @param {string} domain Domain name
44874
+ * @param {WordPressV1ThemesDeployThemeRequest} wordPressV1ThemesDeployThemeRequest
44875
+ * @param {*} [options] Override http request option.
44876
+ * @throws {RequiredError}
44877
+ */
44878
+ deployWordPressThemeV1(username: string, domain: string, wordPressV1ThemesDeployThemeRequest: WordPressV1ThemesDeployThemeRequest, options?: RawAxiosRequestConfig): AxiosPromise<CommonSuccessEmptyResource> {
44879
+ return localVarFp.deployWordPressThemeV1(username, domain, wordPressV1ThemesDeployThemeRequest, options).then((request) => request(axios, basePath));
44880
+ },
43391
44881
  /**
43392
44882
  * Install a theme on an existing WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). When the theme is one of the Hostinger themes (hostinger-blog, hostinger-affiliate-theme, hostinger-ai-theme), the optional `palette`, `layout`, and `font` fields are forwarded to the custom installer (defaults: palette1, layout1, default). For any other theme they are ignored. This operation is asynchronous: a successful response only means the install job has been queued, not that the theme is ready.
43393
44883
  * @summary Install WordPress theme
@@ -43470,6 +44960,20 @@ export class WordPressThemesApi extends BaseAPI {
43470
44960
  return WordPressThemesApiFp(this.configuration).activateWordPressThemeV1(username, software, wordPressV1ThemesActivateThemeRequest, options).then((request) => request(this.axios, this.basePath));
43471
44961
  }
43472
44962
 
44963
+ /**
44964
+ * Deploy a WordPress theme from an already uploaded directory. This endpoint allows you to deploy a WordPress theme that has been uploaded to the website\'s directory. The theme can be optionally activated after deployment.
44965
+ * @summary Deploy WordPress theme
44966
+ * @param {string} username
44967
+ * @param {string} domain Domain name
44968
+ * @param {WordPressV1ThemesDeployThemeRequest} wordPressV1ThemesDeployThemeRequest
44969
+ * @param {*} [options] Override http request option.
44970
+ * @throws {RequiredError}
44971
+ * @memberof WordPressThemesApi
44972
+ */
44973
+ public deployWordPressThemeV1(username: string, domain: string, wordPressV1ThemesDeployThemeRequest: WordPressV1ThemesDeployThemeRequest, options?: RawAxiosRequestConfig) {
44974
+ return WordPressThemesApiFp(this.configuration).deployWordPressThemeV1(username, domain, wordPressV1ThemesDeployThemeRequest, options).then((request) => request(this.axios, this.basePath));
44975
+ }
44976
+
43473
44977
  /**
43474
44978
  * Install a theme on an existing WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). When the theme is one of the Hostinger themes (hostinger-blog, hostinger-affiliate-theme, hostinger-ai-theme), the optional `palette`, `layout`, and `font` fields are forwarded to the custom installer (defaults: palette1, layout1, default). For any other theme they are ignored. This operation is asynchronous: a successful response only means the install job has been queued, not that the theme is ready.
43475
44979
  * @summary Install WordPress theme