hostinger-api-sdk 1.37.0 → 1.39.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 (45) hide show
  1. package/README.md +2 -2
  2. package/api.ts +1052 -17
  3. package/base.ts +1 -1
  4. package/common.ts +1 -1
  5. package/configuration.ts +2 -2
  6. package/dist/api.d.ts +678 -17
  7. package/dist/api.js +723 -19
  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 +678 -17
  15. package/dist/esm/api.js +713 -9
  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/HostingFilesApi.md +56 -0
  28. package/docs/HostingNodeJSApi.md +124 -1
  29. package/docs/HostingV1FilesGenerateUploadUrlRequest.md +22 -0
  30. package/docs/HostingV1FilesUploadUrlResource.md +24 -0
  31. package/docs/HostingV1NodeJsBuildSettingsResource.md +34 -0
  32. package/docs/HostingV1NodeJsGetBuildSettingsRequest.md +20 -0
  33. package/docs/HostingV1NodeJsStartBuildRequest.md +36 -0
  34. package/docs/HostingV1NodeJsStartBuildRequestSourceOptions.md +21 -0
  35. package/docs/HostingV1WebsitesDeployArchiveRequest.md +20 -0
  36. package/docs/HostingV1WebsitesWebsiteResource.md +8 -4
  37. package/docs/HostingWebsitesApi.md +63 -1
  38. package/docs/WordPressInstallationsApi.md +62 -0
  39. package/docs/WordPressPluginsApi.md +62 -0
  40. package/docs/WordPressThemesApi.md +62 -0
  41. package/docs/WordPressV1InstallationsImportWordPressRequest.md +22 -0
  42. package/docs/WordPressV1PluginsDeployPluginRequest.md +22 -0
  43. package/docs/WordPressV1ThemesDeployThemeRequest.md +24 -0
  44. package/index.ts +1 -1
  45. 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.39.0
6
+ * API Version: 1.41.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
@@ -5307,6 +5307,50 @@ export const HostingV1FilesFilesResourceItemsInnerTypeEnum = {
5307
5307
 
5308
5308
  export type HostingV1FilesFilesResourceItemsInnerTypeEnum = typeof HostingV1FilesFilesResourceItemsInnerTypeEnum[keyof typeof HostingV1FilesFilesResourceItemsInnerTypeEnum];
5309
5309
 
5310
+ /**
5311
+ *
5312
+ * @export
5313
+ * @interface HostingV1FilesGenerateUploadUrlRequest
5314
+ */
5315
+ export interface HostingV1FilesGenerateUploadUrlRequest {
5316
+ /**
5317
+ * Account username
5318
+ * @type {string}
5319
+ * @memberof HostingV1FilesGenerateUploadUrlRequest
5320
+ */
5321
+ 'username': string;
5322
+ /**
5323
+ * Website domain
5324
+ * @type {string}
5325
+ * @memberof HostingV1FilesGenerateUploadUrlRequest
5326
+ */
5327
+ 'domain': string;
5328
+ }
5329
+ /**
5330
+ *
5331
+ * @export
5332
+ * @interface HostingV1FilesUploadUrlResource
5333
+ */
5334
+ export interface HostingV1FilesUploadUrlResource {
5335
+ /**
5336
+ * The TUS upload endpoint URL to send upload requests to
5337
+ * @type {string}
5338
+ * @memberof HostingV1FilesUploadUrlResource
5339
+ */
5340
+ 'url': string;
5341
+ /**
5342
+ * Authentication token to pass as the `X-Auth` header in TUS upload requests
5343
+ * @type {string}
5344
+ * @memberof HostingV1FilesUploadUrlResource
5345
+ */
5346
+ 'auth_key': string;
5347
+ /**
5348
+ * Authentication token to pass as the `X-Auth-Rest` header in TUS upload requests
5349
+ * @type {string}
5350
+ * @memberof HostingV1FilesUploadUrlResource
5351
+ */
5352
+ 'rest_auth_key': string;
5353
+ }
5310
5354
  /**
5311
5355
  *
5312
5356
  * @export
@@ -5471,6 +5515,93 @@ export const HostingV1NodeJsBuildResourceStateEnum = {
5471
5515
 
5472
5516
  export type HostingV1NodeJsBuildResourceStateEnum = typeof HostingV1NodeJsBuildResourceStateEnum[keyof typeof HostingV1NodeJsBuildResourceStateEnum];
5473
5517
 
5518
+ /**
5519
+ *
5520
+ * @export
5521
+ * @interface HostingV1NodeJsBuildSettingsResource
5522
+ */
5523
+ export interface HostingV1NodeJsBuildSettingsResource {
5524
+ /**
5525
+ * Node.js application type
5526
+ * @type {string}
5527
+ * @memberof HostingV1NodeJsBuildSettingsResource
5528
+ */
5529
+ 'app_type': HostingV1NodeJsBuildSettingsResourceAppTypeEnum | null;
5530
+ /**
5531
+ * Node.js version
5532
+ * @type {number}
5533
+ * @memberof HostingV1NodeJsBuildSettingsResource
5534
+ */
5535
+ 'node_version': number | null;
5536
+ /**
5537
+ * Application root directory
5538
+ * @type {string}
5539
+ * @memberof HostingV1NodeJsBuildSettingsResource
5540
+ */
5541
+ 'root_directory': string | null;
5542
+ /**
5543
+ * Build output directory
5544
+ * @type {string}
5545
+ * @memberof HostingV1NodeJsBuildSettingsResource
5546
+ */
5547
+ 'output_directory': string | null;
5548
+ /**
5549
+ * The npm script to run to build the application
5550
+ * @type {string}
5551
+ * @memberof HostingV1NodeJsBuildSettingsResource
5552
+ */
5553
+ 'build_script': string | null;
5554
+ /**
5555
+ * The main entry point file for the application
5556
+ * @type {string}
5557
+ * @memberof HostingV1NodeJsBuildSettingsResource
5558
+ */
5559
+ 'entry_file': string | null;
5560
+ /**
5561
+ * Package manager
5562
+ * @type {string}
5563
+ * @memberof HostingV1NodeJsBuildSettingsResource
5564
+ */
5565
+ 'package_manager': HostingV1NodeJsBuildSettingsResourcePackageManagerEnum | null;
5566
+ /**
5567
+ * The scripts configured in the package.json file
5568
+ * @type {Array<string>}
5569
+ * @memberof HostingV1NodeJsBuildSettingsResource
5570
+ */
5571
+ 'available_scripts': Array<string>;
5572
+ }
5573
+
5574
+ export const HostingV1NodeJsBuildSettingsResourceAppTypeEnum = {
5575
+ CreateReactApp: 'create-react-app',
5576
+ Gatsby: 'gatsby',
5577
+ Vite: 'vite',
5578
+ Angular: 'angular',
5579
+ React: 'react',
5580
+ Vue: 'vue',
5581
+ Parcel: 'parcel',
5582
+ Next: 'next',
5583
+ Nuxt: 'nuxt',
5584
+ Nest: 'nest',
5585
+ Express: 'express',
5586
+ Fastify: 'fastify',
5587
+ Astro: 'astro',
5588
+ Svelte: 'svelte',
5589
+ SvelteKit: 'svelte-kit',
5590
+ Hono: 'hono',
5591
+ ReactRouter: 'react-router',
5592
+ Nitro: 'nitro',
5593
+ Other: 'other'
5594
+ } as const;
5595
+
5596
+ export type HostingV1NodeJsBuildSettingsResourceAppTypeEnum = typeof HostingV1NodeJsBuildSettingsResourceAppTypeEnum[keyof typeof HostingV1NodeJsBuildSettingsResourceAppTypeEnum];
5597
+ export const HostingV1NodeJsBuildSettingsResourcePackageManagerEnum = {
5598
+ Npm: 'npm',
5599
+ Yarn: 'yarn',
5600
+ Pnpm: 'pnpm'
5601
+ } as const;
5602
+
5603
+ export type HostingV1NodeJsBuildSettingsResourcePackageManagerEnum = typeof HostingV1NodeJsBuildSettingsResourcePackageManagerEnum[keyof typeof HostingV1NodeJsBuildSettingsResourcePackageManagerEnum];
5604
+
5474
5605
  /**
5475
5606
  *
5476
5607
  * @export
@@ -5566,6 +5697,19 @@ export const HostingV1NodeJsCreateFromArchiveRequestPackageManagerEnum = {
5566
5697
 
5567
5698
  export type HostingV1NodeJsCreateFromArchiveRequestPackageManagerEnum = typeof HostingV1NodeJsCreateFromArchiveRequestPackageManagerEnum[keyof typeof HostingV1NodeJsCreateFromArchiveRequestPackageManagerEnum];
5568
5699
 
5700
+ /**
5701
+ *
5702
+ * @export
5703
+ * @interface HostingV1NodeJsGetBuildSettingsRequest
5704
+ */
5705
+ export interface HostingV1NodeJsGetBuildSettingsRequest {
5706
+ /**
5707
+ * The path to the archive file relative to the document root of the vhost
5708
+ * @type {string}
5709
+ * @memberof HostingV1NodeJsGetBuildSettingsRequest
5710
+ */
5711
+ 'archive_path': string;
5712
+ }
5569
5713
  /**
5570
5714
  *
5571
5715
  * @export
@@ -5623,6 +5767,125 @@ export interface HostingV1NodeJsSourceOptionsResource {
5623
5767
  */
5624
5768
  'archive_path': string | null;
5625
5769
  }
