hostinger-api-mcp 1.35.6 → 1.36.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.
@@ -14,6 +14,113 @@ export interface OpenApiTool extends Tool {
14
14
  }
15
15
 
16
16
  const tools: OpenApiTool[] = [
17
+ {
18
+ "name": "reach_getAutomationDetailsV1",
19
+ "description": "Get a single automation with the counts of contacts that entered it, are moving through it,\nfinished it or failed on the way.\n\nThis describes the automation itself. To see the workflow it runs, use the steps endpoint.",
20
+ "method": "GET",
21
+ "path": "/api/reach/v1/profiles/{profileUuid}/automations/{automationUuid}",
22
+ "inputSchema": {
23
+ "type": "object",
24
+ "properties": {
25
+ "profileUuid": {
26
+ "type": "string",
27
+ "description": "Profile uuid parameter"
28
+ },
29
+ "automationUuid": {
30
+ "type": "string",
31
+ "description": "Automation uuid parameter"
32
+ }
33
+ },
34
+ "required": [
35
+ "profileUuid",
36
+ "automationUuid"
37
+ ]
38
+ },
39
+ "security": [
40
+ {
41
+ "apiToken": []
42
+ }
43
+ ],
44
+ "group": "reach"
45
+ },
46
+ {
47
+ "name": "reach_listAutomationsV1",
48
+ "description": "Get a paginated list of the automations in a profile.\n\nEvery automation comes with the counts of contacts that entered it, are moving through it,\nfinished it or failed on the way. Those counts describe the contact journey and are not\nemail engagement metrics - for opens, clicks and unsubscribes use the campaign statistics\nendpoint instead.",
49
+ "method": "GET",
50
+ "path": "/api/reach/v1/profiles/{profileUuid}/automations",
51
+ "inputSchema": {
52
+ "type": "object",
53
+ "properties": {
54
+ "profileUuid": {
55
+ "type": "string",
56
+ "description": "Profile uuid parameter"
57
+ },
58
+ "status": {
59
+ "type": "string",
60
+ "description": "Filter automations by status.\n\nThere is no `completed` status. An automation that has finished for every contact still\nreports `active`.",
61
+ "enum": [
62
+ "active",
63
+ "paused",
64
+ "draft"
65
+ ]
66
+ },
67
+ "sort_direction": {
68
+ "type": "string",
69
+ "description": "Order automations by creation date. Newest first unless set to `asc`.",
70
+ "enum": [
71
+ "asc",
72
+ "desc"
73
+ ]
74
+ },
75
+ "page": {
76
+ "type": "integer",
77
+ "description": "Page number"
78
+ },
79
+ "per_page": {
80
+ "type": "integer",
81
+ "description": "Number of items per page"
82
+ }
83
+ },
84
+ "required": [
85
+ "profileUuid"
86
+ ]
87
+ },
88
+ "security": [
89
+ {
90
+ "apiToken": []
91
+ }
92
+ ],
93
+ "group": "reach"
94
+ },
95
+ {
96
+ "name": "reach_listAutomationStepsV1",
97
+ "description": "Get the workflow of an automation as a flat list of steps.\n\nThe steps form a tree rather than a straight line: follow `parent_uuid` to reconstruct the\nbranches, and use `step_order` to order the steps that share a parent. An automation with no\nsteps yet returns an empty list.",
98
+ "method": "GET",
99
+ "path": "/api/reach/v1/profiles/{profileUuid}/automations/{automationUuid}/steps",
100
+ "inputSchema": {
101
+ "type": "object",
102
+ "properties": {
103
+ "profileUuid": {
104
+ "type": "string",
105
+ "description": "Profile uuid parameter"
106
+ },
107
+ "automationUuid": {
108
+ "type": "string",
109
+ "description": "Automation uuid parameter"
110
+ }
111
+ },
112
+ "required": [
113
+ "profileUuid",
114
+ "automationUuid"
115
+ ]
116
+ },
117
+ "security": [
118
+ {
119
+ "apiToken": []
120
+ }
121
+ ],
122
+ "group": "reach"
123
+ },
17
124
  {
18
125
  "name": "reach_deleteAContactV1",
19
126
  "description": "Delete a contact with the specified UUID.\n\nThis endpoint permanently removes a contact from the email marketing system.\n\n**Deprecated.** This endpoint cannot target a profile, so it always falls back to the\nclient's default profile and cannot delete contacts of any other profile. Use\n`DELETE /api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}` instead.",
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/agency-hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/agency-hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/all.js';
5
5
 
6
- startServer({ name: 'hostinger-api-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/all.js';
5
5
 
6
- startServer({ name: 'hostinger-api-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/billing.js';
5
5
 
6
- startServer({ name: 'hostinger-billing-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/billing.js';
5
5
 
6
- startServer({ name: 'hostinger-billing-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/dns.js';
5
5
 
6
- startServer({ name: 'hostinger-dns-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/dns.js';
5
5
 
6
- startServer({ name: 'hostinger-dns-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/domains.js';
5
5
 
6
- startServer({ name: 'hostinger-domains-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/domains.js';
5
5
 
6
- startServer({ name: 'hostinger-domains-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/ecommerce.js';
5
5
 
6
- startServer({ name: 'hostinger-ecommerce-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/ecommerce.js';
5
5
 
6
- startServer({ name: 'hostinger-ecommerce-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/horizons.js';
5
5
 
6
- startServer({ name: 'hostinger-horizons-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/horizons.js';
5
5
 
6
- startServer({ name: 'hostinger-horizons-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-hosting-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-hosting-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/mail.js';
5
5
 
6
- startServer({ name: 'hostinger-mail-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/mail.js';
5
5
 
6
- startServer({ name: 'hostinger-mail-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/reach.js';
5
5
 
6
- startServer({ name: 'hostinger-reach-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/reach.js';
5
5
 
6
- startServer({ name: 'hostinger-reach-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/vps.js';
5
5
 
6
- startServer({ name: 'hostinger-vps-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/vps.js';
5
5
 
6
- startServer({ name: 'hostinger-vps-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/wordpress.js';
5
5
 
6
- startServer({ name: 'hostinger-wordpress-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.36.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/wordpress.js';
5
5
 
6
- startServer({ name: 'hostinger-wordpress-mcp', version: '1.35.6', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.36.0', tools });
package/types.d.ts CHANGED
@@ -209,7 +209,7 @@ Each datacenter includes a `pinger_url` you can ping from the client to measure
209
209
  latency; comparing the results across datacenters lets you pick the nearest one (lowest
210
210
  ping) before choosing its `code` as the `datacenter_code` when creating a website setup.
211
211
  */
212
- "agency-hosting_listAvailableDatacentersForAnAgencyPlanOrderV1": {
212
+ "agency-hosting_listAvailableDatacentersV1": {
213
213
  params: {
214
214
  /**
215
215
  * Agency Plan order ID
@@ -225,7 +225,7 @@ ping) before choosing its `code` as the `datacenter_code` when creating a websit
225
225
  Provide the current domain in the path and the new domain in the request body.
226
226
  Set domain to null to revert to the temporary domain.
227
227
  */
228
- "agency-hosting_changeAgencyPlanWebsiteDomainV1": {
228
+ "agency-hosting_changeWebsiteDomainV1": {
229
229
  params: {
230
230
  /**
231
231
  * Agency Plan website UID
@@ -246,7 +246,7 @@ Set domain to null to revert to the temporary domain.
246
246
  /**
247
247
  * Links a domain to the specified Agency Plan website so it can serve traffic for that domain.
248
248
  */
249
- "agency-hosting_linkDomainToAgencyPlanWebsiteV1": {
249
+ "agency-hosting_linkDomainToWebsiteV1": {
250
250
  params: {
251
251
  /**
252
252
  * Agency Plan website UID
@@ -265,7 +265,7 @@ Set domain to null to revert to the temporary domain.
265
265
 
266
266
  Use the website_uuids filter to narrow results to specific websites.
267
267
  */
268
- "agency-hosting_listAgencyPlanDomainsV1": {
268
+ "agency-hosting_listDomainsV1": {
269
269
  params: {
270
270
  /**
271
271
  * Page number
@@ -292,7 +292,7 @@ Website files and database are preserved, and any other linked domains remain ac
292
292
 
293
293
  If this is the only domain on the website, unlinking leaves the website without an accessible domain.
294
294
  */
295
- "agency-hosting_unlinkDomainFromAgencyPlanWebsiteV1": {
295
+ "agency-hosting_unlinkDomainFromWebsiteV1": {
296
296
  params: {
297
297
  /**
298
298
  * Agency Plan website UID
@@ -313,7 +313,7 @@ Upload the archive to the website's root directory via file browser first, then
313
313
  filename in this request. Website contents are overwritten by the archive contents. Supported
314
314
  archive types: .zip, .tar, .tar.gz, .tgz.
315
315
  */
316
- "agency-hosting_importAgencyPlanWebsiteFromArchiveV1": {
316
+ "agency-hosting_importWebsiteFromArchiveV1": {
317
317
  params: {
318
318
  /**
319
319
  * Agency Plan website UID
@@ -330,7 +330,7 @@ archive types: .zip, .tar, .tar.gz, .tgz.
330
330
  /**
331
331
  * Returns a paginated list of Agency Plan orders accessible to the authenticated client.
332
332
  */
333
- "agency-hosting_listAgencyPlanOrdersV1": {
333
+ "agency-hosting_listOrdersV1": {
334
334
  params: {
335
335
  /**
336
336
  * Page number
@@ -363,7 +363,7 @@ Common setups:
363
363
  Provisioning runs in the background, so the response returns immediately with a setup UUID
364
364
  that identifies the job. The new website becomes reachable once provisioning finishes.
365
365
  */
366
- "agency-hosting_provisionANewAgencyPlanWebsiteV1": {
366
+ "agency-hosting_createANewWebsiteV1": {
367
367
  params: {
368
368
  /**
369
369
  * Agency Plan order ID
@@ -412,7 +412,7 @@ endpoint.
412
412
  Poll this endpoint using the `setup_uuid` returned from the provisioning request until
413
413
  `status` becomes `completed`, at which point `website_uid` identifies the new website.
414
414
  */
415
- "agency-hosting_getAgencyPlanWebsiteSetupStatusV1": {
415
+ "agency-hosting_getWebsiteSetupStatusV1": {
416
416
  params: {
417
417
  /**
418
418
  * Agency Plan order ID
@@ -432,7 +432,7 @@ Poll this endpoint using the `setup_uuid` returned from the provisioning request
432
432
  Upload the archive to file browser first, then provide its relative path from document root in this request.
433
433
  Website contents are overwritten by the build result, which is deployed to public_html.
434
434
  */
435
- "agency-hosting_buildAgencyPlanWebsiteNodeJSAssetsV1": {
435
+ "agency-hosting_buildWebsiteNodeJSAssetsV1": {
436
436
  params: {
437
437
  /**
438
438
  * Agency Plan website UID
@@ -451,7 +451,7 @@ Website contents are overwritten by the build result, which is deployed to publi
451
451
 
452
452
  This operation clears all cache types for the website.
453
453
  */
454
- "agency-hosting_clearAgencyPlanWebsiteCacheV1": {
454
+ "agency-hosting_clearWebsiteCacheV1": {
455
455
  params: {
456
456
  /**
457
457
  * Agency Plan website UID
@@ -466,7 +466,7 @@ This operation clears all cache types for the website.
466
466
 
467
467
  Each entry includes the schedule expression and the command executed on that schedule.
468
468
  */
469
- "agency-hosting_listAgencyPlanWebsiteCronJobsV1": {
469
+ "agency-hosting_listWebsiteCronJobsV1": {
470
470
  params: {
471
471
  /**
472
472
  * Agency Plan website UID
@@ -489,7 +489,7 @@ Each entry includes the schedule expression and the command executed on that sch
489
489
 
490
490
  Returns the created cron job, including its uuid, which is required to delete the cron job.
491
491
  */
492
- "agency-hosting_createAgencyPlanWebsiteCronJobV1": {
492
+ "agency-hosting_createWebsiteCronJobV1": {
493
493
  params: {
494
494
  /**
495
495
  * Agency Plan website UID
@@ -512,7 +512,7 @@ Returns the created cron job, including its uuid, which is required to delete th
512
512
 
513
513
  The operation is idempotent: deleting a cron job that does not exist succeeds without error.
514
514
  */
515
- "agency-hosting_deleteAgencyPlanWebsiteCronJobV1": {
515
+ "agency-hosting_deleteWebsiteCronJobV1": {
516
516
  params: {
517
517
  /**
518
518
  * Agency Plan website UID
@@ -531,7 +531,7 @@ The operation is idempotent: deleting a cron job that does not exist succeeds wi
531
531
 
532
532
  Each entry includes the database's non-system users.
533
533
  */
534
- "agency-hosting_listAgencyPlanWebsiteDatabasesV1": {
534
+ "agency-hosting_listWebsiteDatabasesV1": {
535
535
  params: {
536
536
  /**
537
537
  * Agency Plan website UID
@@ -554,7 +554,7 @@ Each entry includes the database's non-system users.
554
554
 
555
555
  The database name, username, and password must all be provided by the caller.
556
556
  */
557
- "agency-hosting_createAgencyPlanWebsiteDatabaseV1": {
557
+ "agency-hosting_createWebsiteDatabaseV1": {
558
558
  params: {
559
559
  /**
560
560
  * Agency Plan website UID
@@ -581,7 +581,7 @@ The database name, username, and password must all be provided by the caller.
581
581
 
582
582
  The operation is idempotent: deleting a database that does not exist succeeds without error.
583
583
  */
584
- "agency-hosting_deleteAgencyPlanWebsiteDatabaseV1": {
584
+ "agency-hosting_deleteWebsiteDatabaseV1": {
585
585
  params: {
586
586
  /**
587
587
  * Agency Plan website UID
@@ -600,7 +600,7 @@ The operation is idempotent: deleting a database that does not exist succeeds wi
600
600
 
601
601
  Each database supports a single non-system user; creating a user for a database that already has one fails.
602
602
  */
603
- "agency-hosting_createAgencyPlanWebsiteDatabaseUserV1": {
603
+ "agency-hosting_createWebsiteDatabaseUserV1": {
604
604
  params: {
605
605
  /**
606
606
  * Agency Plan website UID
@@ -631,7 +631,7 @@ Each database supports a single non-system user; creating a user for a database
631
631
 
632
632
  The operation is idempotent: deleting a user that does not exist succeeds without error.
633
633
  */
634
- "agency-hosting_deleteAgencyPlanWebsiteDatabaseUserV1": {
634
+ "agency-hosting_deleteWebsiteDatabaseUserV1": {
635
635
  params: {
636
636
  /**
637
637
  * Agency Plan website UID
@@ -653,7 +653,7 @@ The operation is idempotent: deleting a user that does not exist succeeds withou
653
653
  * Retrieves detailed information about a specific Agency Plan website, including configuration,
654
654
  status, metadata, hosting plan details, and resource quotas.
655
655
  */
656
- "agency-hosting_getAgencyPlanWebsiteDetailsV1": {
656
+ "agency-hosting_getWebsiteDetailsV1": {
657
657
  params: {
658
658
  /**
659
659
  * Agency Plan website UID
@@ -668,7 +668,7 @@ status, metadata, hosting plan details, and resource quotas.
668
668
  website is immediately transitioned to a deleting state and the underlying server
669
669
  resources are removed in the background.
670
670
  */
671
- "agency-hosting_deleteAgencyPlanWebsiteV1": {
671
+ "agency-hosting_deleteWebsiteV1": {
672
672
  params: {
673
673
  /**
674
674
  * Agency Plan website UID
@@ -684,7 +684,7 @@ resources are removed in the background.
684
684
  Each process has a unique ID (for tracking), a type, and a status (running, completed, failed).
685
685
  Poll this endpoint after initiating async operations (SSL setup, backups, cloning) to track progress.
686
686
  */
687
- "agency-hosting_listRunningAgencyPlanWebsiteProcessesV1": {
687
+ "agency-hosting_listWebsiteProcessesV1": {
688
688
  params: {
689
689
  /**
690
690
  * Agency Plan website UID
@@ -697,7 +697,7 @@ Poll this endpoint after initiating async operations (SSL setup, backups, clonin
697
697
  /**
698
698
  * Changes the installed WordPress core version on an Agency Plan website to one of the versions available for installation.
699
699
  */
700
- "agency-hosting_changeAgencyPlanWebsiteWordPressCoreVersionV1": {
700
+ "agency-hosting_changeWordPressVersionV1": {
701
701
  params: {
702
702
  /**
703
703
  * Agency Plan website UID
@@ -715,7 +715,7 @@ Poll this endpoint after initiating async operations (SSL setup, backups, clonin
715
715
  * Returns the current WordPress settings for an Agency Plan website: installed core version,
716
716
  LiteSpeed Cache plugin status, object cache status, and maintenance mode status.
717
717
  */
718
- "agency-hosting_getAgencyPlanWebsiteWordPressSettingsV1": {
718
+ "agency-hosting_getWordPressSettingsV1": {
719
719
  params: {
720
720
  /**
721
721
  * Agency Plan website UID
@@ -728,7 +728,7 @@ LiteSpeed Cache plugin status, object cache status, and maintenance mode status.
728
728
  /**
729
729
  * Lists the WordPress core versions available for installation on an Agency Plan website.
730
730
  */
731
- "agency-hosting_listAvailableWordPressVersionsForAnAgencyPlanWebsiteV1": {
731
+ "agency-hosting_listAvailableWordPressVersionsV1": {
732
732
  params: {
733
733
  /**
734
734
  * Agency Plan website UID
@@ -1937,6 +1937,24 @@ the Ecommerce API.
1937
1937
  response: any; // Response structure will depend on the API
1938
1938
  };
1939
1939
 
1940
+ /**
1941
+ * Returns a signed URL to upload a product image to (multipart/form-data POST). Then call the
1942
+ attach-image endpoint with the returned object_name to scan and attach it to the product.
1943
+ */
1944
+ "ecommerce_createAProductImageUploadURLV1": {
1945
+ params: {
1946
+ /**
1947
+ * The ID of the store the product belongs to.
1948
+ */
1949
+ store_id: string;
1950
+ /**
1951
+ * The ID of the product the image will be attached to.
1952
+ */
1953
+ product_id: string;
1954
+ };
1955
+ response: any; // Response structure will depend on the API
1956
+ };
1957
+
1940
1958
  /**
1941
1959
  * Create a published digital product with a single variant and an optional external download link.
1942
1960
  */
@@ -2000,9 +2018,9 @@ the Ecommerce API.
2000
2018
  };
2001
2019
 
2002
2020
  /**
2003
- * Upload a raster image (JPEG, PNG, GIF or WebP, max 15MB) and attach it to a product in a single call.
2004
- The image is virus-scanned and validated by content, then stored on the CDN. Set is_thumbnail to make
2005
- it the product's primary image.
2021
+ * Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a
2022
+ single call. The image is virus-scanned and validated by content, then stored on the CDN. Set
2023
+ is_thumbnail to make it the product's primary image.
2006
2024
  */
2007
2025
  "ecommerce_uploadAndAttachAProductImageV1": {
2008
2026
  params: {
@@ -2015,9 +2033,15 @@ it the product's primary image.
2015
2033
  */
2016
2034
  product_id: string;
2017
2035
  /**
2018
- * Raster image file (JPEG, PNG, GIF or WebP), maximum 15MB. SVG is not accepted.
2036
+ * Publicly reachable URL of the raster image (JPEG, PNG, GIF or WebP), maximum 15MB. The image is
2037
+ fetched, virus-scanned and validated by content, then stored on the CDN. SVG is not accepted.
2038
+ Provide either this or object_name.
2019
2039
  */
2020
- image: string;
2040
+ image_url?: string;
2041
+ /**
2042
+ * Key returned by the upload-url endpoint. Provide this instead of image_url to attach an uploaded image.
2043
+ */
2044
+ object_name?: string;
2021
2045
  /**
2022
2046
  * When true, the image becomes the product's thumbnail (primary image). When omitted, it becomes the
2023
2047
  thumbnail only if the product does not have one yet.
@@ -4322,6 +4346,84 @@ requests are rate limited upstream.
4322
4346
  response: any; // Response structure will depend on the API
4323
4347
  };
4324
4348
 
4349
+ /**
4350
+ * Get a single automation with the counts of contacts that entered it, are moving through it,
4351
+ finished it or failed on the way.
4352
+
4353
+ This describes the automation itself. To see the workflow it runs, use the steps endpoint.
4354
+ */
4355
+ "reach_getAutomationDetailsV1": {
4356
+ params: {
4357
+ /**
4358
+ * Profile uuid parameter
4359
+ */
4360
+ profileUuid: string;
4361
+ /**
4362
+ * Automation uuid parameter
4363
+ */
4364
+ automationUuid: string;
4365
+ };
4366
+ response: any; // Response structure will depend on the API
4367
+ };
4368
+
4369
+ /**
4370
+ * Get a paginated list of the automations in a profile.
4371
+
4372
+ Every automation comes with the counts of contacts that entered it, are moving through it,
4373
+ finished it or failed on the way. Those counts describe the contact journey and are not
4374
+ email engagement metrics - for opens, clicks and unsubscribes use the campaign statistics
4375
+ endpoint instead.
4376
+ */
4377
+ "reach_listAutomationsV1": {
4378
+ params: {
4379
+ /**
4380
+ * Profile uuid parameter
4381
+ */
4382
+ profileUuid: string;
4383
+ /**
4384
+ * Filter automations by status.
4385
+
4386
+ There is no `completed` status. An automation that has finished for every contact still
4387
+ reports `active`.
4388
+ */
4389
+ status?: string;
4390
+ /**
4391
+ * Order automations by creation date. Newest first unless set to `asc`.
4392
+ */
4393
+ sort_direction?: string;
4394
+ /**
4395
+ * Page number
4396
+ */
4397
+ page?: number;
4398
+ /**
4399
+ * Number of items per page
4400
+ */
4401
+ per_page?: number;
4402
+ };
4403
+ response: any; // Response structure will depend on the API
4404
+ };
4405
+
4406
+ /**
4407
+ * Get the workflow of an automation as a flat list of steps.
4408
+
4409
+ The steps form a tree rather than a straight line: follow `parent_uuid` to reconstruct the
4410
+ branches, and use `step_order` to order the steps that share a parent. An automation with no
4411
+ steps yet returns an empty list.
4412
+ */
4413
+ "reach_listAutomationStepsV1": {
4414
+ params: {
4415
+ /**
4416
+ * Profile uuid parameter
4417
+ */
4418
+ profileUuid: string;
4419
+ /**
4420
+ * Automation uuid parameter
4421
+ */
4422
+ automationUuid: string;
4423
+ };
4424
+ response: any; // Response structure will depend on the API
4425
+ };
4426
+
4325
4427
  /**
4326
4428
  * Delete a contact with the specified UUID.
4327
4429