5770
+ /**
5771
+ *
5772
+ * @export
5773
+ * @interface HostingV1NodeJsStartBuildRequest
5774
+ */
5775
+ export interface HostingV1NodeJsStartBuildRequest {
5776
+ /**
5777
+ * Node.js version
5778
+ * @type {number}
5779
+ * @memberof HostingV1NodeJsStartBuildRequest
5780
+ */
5781
+ 'node_version': HostingV1NodeJsStartBuildRequestNodeVersionEnum;
5782
+ /**
5783
+ * Node.js application type
5784
+ * @type {string}
5785
+ * @memberof HostingV1NodeJsStartBuildRequest
5786
+ */
5787
+ 'app_type': HostingV1NodeJsStartBuildRequestAppTypeEnum | null;
5788
+ /**
5789
+ * Application root directory (where package.json is located) relative to public_html
5790
+ * @type {string}
5791
+ * @memberof HostingV1NodeJsStartBuildRequest
5792
+ */
5793
+ 'root_directory': string | null;
5794
+ /**
5795
+ * Build output directory relative to the root directory
5796
+ * @type {string}
5797
+ * @memberof HostingV1NodeJsStartBuildRequest
5798
+ */
5799
+ 'output_directory': string | null;
5800
+ /**
5801
+ * Build script that will be ran to build the application
5802
+ * @type {string}
5803
+ * @memberof HostingV1NodeJsStartBuildRequest
5804
+ */
5805
+ 'build_script': string | null;
5806
+ /**
5807
+ * The main entry point file for the application
5808
+ * @type {string}
5809
+ * @memberof HostingV1NodeJsStartBuildRequest
5810
+ */
5811
+ 'entry_file': string | null;
5812
+ /**
5813
+ * Package manager
5814
+ * @type {string}
5815
+ * @memberof HostingV1NodeJsStartBuildRequest
5816
+ */
5817
+ 'package_manager': HostingV1NodeJsStartBuildRequestPackageManagerEnum | null;
5818
+ /**
5819
+ * The source type of the files
5820
+ * @type {string}
5821
+ * @memberof HostingV1NodeJsStartBuildRequest
5822
+ */
5823
+ 'source_type': HostingV1NodeJsStartBuildRequestSourceTypeEnum;
5824
+ /**
5825
+ *
5826
+ * @type {HostingV1NodeJsStartBuildRequestSourceOptions}
5827
+ * @memberof HostingV1NodeJsStartBuildRequest
5828
+ */
5829
+ 'source_options': HostingV1NodeJsStartBuildRequestSourceOptions | null;
5830
+ }
5831
+
5832
+ export const HostingV1NodeJsStartBuildRequestNodeVersionEnum = {
5833
+ NUMBER_18: 18,
5834
+ NUMBER_20: 20,
5835
+ NUMBER_22: 22,
5836
+ NUMBER_24: 24
5837
+ } as const;
5838
+
5839
+ export type HostingV1NodeJsStartBuildRequestNodeVersionEnum = typeof HostingV1NodeJsStartBuildRequestNodeVersionEnum[keyof typeof HostingV1NodeJsStartBuildRequestNodeVersionEnum];
5840
+ export const HostingV1NodeJsStartBuildRequestAppTypeEnum = {
5841
+ CreateReactApp: 'create-react-app',
5842
+ Gatsby: 'gatsby',
5843
+ Vite: 'vite',
5844
+ Angular: 'angular',
5845
+ React: 'react',
5846
+ Vue: 'vue',
5847
+ Parcel: 'parcel',
5848
+ Next: 'next',
5849
+ Nuxt: 'nuxt',
5850
+ Nest: 'nest',
5851
+ Express: 'express',
5852
+ Fastify: 'fastify',
5853
+ Astro: 'astro',
5854
+ Svelte: 'svelte',
5855
+ SvelteKit: 'svelte-kit',
5856
+ Hono: 'hono',
5857
+ ReactRouter: 'react-router',
5858
+ Nitro: 'nitro',
5859
+ Other: 'other'
5860
+ } as const;
5861
+
5862
+ export type HostingV1NodeJsStartBuildRequestAppTypeEnum = typeof HostingV1NodeJsStartBuildRequestAppTypeEnum[keyof typeof HostingV1NodeJsStartBuildRequestAppTypeEnum];
5863
+ export const HostingV1NodeJsStartBuildRequestPackageManagerEnum = {
5864
+ Npm: 'npm',
5865
+ Yarn: 'yarn',
5866
+ Pnpm: 'pnpm'
5867
+ } as const;
5868
+
5869
+ export type HostingV1NodeJsStartBuildRequestPackageManagerEnum = typeof HostingV1NodeJsStartBuildRequestPackageManagerEnum[keyof typeof HostingV1NodeJsStartBuildRequestPackageManagerEnum];
5870
+ export const HostingV1NodeJsStartBuildRequestSourceTypeEnum = {
5871
+ Archive: 'archive'
5872
+ } as const;
5873
+
5874
+ export type HostingV1NodeJsStartBuildRequestSourceTypeEnum = typeof HostingV1NodeJsStartBuildRequestSourceTypeEnum[keyof typeof HostingV1NodeJsStartBuildRequestSourceTypeEnum];
5875
+
5876
+ /**
5877
+ * Source-specific options
5878
+ * @export
5879
+ * @interface HostingV1NodeJsStartBuildRequestSourceOptions
5880
+ */
5881
+ export interface HostingV1NodeJsStartBuildRequestSourceOptions {
5882
+ /**
5883
+ * The path to the archive file relative to the document root of the vhost (required if source is \"archive\")
5884
+ * @type {string}
5885
+ * @memberof HostingV1NodeJsStartBuildRequestSourceOptions
5886
+ */
5887
+ 'archive_path': string;
5888
+ }
5626
5889
  /**
5627
5890
  *
5628
5891
  * @export
@@ -6032,6 +6295,19 @@ export interface HostingV1WebsitesCreateWebsiteRequest {
6032
6295
  */
6033
6296
  'datacenter_code': string | null;
6034
6297
  }
6298
+ /**
6299
+ *
6300
+ * @export
6301
+ * @interface HostingV1WebsitesDeployArchiveRequest
6302
+ */
6303
+ export interface HostingV1WebsitesDeployArchiveRequest {
6304
+ /**
6305
+ * Relative path to the archive file from website root directory
6306
+ * @type {string}
6307
+ * @memberof HostingV1WebsitesDeployArchiveRequest
6308
+ */
6309
+ 'archive_path': string;
6310
+ }
6035
6311
  /**
6036
6312
  *
6037
6313
  * @export
@@ -6039,17 +6315,17 @@ export interface HostingV1WebsitesCreateWebsiteRequest {
6039
6315
  */
6040
6316
  export interface HostingV1WebsitesWebsiteResource {
6041
6317
  /**
6042
- * Website domain
6318
+ * Website domain. Null for U4S websites with no domain attached.
6043
6319
  * @type {string}
6044
6320
  * @memberof HostingV1WebsitesWebsiteResource
6045
6321
  */
6046
- 'domain': string;
6322
+ 'domain': string | null;
6047
6323
  /**
6048
- * Virtual host type
6324
+ * Virtual host type. Only present for CloudLinux websites.
6049
6325
  * @type {string}
6050
6326
  * @memberof HostingV1WebsitesWebsiteResource
6051
6327
  */
6052
- 'vhost_type': HostingV1WebsitesWebsiteResourceVhostTypeEnum;
6328
+ 'vhost_type': HostingV1WebsitesWebsiteResourceVhostTypeEnum | null;
6053
6329
  /**
6054
6330
  * Whether website is enabled
6055
6331
  * @type {boolean}
@@ -6057,11 +6333,11 @@ export interface HostingV1WebsitesWebsiteResource {
6057
6333
  */
6058
6334
  'is_enabled': boolean;
6059
6335
  /**
6060
- * Username
6336
+ * Username. Not applicable for U4S websites.
6061
6337
  * @type {string}
6062
6338
  * @memberof HostingV1WebsitesWebsiteResource
6063
6339
  */
6064
- 'username': string;
6340
+ 'username': string | null;
6065
6341
  /**
6066
6342
  * Client ID
6067
6343
  * @type {number}
@@ -6081,17 +6357,29 @@ export interface HostingV1WebsitesWebsiteResource {
6081
6357
  */
6082
6358
  'created_at': string;
6083
6359
  /**
6084
- * Root directory path
6360
+ * Root directory path. Only present for CloudLinux websites.
6085
6361
  * @type {string}
6086
6362
  * @memberof HostingV1WebsitesWebsiteResource
6087
6363
  */
6088
- 'root_directory': string;
6364
+ 'root_directory': string | null;
6089
6365
  /**
6090
6366
  * Parent domain
6091
6367
  * @type {string}
6092
6368
  * @memberof HostingV1WebsitesWebsiteResource
6093
6369
  */
6094
6370
  'parent_domain': string | null;
6371
+ /**
6372
+ * Type of website detected on the underlying platform.
6373
+ * @type {string}
6374
+ * @memberof HostingV1WebsitesWebsiteResource
6375
+ */
6376
+ 'website_type': HostingV1WebsitesWebsiteResourceWebsiteTypeEnum;
6377
+ /**
6378
+ * Horizons UUID. Only present for horizons websites.
6379
+ * @type {string}
6380
+ * @memberof HostingV1WebsitesWebsiteResource
6381
+ */
6382
+ 'horizons_uuid': string | null;
6095
6383
  }
6096
6384
 
6097
6385
  export const HostingV1WebsitesWebsiteResourceVhostTypeEnum = {
@@ -6102,6 +6390,15 @@ export const HostingV1WebsitesWebsiteResourceVhostTypeEnum = {
6102
6390
  } as const;
6103
6391
 
6104
6392
  export type HostingV1WebsitesWebsiteResourceVhostTypeEnum = typeof HostingV1WebsitesWebsiteResourceVhostTypeEnum[keyof typeof HostingV1WebsitesWebsiteResourceVhostTypeEnum];
6393
+ export const HostingV1WebsitesWebsiteResourceWebsiteTypeEnum = {
6394
+ Wordpress: 'wordpress',
6395
+ Builder: 'builder',
6396
+ Horizons: 'horizons',
6397
+ Nodejs: 'nodejs',
6398
+ Other: 'other'
6399
+ } as const;
6400
+
6401
+ export type HostingV1WebsitesWebsiteResourceWebsiteTypeEnum = typeof HostingV1WebsitesWebsiteResourceWebsiteTypeEnum[keyof typeof HostingV1WebsitesWebsiteResourceWebsiteTypeEnum];
6105
6402
 
6106
6403
  /**
6107
6404
  *
@@ -12222,6 +12519,25 @@ export interface WordPressV1InstallationsDeleteInstallationRequest {
12222
12519
  */
12223
12520
  'delete_database': boolean;
12224
12521
  }
12522
+ /**
12523
+ *
12524
+ * @export
12525
+ * @interface WordPressV1InstallationsImportWordPressRequest
12526
+ */
12527
+ export interface WordPressV1InstallationsImportWordPressRequest {
12528
+ /**
12529
+ * Path to the WordPress archive file (relative to website root)
12530
+ * @type {string}
12531
+ * @memberof WordPressV1InstallationsImportWordPressRequest
12532
+ */
12533
+ 'archive_path': string;
12534
+ /**
12535
+ * Path to the database SQL file (relative to website root)
12536
+ * @type {string}
12537
+ * @memberof WordPressV1InstallationsImportWordPressRequest
12538
+ */
12539
+ 'sql_path': string;
12540
+ }
12225
12541
  /**
12226
12542
  *
12227
12543
  * @export
@@ -12790,6 +13106,25 @@ export interface WordPressV1PluginsDeactivatePluginRequest {
12790
13106
  */
12791
13107
  'plugin': string;
12792
13108
  }
13109
+ /**
13110
+ *
13111
+ * @export
13112
+ * @interface WordPressV1PluginsDeployPluginRequest
13113
+ */
13114
+ export interface WordPressV1PluginsDeployPluginRequest {
13115
+ /**
13116
+ * Slug of the plugin
13117
+ * @type {string}
13118
+ * @memberof WordPressV1PluginsDeployPluginRequest
13119
+ */
13120
+ 'slug': string;
13121
+ /**
13122
+ * Relative path to the plugin directory from wp-content/plugins
13123
+ * @type {string}
13124
+ * @memberof WordPressV1PluginsDeployPluginRequest
13125
+ */
13126
+ 'plugin_path': string;
13127
+ }
12793
13128
  /**
12794
13129
  *
12795
13130
  * @export
@@ -13085,6 +13420,31 @@ export interface WordPressV1ThemesActivateThemeRequest {
13085
13420
  */
13086
13421
  'theme': string;
13087
13422
  }
13423
+ /**
13424
+ *
13425
+ * @export
13426
+ * @interface WordPressV1ThemesDeployThemeRequest
13427
+ */
13428
+ export interface WordPressV1ThemesDeployThemeRequest {
13429
+ /**
13430
+ * Slug of the theme
13431
+ * @type {string}
13432
+ * @memberof WordPressV1ThemesDeployThemeRequest
13433
+ */
13434
+ 'slug': string;
13435
+ /**
13436
+ * Relative path to the theme directory from wp-content/themes
13437
+ * @type {string}
13438
+ * @memberof WordPressV1ThemesDeployThemeRequest
13439
+ */
13440
+ 'theme_path': string;
13441
+ /**
13442
+ * Whether to activate the theme after deployment
13443
+ * @type {boolean}
13444
+ * @memberof WordPressV1ThemesDeployThemeRequest
13445
+ */
13446
+ 'is_activated': boolean | null;
13447
+ }
13088
13448
  /**
13089
13449
  *
13090
13450
  * @export
@@ -14613,6 +14973,44 @@ export class AgencyHostingDomainsApi extends BaseAPI {
14613
14973
  */
14614
14974
  export const AgencyHostingFilesApiAxiosParamCreator = function (configuration?: Configuration) {
14615
14975
  return {
14976
+ /**
14977
+ * 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 ```
14978
+ * @summary Generate upload URL
14979
+ * @param {string} websiteUid Agency Plan website UID
14980
+ * @param {*} [options] Override http request option.
14981
+ * @throws {RequiredError}
14982
+ */
14983
+ generateUploadURLV1: async (websiteUid: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
14984
+ // verify required parameter 'websiteUid' is not null or undefined
14985
+ assertParamExists('generateUploadURLV1', 'websiteUid', websiteUid)
14986
+ const localVarPath = `/api/agency-hosting/v1/websites/{website_uid}/files/upload-urls`
14987
+ .replace(`{${"website_uid"}}`, encodeURIComponent(String(websiteUid)));
14988
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
14989
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
14990
+ let baseOptions;
14991
+ if (configuration) {
14992
+ baseOptions = configuration.baseOptions;
14993
+ }
14994
+
14995
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
14996
+ const localVarHeaderParameter = {} as any;
14997
+ const localVarQueryParameter = {} as any;
14998
+
14999
+ // authentication apiToken required
15000
+ // http bearer authentication required
15001
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
15002
+
15003
+
15004
+
15005
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
15006
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
15007
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
15008
+
15009
+ return {
15010
+ url: toPathString(localVarUrlObj),
15011
+ options: localVarRequestOptions,
15012
+ };
15013
+ },
14616
15014
  /**
14617
15015
  * 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.
14618
15016
  * @summary Import website from archive
@@ -14667,6 +15065,18 @@ export const AgencyHostingFilesApiAxiosParamCreator = function (configuration?:
14667
15065
  export const AgencyHostingFilesApiFp = function(configuration?: Configuration) {
14668
15066
  const localVarAxiosParamCreator = AgencyHostingFilesApiAxiosParamCreator(configuration)
14669
15067
  return {
15068
+ /**
15069
+ * 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 ```
15070
+ * @summary Generate upload URL
15071
+ * @param {string} websiteUid Agency Plan website UID
15072
+ * @param {*} [options] Override http request option.
15073
+ * @throws {RequiredError}
15074
+ */
15075
+ async generateUploadURLV1(websiteUid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AgencyHostingV1FilesUploadUrlResource>> {
15076
+ const localVarAxiosArgs = await localVarAxiosParamCreator.generateUploadURLV1(websiteUid, options);
15077
+ const localVarOperationServerBasePath = operationServerMap['AgencyHostingFilesApi.generateUploadURLV1']?.[0]?.url;
15078
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
15079
+ },
14670
15080
  /**
14671
15081
  * 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.
14672
15082
  * @summary Import website from archive
@@ -14690,6 +15100,16 @@ export const AgencyHostingFilesApiFp = function(configuration?: Configuration) {
14690
15100
  export const AgencyHostingFilesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
14691
15101
  const localVarFp = AgencyHostingFilesApiFp(configuration)
14692
15102
  return {
15103
+ /**
15104
+ * 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 ```
15105
+ * @summary Generate upload URL
15106
+ * @param {string} websiteUid Agency Plan website UID
15107
+ * @param {*} [options] Override http request option.
15108
+ * @throws {RequiredError}
15109
+ */
15110
+ generateUploadURLV1(websiteUid: string, options?: RawAxiosRequestConfig): AxiosPromise<AgencyHostingV1FilesUploadUrlResource> {
15111
+ return localVarFp.generateUploadURLV1(websiteUid, options).then((request) => request(axios, basePath));
15112
+ },
14693
15113
  /**
14694
15114
  * 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.
14695
15115
  * @summary Import website from archive
@@ -14711,6 +15131,18 @@ export const AgencyHostingFilesApiFactory = function (configuration?: Configurat
14711
15131
  * @extends {BaseAPI}
14712
15132
  */
14713
15133
  export class AgencyHostingFilesApi extends BaseAPI {
15134
+ /**
15135
+ * 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 ```
15136
+ * @summary Generate upload URL
15137
+ * @param {string} websiteUid Agency Plan website UID
15138
+ * @param {*} [options] Override http request option.
15139
+ * @throws {RequiredError}
15140
+ * @memberof AgencyHostingFilesApi
15141
+ */
15142
+ public generateUploadURLV1(websiteUid: string, options?: RawAxiosRequestConfig) {
15143
+ return AgencyHostingFilesApiFp(this.configuration).generateUploadURLV1(websiteUid, options).then((request) => request(this.axios, this.basePath));
15144
+ }
15145
+
14714
15146
  /**
14715
15147
  * 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
15148
  * @summary Import website from archive
@@ -24924,6 +25356,46 @@ export class HostingDomainsApi extends BaseAPI {
24924
25356
  */
24925
25357
  export const HostingFilesApiAxiosParamCreator = function (configuration?: Configuration) {
24926
25358
  return {
25359
+ /**
25360
+ * 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 ```
25361
+ * @summary Generate upload URL
25362
+ * @param {HostingV1FilesGenerateUploadUrlRequest} hostingV1FilesGenerateUploadUrlRequest
25363
+ * @param {*} [options] Override http request option.
25364
+ * @throws {RequiredError}
25365
+ */
25366
+ generateUploadURLV1: async (hostingV1FilesGenerateUploadUrlRequest: HostingV1FilesGenerateUploadUrlRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
25367
+ // verify required parameter 'hostingV1FilesGenerateUploadUrlRequest' is not null or undefined
25368
+ assertParamExists('generateUploadURLV1', 'hostingV1FilesGenerateUploadUrlRequest', hostingV1FilesGenerateUploadUrlRequest)
25369
+ const localVarPath = `/api/hosting/v1/files/upload-urls`;
25370
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
25371
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
25372
+ let baseOptions;
25373
+ if (configuration) {
25374
+ baseOptions = configuration.baseOptions;
25375
+ }
25376
+
25377
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
25378
+ const localVarHeaderParameter = {} as any;
25379
+ const localVarQueryParameter = {} as any;
25380
+
25381
+ // authentication apiToken required
25382
+ // http bearer authentication required
25383
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
25384
+
25385
+
25386
+
25387
+ localVarHeaderParameter['Content-Type'] = 'application/json';
25388
+
25389
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
25390
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
25391
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
25392
+ localVarRequestOptions.data = serializeDataIfNeeded(hostingV1FilesGenerateUploadUrlRequest, localVarRequestOptions, configuration)
25393
+
25394
+ return {
25395
+ url: toPathString(localVarUrlObj),
25396
+ options: localVarRequestOptions,
25397
+ };
25398
+ },
24927
25399
  /**
24928
25400
  * 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.
24929
25401
  * @summary Get website file content
@@ -25060,6 +25532,18 @@ export const HostingFilesApiAxiosParamCreator = function (configuration?: Config
25060
25532
  export const HostingFilesApiFp = function(configuration?: Configuration) {
25061
25533
  const localVarAxiosParamCreator = HostingFilesApiAxiosParamCreator(configuration)
25062
25534
  return {
25535
+ /**
25536
+ * 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 ```
25537
+ * @summary Generate upload URL
25538
+ * @param {HostingV1FilesGenerateUploadUrlRequest} hostingV1FilesGenerateUploadUrlRequest
25539
+ * @param {*} [options] Override http request option.
25540
+ * @throws {RequiredError}
25541
+ */
25542
+ async generateUploadURLV1(hostingV1FilesGenerateUploadUrlRequest: HostingV1FilesGenerateUploadUrlRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<HostingV1FilesUploadUrlResource>> {
25543
+ const localVarAxiosArgs = await localVarAxiosParamCreator.generateUploadURLV1(hostingV1FilesGenerateUploadUrlRequest, options);
25544
+ const localVarOperationServerBasePath = operationServerMap['HostingFilesApi.generateUploadURLV1']?.[0]?.url;
25545
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
25546
+ },
25063
25547
  /**
25064
25548
  * 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.
25065
25549
  * @summary Get website file content
@@ -25104,6 +25588,16 @@ export const HostingFilesApiFp = function(configuration?: Configuration) {
25104
25588
  export const HostingFilesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
25105
25589
  const localVarFp = HostingFilesApiFp(configuration)
25106
25590
  return {
25591
+ /**
25592
+ * 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 ```
25593
+ * @summary Generate upload URL
25594
+ * @param {HostingV1FilesGenerateUploadUrlRequest} hostingV1FilesGenerateUploadUrlRequest
25595
+ * @param {*} [options] Override http request option.
25596
+ * @throws {RequiredError}
25597
+ */
25598
+ generateUploadURLV1(hostingV1FilesGenerateUploadUrlRequest: HostingV1FilesGenerateUploadUrlRequest, options?: RawAxiosRequestConfig): AxiosPromise<HostingV1FilesUploadUrlResource> {
25599
+ return localVarFp.generateUploadURLV1(hostingV1FilesGenerateUploadUrlRequest, options).then((request) => request(axios, basePath));
25600
+ },
25107
25601
  /**
25108
25602
  * 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.
25109
25603
  * @summary Get website file content
@@ -25144,6 +25638,18 @@ export const HostingFilesApiFactory = function (configuration?: Configuration, b
25144
25638
  * @extends {BaseAPI}
25145
25639
  */
25146
25640
  export class HostingFilesApi extends BaseAPI {
25641
+ /**
25642
+ * 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 ```
25643
+ * @summary Generate upload URL
25644
+ * @param {HostingV1FilesGenerateUploadUrlRequest} hostingV1FilesGenerateUploadUrlRequest
25645
+ * @param {*} [options] Override http request option.
25646
+ * @throws {RequiredError}
25647
+ * @memberof HostingFilesApi
25648
+ */
25649
+ public generateUploadURLV1(hostingV1FilesGenerateUploadUrlRequest: HostingV1FilesGenerateUploadUrlRequest, options?: RawAxiosRequestConfig) {
25650
+ return HostingFilesApiFp(this.configuration).generateUploadURLV1(hostingV1FilesGenerateUploadUrlRequest, options).then((request) => request(this.axios, this.basePath));
25651
+ }
25652
+
25147
25653
  /**
25148
25654
  * 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.
25149
25655
  * @summary Get website file content
@@ -25198,7 +25704,7 @@ export type ListWebsiteFilesAndDirectoriesV1FileTypesEnum = typeof ListWebsiteFi
25198
25704
  export const HostingNodeJSApiAxiosParamCreator = function (configuration?: Configuration) {
25199
25705
  return {
25200
25706
  /**
25201
- * 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.
25707
+ * 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.
25202
25708
  * @summary Create NodeJS build from archive
25203
25709
  * @param {string} username
25204
25710
  * @param {string} domain Domain name
@@ -25287,6 +25793,55 @@ export const HostingNodeJSApiAxiosParamCreator = function (configuration?: Confi
25287
25793
 
25288
25794
 
25289
25795
 
25796
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
25797
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
25798
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
25799
+
25800
+ return {
25801
+ url: toPathString(localVarUrlObj),
25802
+ options: localVarRequestOptions,
25803
+ };
25804
+ },
25805
+ /**
25806
+ * 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.
25807
+ * @summary Get Node.js build settings from archive
25808
+ * @param {string} username
25809
+ * @param {string} domain Domain name
25810
+ * @param {string} archivePath The path to the archive file relative to the document root of the vhost
25811
+ * @param {*} [options] Override http request option.
25812
+ * @throws {RequiredError}
25813
+ */
25814
+ getNodeJsBuildSettingsFromArchiveV1: async (username: string, domain: string, archivePath: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
25815
+ // verify required parameter 'username' is not null or undefined
25816
+ assertParamExists('getNodeJsBuildSettingsFromArchiveV1', 'username', username)
25817
+ // verify required parameter 'domain' is not null or undefined
25818
+ assertParamExists('getNodeJsBuildSettingsFromArchiveV1', 'domain', domain)
25819
+ // verify required parameter 'archivePath' is not null or undefined
25820
+ assertParamExists('getNodeJsBuildSettingsFromArchiveV1', 'archivePath', archivePath)
25821
+ const localVarPath = `/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/settings/from-archive`
25822
+ .replace(`{${"username"}}`, encodeURIComponent(String(username)))
25823
+ .replace(`{${"domain"}}`, encodeURIComponent(String(domain)));
25824
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
25825
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
25826
+ let baseOptions;
25827
+ if (configuration) {
25828
+ baseOptions = configuration.baseOptions;
25829
+ }
25830
+
25831
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
25832
+ const localVarHeaderParameter = {} as any;
25833
+ const localVarQueryParameter = {} as any;
25834
+
25835
+ // authentication apiToken required
25836
+ // http bearer authentication required
25837
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
25838
+
25839
+ if (archivePath !== undefined) {
25840
+ localVarQueryParameter['archive_path'] = archivePath;
25841
+ }
25842
+
25843
+
25844
+
25290
25845
  setSearchParams(localVarUrlObj, localVarQueryParameter);
25291
25846
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
25292
25847
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -25485,6 +26040,54 @@ export const HostingNodeJSApiAxiosParamCreator = function (configuration?: Confi
25485
26040
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
25486
26041
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
25487
26042
 
26043
+ return {
26044
+ url: toPathString(localVarUrlObj),
26045
+ options: localVarRequestOptions,
26046
+ };
26047
+ },
26048
+ /**
26049
+ * 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.
26050
+ * @summary Start Node.js build
26051
+ * @param {string} username
26052
+ * @param {string} domain Domain name
26053
+ * @param {HostingV1NodeJsStartBuildRequest} hostingV1NodeJsStartBuildRequest
26054
+ * @param {*} [options] Override http request option.
26055
+ * @throws {RequiredError}
26056
+ */
26057
+ startNodeJsBuildV1: async (username: string, domain: string, hostingV1NodeJsStartBuildRequest: HostingV1NodeJsStartBuildRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
26058
+ // verify required parameter 'username' is not null or undefined
26059
+ assertParamExists('startNodeJsBuildV1', 'username', username)
26060
+ // verify required parameter 'domain' is not null or undefined
26061
+ assertParamExists('startNodeJsBuildV1', 'domain', domain)
26062
+ // verify required parameter 'hostingV1NodeJsStartBuildRequest' is not null or undefined
26063
+ assertParamExists('startNodeJsBuildV1', 'hostingV1NodeJsStartBuildRequest', hostingV1NodeJsStartBuildRequest)
26064
+ const localVarPath = `/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds`
26065
+ .replace(`{${"username"}}`, encodeURIComponent(String(username)))
26066
+ .replace(`{${"domain"}}`, encodeURIComponent(String(domain)));
26067
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
26068
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
26069
+ let baseOptions;
26070
+ if (configuration) {
26071
+ baseOptions = configuration.baseOptions;
26072
+ }
26073
+
26074
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
26075
+ const localVarHeaderParameter = {} as any;
26076
+ const localVarQueryParameter = {} as any;
26077
+
26078
+ // authentication apiToken required
26079
+ // http bearer authentication required
26080
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
26081
+
26082
+
26083
+
26084
+ localVarHeaderParameter['Content-Type'] = 'application/json';
26085
+
26086
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
26087
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
26088
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
26089
+ localVarRequestOptions.data = serializeDataIfNeeded(hostingV1NodeJsStartBuildRequest, localVarRequestOptions, configuration)
26090
+
25488
26091
  return {
25489
26092
  url: toPathString(localVarUrlObj),
25490
26093
  options: localVarRequestOptions,
@@ -25501,7 +26104,7 @@ export const HostingNodeJSApiFp = function(configuration?: Configuration) {
25501
26104
  const localVarAxiosParamCreator = HostingNodeJSApiAxiosParamCreator(configuration)
25502
26105
  return {
25503
26106
  /**
25504
- * 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.
26107
+ * 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.
25505
26108
  * @summary Create NodeJS build from archive
25506
26109
  * @param {string} username
25507
26110
  * @param {string} domain Domain name
@@ -25529,6 +26132,20 @@ export const HostingNodeJSApiFp = function(configuration?: Configuration) {
25529
26132
  const localVarOperationServerBasePath = operationServerMap['HostingNodeJSApi.getNodeJSBuildLogsV1']?.[0]?.url;
25530
26133
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
25531
26134
  },
26135
+ /**
26136
+ * 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.
26137
+ * @summary Get Node.js build settings from archive
26138
+ * @param {string} username
26139
+ * @param {string} domain Domain name
26140
+ * @param {string} archivePath The path to the archive file relative to the document root of the vhost
26141
+ * @param {*} [options] Override http request option.
26142
+ * @throws {RequiredError}
26143
+ */
26144
+ async getNodeJsBuildSettingsFromArchiveV1(username: string, domain: string, archivePath: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<HostingV1NodeJsBuildSettingsResource>> {
26145
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getNodeJsBuildSettingsFromArchiveV1(username, domain, archivePath, options);
26146
+ const localVarOperationServerBasePath = operationServerMap['HostingNodeJSApi.getNodeJsBuildSettingsFromArchiveV1']?.[0]?.url;
26147
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
26148
+ },
25532
26149
  /**
25533
26150
  * 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.
25534
26151
  * @summary List NodeJS builds
@@ -25586,6 +26203,20 @@ export const HostingNodeJSApiFp = function(configuration?: Configuration) {
25586
26203
  const localVarOperationServerBasePath = operationServerMap['HostingNodeJSApi.restartNodeJsApplicationV1']?.[0]?.url;
25587
26204
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
25588
26205
  },
26206
+ /**
26207
+ * 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.
26208
+ * @summary Start Node.js build
26209
+ * @param {string} username
26210
+ * @param {string} domain Domain name
26211
+ * @param {HostingV1NodeJsStartBuildRequest} hostingV1NodeJsStartBuildRequest
26212
+ * @param {*} [options] Override http request option.
26213
+ * @throws {RequiredError}
26214
+ */
26215
+ async startNodeJsBuildV1(username: string, domain: string, hostingV1NodeJsStartBuildRequest: HostingV1NodeJsStartBuildRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<HostingV1NodeJsBuildResource>> {
26216
+ const localVarAxiosArgs = await localVarAxiosParamCreator.startNodeJsBuildV1(username, domain, hostingV1NodeJsStartBuildRequest, options);
26217
+ const localVarOperationServerBasePath = operationServerMap['HostingNodeJSApi.startNodeJsBuildV1']?.[0]?.url;
26218
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
26219
+ },
25589
26220
  }
25590
26221
  };
25591
26222
 
@@ -25597,7 +26228,7 @@ export const HostingNodeJSApiFactory = function (configuration?: Configuration,
25597
26228
  const localVarFp = HostingNodeJSApiFp(configuration)
25598
26229
  return {
25599
26230
  /**
25600
- * 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.
26231
+ * 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.
25601
26232
  * @summary Create NodeJS build from archive
25602
26233
  * @param {string} username
25603
26234
  * @param {string} domain Domain name
@@ -25621,6 +26252,18 @@ export const HostingNodeJSApiFactory = function (configuration?: Configuration,
25621
26252
  getNodeJSBuildLogsV1(username: string, domain: string, uuid: string, fromLine?: number | null, options?: RawAxiosRequestConfig): AxiosPromise<HostingV1NodeJsBuildLogsResource> {
25622
26253
  return localVarFp.getNodeJSBuildLogsV1(username, domain, uuid, fromLine, options).then((request) => request(axios, basePath));
25623
26254
  },
26255
+ /**
26256
+ * 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.
26257
+ * @summary Get Node.js build settings from archive
26258
+ * @param {string} username
26259
+ * @param {string} domain Domain name
26260
+ * @param {string} archivePath The path to the archive file relative to the document root of the vhost
26261
+ * @param {*} [options] Override http request option.
26262
+ * @throws {RequiredError}
26263
+ */
26264
+ getNodeJsBuildSettingsFromArchiveV1(username: string, domain: string, archivePath: string, options?: RawAxiosRequestConfig): AxiosPromise<HostingV1NodeJsBuildSettingsResource> {
26265
+ return localVarFp.getNodeJsBuildSettingsFromArchiveV1(username, domain, archivePath, options).then((request) => request(axios, basePath));
26266
+ },
25624
26267
  /**
25625
26268
  * 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.
25626
26269
  * @summary List NodeJS builds
@@ -25670,6 +26313,18 @@ export const HostingNodeJSApiFactory = function (configuration?: Configuration,
25670
26313
  restartNodeJsApplicationV1(username: string, domain: string, options?: RawAxiosRequestConfig): AxiosPromise<CommonSuccessEmptyResource> {
25671
26314
  return localVarFp.restartNodeJsApplicationV1(username, domain, options).then((request) => request(axios, basePath));
25672
26315
  },
26316
+ /**
26317
+ * 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.
26318
+ * @summary Start Node.js build
26319
+ * @param {string} username
26320
+ * @param {string} domain Domain name
26321
+ * @param {HostingV1NodeJsStartBuildRequest} hostingV1NodeJsStartBuildRequest
26322
+ * @param {*} [options] Override http request option.
26323
+ * @throws {RequiredError}
26324
+ */
26325
+ startNodeJsBuildV1(username: string, domain: string, hostingV1NodeJsStartBuildRequest: HostingV1NodeJsStartBuildRequest, options?: RawAxiosRequestConfig): AxiosPromise<HostingV1NodeJsBuildResource> {
26326
+ return localVarFp.startNodeJsBuildV1(username, domain, hostingV1NodeJsStartBuildRequest, options).then((request) => request(axios, basePath));
26327
+ },
25673
26328
  };
25674
26329
  };
25675
26330
 
@@ -25681,7 +26336,7 @@ export const HostingNodeJSApiFactory = function (configuration?: Configuration,
25681
26336
  */
25682
26337
  export class HostingNodeJSApi extends BaseAPI {
25683
26338
  /**
25684
- * 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.
26339
+ * 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.
25685
26340
  * @summary Create NodeJS build from archive
25686
26341
  * @param {string} username
25687
26342
  * @param {string} domain Domain name
@@ -25709,6 +26364,20 @@ export class HostingNodeJSApi extends BaseAPI {
25709
26364
  return HostingNodeJSApiFp(this.configuration).getNodeJSBuildLogsV1(username, domain, uuid, fromLine, options).then((request) => request(this.axios, this.basePath));
25710
26365
  }
25711
26366
 
26367
+ /**
26368
+ * 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.
26369
+ * @summary Get Node.js build settings from archive
26370
+ * @param {string} username
26371
+ * @param {string} domain Domain name
26372
+ * @param {string} archivePath The path to the archive file relative to the document root of the vhost
26373
+ * @param {*} [options] Override http request option.
26374
+ * @throws {RequiredError}
26375
+ * @memberof HostingNodeJSApi
26376
+ */
26377
+ public getNodeJsBuildSettingsFromArchiveV1(username: string, domain: string, archivePath: string, options?: RawAxiosRequestConfig) {
26378
+ return HostingNodeJSApiFp(this.configuration).getNodeJsBuildSettingsFromArchiveV1(username, domain, archivePath, options).then((request) => request(this.axios, this.basePath));
26379
+ }
26380
+
25712
26381
  /**
25713
26382
  * 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.
25714
26383
  * @summary List NodeJS builds
@@ -25765,6 +26434,20 @@ export class HostingNodeJSApi extends BaseAPI {
25765
26434
  public restartNodeJsApplicationV1(username: string, domain: string, options?: RawAxiosRequestConfig) {
25766
26435
  return HostingNodeJSApiFp(this.configuration).restartNodeJsApplicationV1(username, domain, options).then((request) => request(this.axios, this.basePath));
25767
26436
  }
26437
+
26438
+ /**
26439
+ * 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.
26440
+ * @summary Start Node.js build
26441
+ * @param {string} username
26442
+ * @param {string} domain Domain name
26443
+ * @param {HostingV1NodeJsStartBuildRequest} hostingV1NodeJsStartBuildRequest
26444
+ * @param {*} [options] Override http request option.
26445
+ * @throws {RequiredError}
26446
+ * @memberof HostingNodeJSApi
26447
+ */
26448
+ public startNodeJsBuildV1(username: string, domain: string, hostingV1NodeJsStartBuildRequest: HostingV1NodeJsStartBuildRequest, options?: RawAxiosRequestConfig) {
26449
+ return HostingNodeJSApiFp(this.configuration).startNodeJsBuildV1(username, domain, hostingV1NodeJsStartBuildRequest, options).then((request) => request(this.axios, this.basePath));
26450
+ }
25768
26451
  }
25769
26452
 
25770
26453
  /**
@@ -26872,7 +27555,55 @@ export const HostingWebsitesApiAxiosParamCreator = function (configuration?: Con
26872
27555
  };
26873
27556
  },
26874
27557
  /**
26875
- * Retrieve a paginated list of websites (main and addon types) 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. Use the available query parameters to filter results by username, order ID, enabled status, or domain name for more targeted results.
27558
+ * 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`.
27559
+ * @summary Deploy static site archive
27560
+ * @param {string} username
27561
+ * @param {string} domain Domain name
27562
+ * @param {HostingV1WebsitesDeployArchiveRequest} hostingV1WebsitesDeployArchiveRequest
27563
+ * @param {*} [options] Override http request option.
27564
+ * @throws {RequiredError}
27565
+ */
27566
+ deployStaticSiteArchiveV1: async (username: string, domain: string, hostingV1WebsitesDeployArchiveRequest: HostingV1WebsitesDeployArchiveRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
27567
+ // verify required parameter 'username' is not null or undefined
27568
+ assertParamExists('deployStaticSiteArchiveV1', 'username', username)
27569
+ // verify required parameter 'domain' is not null or undefined
27570
+ assertParamExists('deployStaticSiteArchiveV1', 'domain', domain)
27571
+ // verify required parameter 'hostingV1WebsitesDeployArchiveRequest' is not null or undefined
27572
+ assertParamExists('deployStaticSiteArchiveV1', 'hostingV1WebsitesDeployArchiveRequest', hostingV1WebsitesDeployArchiveRequest)
27573
+ const localVarPath = `/api/hosting/v1/accounts/{username}/websites/{domain}/deploy`
27574
+ .replace(`{${"username"}}`, encodeURIComponent(String(username)))
27575
+ .replace(`{${"domain"}}`, encodeURIComponent(String(domain)));
27576
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
27577
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
27578
+ let baseOptions;
27579
+ if (configuration) {
27580
+ baseOptions = configuration.baseOptions;
27581
+ }
27582
+
27583
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
27584
+ const localVarHeaderParameter = {} as any;
27585
+ const localVarQueryParameter = {} as any;
27586
+
27587
+ // authentication apiToken required
27588
+ // http bearer authentication required
27589
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
27590
+
27591
+
27592
+
27593
+ localVarHeaderParameter['Content-Type'] = 'application/json';
27594
+
27595
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
27596
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
27597
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
27598
+ localVarRequestOptions.data = serializeDataIfNeeded(hostingV1WebsitesDeployArchiveRequest, localVarRequestOptions, configuration)
27599
+
27600
+ return {
27601
+ url: toPathString(localVarUrlObj),
27602
+ options: localVarRequestOptions,
27603
+ };
27604
+ },
27605
+ /**
27606
+ * 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.
26876
27607
  * @summary List websites
26877
27608
  * @param {number} [page] Page number
26878
27609
  * @param {number} [perPage] Number of items per page
@@ -26970,7 +27701,21 @@ export const HostingWebsitesApiFp = function(configuration?: Configuration) {
26970
27701
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
26971
27702
  },
26972
27703
  /**
26973
- * Retrieve a paginated list of websites (main and addon types) 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. Use the available query parameters to filter results by username, order ID, enabled status, or domain name for more targeted results.
27704
+ * 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`.
27705
+ * @summary Deploy static site archive
27706
+ * @param {string} username
27707
+ * @param {string} domain Domain name
27708
+ * @param {HostingV1WebsitesDeployArchiveRequest} hostingV1WebsitesDeployArchiveRequest
27709
+ * @param {*} [options] Override http request option.
27710
+ * @throws {RequiredError}
27711
+ */
27712
+ async deployStaticSiteArchiveV1(username: string, domain: string, hostingV1WebsitesDeployArchiveRequest: HostingV1WebsitesDeployArchiveRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CommonSuccessEmptyResource>> {
27713
+ const localVarAxiosArgs = await localVarAxiosParamCreator.deployStaticSiteArchiveV1(username, domain, hostingV1WebsitesDeployArchiveRequest, options);
27714
+ const localVarOperationServerBasePath = operationServerMap['HostingWebsitesApi.deployStaticSiteArchiveV1']?.[0]?.url;
27715
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
27716
+ },
27717
+ /**
27718
+ * 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.
26974
27719
  * @summary List websites
26975
27720
  * @param {number} [page] Page number
26976
27721
  * @param {number} [perPage] Number of items per page
@@ -27017,7 +27762,19 @@ export const HostingWebsitesApiFactory = function (configuration?: Configuration
27017
27762
  return localVarFp.deleteWebsiteV1(domain, options).then((request) => request(axios, basePath));
27018
27763
  },
27019
27764
  /**
27020
- * Retrieve a paginated list of websites (main and addon types) 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. Use the available query parameters to filter results by username, order ID, enabled status, or domain name for more targeted results.
27765
+ * 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`.
27766
+ * @summary Deploy static site archive
27767
+ * @param {string} username
27768
+ * @param {string} domain Domain name
27769
+ * @param {HostingV1WebsitesDeployArchiveRequest} hostingV1WebsitesDeployArchiveRequest
27770
+ * @param {*} [options] Override http request option.
27771
+ * @throws {RequiredError}
27772
+ */
27773
+ deployStaticSiteArchiveV1(username: string, domain: string, hostingV1WebsitesDeployArchiveRequest: HostingV1WebsitesDeployArchiveRequest, options?: RawAxiosRequestConfig): AxiosPromise<CommonSuccessEmptyResource> {
27774
+ return localVarFp.deployStaticSiteArchiveV1(username, domain, hostingV1WebsitesDeployArchiveRequest, options).then((request) => request(axios, basePath));
27775
+ },
27776
+ /**
27777
+ * 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.
27021
27778
  * @summary List websites
27022
27779
  * @param {number} [page] Page number
27023
27780
  * @param {number} [perPage] Number of items per page
@@ -27066,7 +27823,21 @@ export class HostingWebsitesApi extends BaseAPI {
27066
27823
  }
27067
27824
 
27068
27825
  /**
27069
- * Retrieve a paginated list of websites (main and addon types) 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. Use the available query parameters to filter results by username, order ID, enabled status, or domain name for more targeted results.
27826
+ * 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`.
27827
+ * @summary Deploy static site archive
27828
+ * @param {string} username
27829
+ * @param {string} domain Domain name
27830
+ * @param {HostingV1WebsitesDeployArchiveRequest} hostingV1WebsitesDeployArchiveRequest
27831
+ * @param {*} [options] Override http request option.
27832
+ * @throws {RequiredError}
27833
+ * @memberof HostingWebsitesApi
27834
+ */
27835
+ public deployStaticSiteArchiveV1(username: string, domain: string, hostingV1WebsitesDeployArchiveRequest: HostingV1WebsitesDeployArchiveRequest, options?: RawAxiosRequestConfig) {
27836
+ return HostingWebsitesApiFp(this.configuration).deployStaticSiteArchiveV1(username, domain, hostingV1WebsitesDeployArchiveRequest, options).then((request) => request(this.axios, this.basePath));
27837
+ }
27838
+
27839
+ /**
27840
+ * 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.
27070
27841
  * @summary List websites
27071
27842
  * @param {number} [page] Page number
27072
27843
  * @param {number} [perPage] Number of items per page
@@ -40675,6 +41446,54 @@ export const WordPressInstallationsApiAxiosParamCreator = function (configuratio
40675
41446
  options: localVarRequestOptions,
40676
41447
  };
40677
41448
  },
41449
+ /**
41450
+ * 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.
41451
+ * @summary Import WordPress website
41452
+ * @param {string} username
41453
+ * @param {string} domain Domain name
41454
+ * @param {WordPressV1InstallationsImportWordPressRequest} wordPressV1InstallationsImportWordPressRequest
41455
+ * @param {*} [options] Override http request option.
41456
+ * @throws {RequiredError}
41457
+ */
41458
+ importWordPressWebsiteV1: async (username: string, domain: string, wordPressV1InstallationsImportWordPressRequest: WordPressV1InstallationsImportWordPressRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
41459
+ // verify required parameter 'username' is not null or undefined
41460
+ assertParamExists('importWordPressWebsiteV1', 'username', username)
41461
+ // verify required parameter 'domain' is not null or undefined
41462
+ assertParamExists('importWordPressWebsiteV1', 'domain', domain)
41463
+ // verify required parameter 'wordPressV1InstallationsImportWordPressRequest' is not null or undefined
41464
+ assertParamExists('importWordPressWebsiteV1', 'wordPressV1InstallationsImportWordPressRequest', wordPressV1InstallationsImportWordPressRequest)
41465
+ const localVarPath = `/api/hosting/v1/accounts/{username}/websites/{domain}/wordpress/import`
41466
+ .replace(`{${"username"}}`, encodeURIComponent(String(username)))
41467
+ .replace(`{${"domain"}}`, encodeURIComponent(String(domain)));
41468
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
41469
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
41470
+ let baseOptions;
41471
+ if (configuration) {
41472
+ baseOptions = configuration.baseOptions;
41473
+ }
41474
+
41475
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
41476
+ const localVarHeaderParameter = {} as any;
41477
+ const localVarQueryParameter = {} as any;
41478
+
41479
+ // authentication apiToken required
41480
+ // http bearer authentication required
41481
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
41482
+
41483
+
41484
+
41485
+ localVarHeaderParameter['Content-Type'] = 'application/json';
41486
+
41487
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
41488
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
41489
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
41490
+ localVarRequestOptions.data = serializeDataIfNeeded(wordPressV1InstallationsImportWordPressRequest, localVarRequestOptions, configuration)
41491
+
41492
+ return {
41493
+ url: toPathString(localVarUrlObj),
41494
+ options: localVarRequestOptions,
41495
+ };
41496
+ },
40678
41497
  /**
40679
41498
  * 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.
40680
41499
  * @summary Install WordPress
@@ -40962,6 +41781,20 @@ export const WordPressInstallationsApiFp = function(configuration?: Configuratio
40962
41781
  const localVarOperationServerBasePath = operationServerMap['WordPressInstallationsApi.getInstallationJWTTokenV1']?.[0]?.url;
40963
41782
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
40964
41783
  },
41784
+ /**
41785
+ * 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.
41786
+ * @summary Import WordPress website
41787
+ * @param {string} username
41788
+ * @param {string} domain Domain name
41789
+ * @param {WordPressV1InstallationsImportWordPressRequest} wordPressV1InstallationsImportWordPressRequest
41790
+ * @param {*} [options] Override http request option.
41791
+ * @throws {RequiredError}
41792
+ */
41793
+ async importWordPressWebsiteV1(username: string, domain: string, wordPressV1InstallationsImportWordPressRequest: WordPressV1InstallationsImportWordPressRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CommonSuccessEmptyResource>> {
41794
+ const localVarAxiosArgs = await localVarAxiosParamCreator.importWordPressWebsiteV1(username, domain, wordPressV1InstallationsImportWordPressRequest, options);
41795
+ const localVarOperationServerBasePath = operationServerMap['WordPressInstallationsApi.importWordPressWebsiteV1']?.[0]?.url;
41796
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
41797
+ },
40965
41798
  /**
40966
41799
  * 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.
40967
41800
  * @summary Install WordPress
@@ -41083,6 +41916,18 @@ export const WordPressInstallationsApiFactory = function (configuration?: Config
41083
41916
  getInstallationJWTTokenV1(username: string, software: string, options?: RawAxiosRequestConfig): AxiosPromise<WordPressV1InstallationsJwtTokenResource> {
41084
41917
  return localVarFp.getInstallationJWTTokenV1(username, software, options).then((request) => request(axios, basePath));
41085
41918
  },
41919
+ /**
41920
+ * 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.
41921
+ * @summary Import WordPress website
41922
+ * @param {string} username
41923
+ * @param {string} domain Domain name
41924
+ * @param {WordPressV1InstallationsImportWordPressRequest} wordPressV1InstallationsImportWordPressRequest
41925
+ * @param {*} [options] Override http request option.
41926
+ * @throws {RequiredError}
41927
+ */
41928
+ importWordPressWebsiteV1(username: string, domain: string, wordPressV1InstallationsImportWordPressRequest: WordPressV1InstallationsImportWordPressRequest, options?: RawAxiosRequestConfig): AxiosPromise<CommonSuccessEmptyResource> {
41929
+ return localVarFp.importWordPressWebsiteV1(username, domain, wordPressV1InstallationsImportWordPressRequest, options).then((request) => request(axios, basePath));
41930
+ },
41086
41931
  /**
41087
41932
  * 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.
41088
41933
  * @summary Install WordPress
@@ -41202,6 +42047,20 @@ export class WordPressInstallationsApi extends BaseAPI {
41202
42047
  return WordPressInstallationsApiFp(this.configuration).getInstallationJWTTokenV1(username, software, options).then((request) => request(this.axios, this.basePath));
41203
42048
  }
41204
42049
 
42050
+ /**
42051
+ * 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.
42052
+ * @summary Import WordPress website
42053
+ * @param {string} username
42054
+ * @param {string} domain Domain name
42055
+ * @param {WordPressV1InstallationsImportWordPressRequest} wordPressV1InstallationsImportWordPressRequest
42056
+ * @param {*} [options] Override http request option.
42057
+ * @throws {RequiredError}
42058
+ * @memberof WordPressInstallationsApi
42059
+ */
42060
+ public importWordPressWebsiteV1(username: string, domain: string, wordPressV1InstallationsImportWordPressRequest: WordPressV1InstallationsImportWordPressRequest, options?: RawAxiosRequestConfig) {
42061
+ return WordPressInstallationsApiFp(this.configuration).importWordPressWebsiteV1(username, domain, wordPressV1InstallationsImportWordPressRequest, options).then((request) => request(this.axios, this.basePath));
42062
+ }
42063
+
41205
42064
  /**
41206
42065
  * 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.
41207
42066
  * @summary Install WordPress
@@ -42149,6 +43008,54 @@ export const WordPressPluginsApiAxiosParamCreator = function (configuration?: Co
42149
43008
  options: localVarRequestOptions,
42150
43009
  };
42151
43010
  },
43011
+ /**
43012
+ * 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.
43013
+ * @summary Deploy WordPress plugin
43014
+ * @param {string} username
43015
+ * @param {string} domain Domain name
43016
+ * @param {WordPressV1PluginsDeployPluginRequest} wordPressV1PluginsDeployPluginRequest
43017
+ * @param {*} [options] Override http request option.
43018
+ * @throws {RequiredError}
43019
+ */
43020
+ deployWordPressPluginV1: async (username: string, domain: string, wordPressV1PluginsDeployPluginRequest: WordPressV1PluginsDeployPluginRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
43021
+ // verify required parameter 'username' is not null or undefined
43022
+ assertParamExists('deployWordPressPluginV1', 'username', username)
43023
+ // verify required parameter 'domain' is not null or undefined
43024
+ assertParamExists('deployWordPressPluginV1', 'domain', domain)
43025
+ // verify required parameter 'wordPressV1PluginsDeployPluginRequest' is not null or undefined
43026
+ assertParamExists('deployWordPressPluginV1', 'wordPressV1PluginsDeployPluginRequest', wordPressV1PluginsDeployPluginRequest)
43027
+ const localVarPath = `/api/hosting/v1/accounts/{username}/websites/{domain}/wordpress/plugins/deploy`
43028
+ .replace(`{${"username"}}`, encodeURIComponent(String(username)))
43029
+ .replace(`{${"domain"}}`, encodeURIComponent(String(domain)));
43030
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
43031
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
43032
+ let baseOptions;
43033
+ if (configuration) {
43034
+ baseOptions = configuration.baseOptions;
43035
+ }
43036
+
43037
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
43038
+ const localVarHeaderParameter = {} as any;
43039
+ const localVarQueryParameter = {} as any;
43040
+
43041
+ // authentication apiToken required
43042
+ // http bearer authentication required
43043
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
43044
+
43045
+
43046
+
43047
+ localVarHeaderParameter['Content-Type'] = 'application/json';
43048
+
43049
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
43050
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
43051
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
43052
+ localVarRequestOptions.data = serializeDataIfNeeded(wordPressV1PluginsDeployPluginRequest, localVarRequestOptions, configuration)
43053
+
43054
+ return {
43055
+ url: toPathString(localVarUrlObj),
43056
+ options: localVarRequestOptions,
43057
+ };
43058
+ },
42152
43059
  /**
42153
43060
  * 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.
42154
43061
  * @summary Install WordPress plugins
@@ -42560,6 +43467,20 @@ export const WordPressPluginsApiFp = function(configuration?: Configuration) {
42560
43467
  const localVarOperationServerBasePath = operationServerMap['WordPressPluginsApi.deactivateWordPressPluginV1']?.[0]?.url;
42561
43468
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
42562
43469
  },
43470
+ /**
43471
+ * 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.
43472
+ * @summary Deploy WordPress plugin
43473
+ * @param {string} username
43474
+ * @param {string} domain Domain name
43475
+ * @param {WordPressV1PluginsDeployPluginRequest} wordPressV1PluginsDeployPluginRequest
43476
+ * @param {*} [options] Override http request option.
43477
+ * @throws {RequiredError}
43478
+ */
43479
+ async deployWordPressPluginV1(username: string, domain: string, wordPressV1PluginsDeployPluginRequest: WordPressV1PluginsDeployPluginRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CommonSuccessEmptyResource>> {
43480
+ const localVarAxiosArgs = await localVarAxiosParamCreator.deployWordPressPluginV1(username, domain, wordPressV1PluginsDeployPluginRequest, options);
43481
+ const localVarOperationServerBasePath = operationServerMap['WordPressPluginsApi.deployWordPressPluginV1']?.[0]?.url;
43482
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
43483
+ },
42563
43484
  /**
42564
43485
  * 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.
42565
43486
  * @summary Install WordPress plugins
@@ -42711,6 +43632,18 @@ export const WordPressPluginsApiFactory = function (configuration?: Configuratio
42711
43632
  deactivateWordPressPluginV1(username: string, software: string, wordPressV1PluginsDeactivatePluginRequest: WordPressV1PluginsDeactivatePluginRequest, options?: RawAxiosRequestConfig): AxiosPromise<CommonSuccessEmptyResource> {
42712
43633
  return localVarFp.deactivateWordPressPluginV1(username, software, wordPressV1PluginsDeactivatePluginRequest, options).then((request) => request(axios, basePath));
42713
43634
  },
43635
+ /**
43636
+ * 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.
43637
+ * @summary Deploy WordPress plugin
43638
+ * @param {string} username
43639
+ * @param {string} domain Domain name
43640
+ * @param {WordPressV1PluginsDeployPluginRequest} wordPressV1PluginsDeployPluginRequest
43641
+ * @param {*} [options] Override http request option.
43642
+ * @throws {RequiredError}
43643
+ */
43644
+ deployWordPressPluginV1(username: string, domain: string, wordPressV1PluginsDeployPluginRequest: WordPressV1PluginsDeployPluginRequest, options?: RawAxiosRequestConfig): AxiosPromise<CommonSuccessEmptyResource> {
43645
+ return localVarFp.deployWordPressPluginV1(username, domain, wordPressV1PluginsDeployPluginRequest, options).then((request) => request(axios, basePath));
43646
+ },
42714
43647
  /**
42715
43648
  * 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.
42716
43649
  * @summary Install WordPress plugins
@@ -42852,6 +43785,20 @@ export class WordPressPluginsApi extends BaseAPI {
42852
43785
  return WordPressPluginsApiFp(this.configuration).deactivateWordPressPluginV1(username, software, wordPressV1PluginsDeactivatePluginRequest, options).then((request) => request(this.axios, this.basePath));
42853
43786
  }
42854
43787
 
43788
+ /**
43789
+ * 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.
43790
+ * @summary Deploy WordPress plugin
43791
+ * @param {string} username
43792
+ * @param {string} domain Domain name
43793
+ * @param {WordPressV1PluginsDeployPluginRequest} wordPressV1PluginsDeployPluginRequest
43794
+ * @param {*} [options] Override http request option.
43795
+ * @throws {RequiredError}
43796
+ * @memberof WordPressPluginsApi
43797
+ */
43798
+ public deployWordPressPluginV1(username: string, domain: string, wordPressV1PluginsDeployPluginRequest: WordPressV1PluginsDeployPluginRequest, options?: RawAxiosRequestConfig) {
43799
+ return WordPressPluginsApiFp(this.configuration).deployWordPressPluginV1(username, domain, wordPressV1PluginsDeployPluginRequest, options).then((request) => request(this.axios, this.basePath));
43800
+ }
43801
+
42855
43802
  /**
42856
43803
  * 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.
42857
43804
  * @summary Install WordPress plugins
@@ -43023,6 +43970,54 @@ export const WordPressThemesApiAxiosParamCreator = function (configuration?: Con
43023
43970
  options: localVarRequestOptions,
43024
43971
  };
43025
43972
  },
43973
+ /**
43974
+ * 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.
43975
+ * @summary Deploy WordPress theme
43976
+ * @param {string} username
43977
+ * @param {string} domain Domain name
43978
+ * @param {WordPressV1ThemesDeployThemeRequest} wordPressV1ThemesDeployThemeRequest
43979
+ * @param {*} [options] Override http request option.
43980
+ * @throws {RequiredError}
43981
+ */
43982
+ deployWordPressThemeV1: async (username: string, domain: string, wordPressV1ThemesDeployThemeRequest: WordPressV1ThemesDeployThemeRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
43983
+ // verify required parameter 'username' is not null or undefined
43984
+ assertParamExists('deployWordPressThemeV1', 'username', username)
43985
+ // verify required parameter 'domain' is not null or undefined
43986
+ assertParamExists('deployWordPressThemeV1', 'domain', domain)
43987
+ // verify required parameter 'wordPressV1ThemesDeployThemeRequest' is not null or undefined
43988
+ assertParamExists('deployWordPressThemeV1', 'wordPressV1ThemesDeployThemeRequest', wordPressV1ThemesDeployThemeRequest)
43989
+ const localVarPath = `/api/hosting/v1/accounts/{username}/websites/{domain}/wordpress/themes/deploy`
43990
+ .replace(`{${"username"}}`, encodeURIComponent(String(username)))
43991
+ .replace(`{${"domain"}}`, encodeURIComponent(String(domain)));
43992
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
43993
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
43994
+ let baseOptions;
43995
+ if (configuration) {
43996
+ baseOptions = configuration.baseOptions;
43997
+ }
43998
+
43999
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
44000
+ const localVarHeaderParameter = {} as any;
44001
+ const localVarQueryParameter = {} as any;
44002
+
44003
+ // authentication apiToken required
44004
+ // http bearer authentication required
44005
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
44006
+
44007
+
44008
+
44009
+ localVarHeaderParameter['Content-Type'] = 'application/json';
44010
+
44011
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
44012
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
44013
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
44014
+ localVarRequestOptions.data = serializeDataIfNeeded(wordPressV1ThemesDeployThemeRequest, localVarRequestOptions, configuration)
44015
+
44016
+ return {
44017
+ url: toPathString(localVarUrlObj),
44018
+ options: localVarRequestOptions,
44019
+ };
44020
+ },
43026
44021
  /**
43027
44022
  * 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.
43028
44023
  * @summary Install WordPress theme
@@ -43277,6 +44272,20 @@ export const WordPressThemesApiFp = function(configuration?: Configuration) {
43277
44272
  const localVarOperationServerBasePath = operationServerMap['WordPressThemesApi.activateWordPressThemeV1']?.[0]?.url;
43278
44273
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
43279
44274
  },
44275
+ /**
44276
+ * 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.
44277
+ * @summary Deploy WordPress theme
44278
+ * @param {string} username
44279
+ * @param {string} domain Domain name
44280
+ * @param {WordPressV1ThemesDeployThemeRequest} wordPressV1ThemesDeployThemeRequest
44281
+ * @param {*} [options] Override http request option.
44282
+ * @throws {RequiredError}
44283
+ */
44284
+ async deployWordPressThemeV1(username: string, domain: string, wordPressV1ThemesDeployThemeRequest: WordPressV1ThemesDeployThemeRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CommonSuccessEmptyResource>> {
44285
+ const localVarAxiosArgs = await localVarAxiosParamCreator.deployWordPressThemeV1(username, domain, wordPressV1ThemesDeployThemeRequest, options);
44286
+ const localVarOperationServerBasePath = operationServerMap['WordPressThemesApi.deployWordPressThemeV1']?.[0]?.url;
44287
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
44288
+ },
43280
44289
  /**
43281
44290
  * 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.
43282
44291
  * @summary Install WordPress theme
@@ -43367,6 +44376,18 @@ export const WordPressThemesApiFactory = function (configuration?: Configuration
43367
44376
  activateWordPressThemeV1(username: string, software: string, wordPressV1ThemesActivateThemeRequest: WordPressV1ThemesActivateThemeRequest, options?: RawAxiosRequestConfig): AxiosPromise<CommonSuccessEmptyResource> {
43368
44377
  return localVarFp.activateWordPressThemeV1(username, software, wordPressV1ThemesActivateThemeRequest, options).then((request) => request(axios, basePath));
43369
44378
  },
44379
+ /**
44380
+ * 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.
44381
+ * @summary Deploy WordPress theme
44382
+ * @param {string} username
44383
+ * @param {string} domain Domain name
44384
+ * @param {WordPressV1ThemesDeployThemeRequest} wordPressV1ThemesDeployThemeRequest
44385
+ * @param {*} [options] Override http request option.
44386
+ * @throws {RequiredError}
44387
+ */
44388
+ deployWordPressThemeV1(username: string, domain: string, wordPressV1ThemesDeployThemeRequest: WordPressV1ThemesDeployThemeRequest, options?: RawAxiosRequestConfig): AxiosPromise<CommonSuccessEmptyResource> {
44389
+ return localVarFp.deployWordPressThemeV1(username, domain, wordPressV1ThemesDeployThemeRequest, options).then((request) => request(axios, basePath));
44390
+ },
43370
44391
  /**
43371
44392
  * 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.
43372
44393
  * @summary Install WordPress theme
@@ -43449,6 +44470,20 @@ export class WordPressThemesApi extends BaseAPI {
43449
44470
  return WordPressThemesApiFp(this.configuration).activateWordPressThemeV1(username, software, wordPressV1ThemesActivateThemeRequest, options).then((request) => request(this.axios, this.basePath));
43450
44471
  }
43451
44472
 
44473
+ /**
44474
+ * 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.
44475
+ * @summary Deploy WordPress theme
44476
+ * @param {string} username
44477
+ * @param {string} domain Domain name
44478
+ * @param {WordPressV1ThemesDeployThemeRequest} wordPressV1ThemesDeployThemeRequest
44479
+ * @param {*} [options] Override http request option.
44480
+ * @throws {RequiredError}
44481
+ * @memberof WordPressThemesApi
44482
+ */
44483
+ public deployWordPressThemeV1(username: string, domain: string, wordPressV1ThemesDeployThemeRequest: WordPressV1ThemesDeployThemeRequest, options?: RawAxiosRequestConfig) {
44484
+ return WordPressThemesApiFp(this.configuration).deployWordPressThemeV1(username, domain, wordPressV1ThemesDeployThemeRequest, options).then((request) => request(this.axios, this.basePath));
44485
+ }
44486
+
43452
44487
  /**
43453
44488
  * 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.
43454
44489
  * @summary Install WordPress theme