@hostinger/mcp 3.4.0 → 3.4.1
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.
- package/CHANGELOG.md +19 -0
- package/README.md +75 -2
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/core/runtime.js +1 -1
- package/src/core/runtime.ts +1 -1
- package/src/core/tools/all.js +249 -0
- package/src/core/tools/all.ts +249 -0
- package/src/core/tools/reach.js +249 -0
- package/src/core/tools/reach.ts +249 -0
- package/src/servers/agency-hosting.js +1 -1
- package/src/servers/agency-hosting.ts +1 -1
- package/src/servers/agent-readiness.js +1 -1
- package/src/servers/agent-readiness.ts +1 -1
- package/src/servers/all.js +1 -1
- package/src/servers/all.ts +1 -1
- package/src/servers/billing.js +1 -1
- package/src/servers/billing.ts +1 -1
- package/src/servers/dns.js +1 -1
- package/src/servers/dns.ts +1 -1
- package/src/servers/domains.js +1 -1
- package/src/servers/domains.ts +1 -1
- package/src/servers/ecommerce.js +1 -1
- package/src/servers/ecommerce.ts +1 -1
- package/src/servers/horizons.js +1 -1
- package/src/servers/horizons.ts +1 -1
- package/src/servers/hosting.js +1 -1
- package/src/servers/hosting.ts +1 -1
- package/src/servers/mail.js +1 -1
- package/src/servers/mail.ts +1 -1
- package/src/servers/reach.js +1 -1
- package/src/servers/reach.ts +1 -1
- package/src/servers/vps.js +1 -1
- package/src/servers/vps.ts +1 -1
- package/src/servers/wordpress.js +1 -1
- package/src/servers/wordpress.ts +1 -1
- package/types.d.ts +155 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,25 @@ Generated at release time from the diff between the previous and current
|
|
|
4
4
|
build. Tool changes are listed individually; everything else is summarised
|
|
5
5
|
by area.
|
|
6
6
|
|
|
7
|
+
## v3.4.1 — 2026-10-21
|
|
8
|
+
|
|
9
|
+
### Operations
|
|
10
|
+
|
|
11
|
+
- Added `reach_forms_update` — Update form
|
|
12
|
+
- Added `reach_forms_duplicate` — Duplicate form
|
|
13
|
+
- Added `reach_forms_create` — Create form
|
|
14
|
+
- Added `reach_forms_add-submitter-tags` — Add form submitter tags
|
|
15
|
+
- Added `reach_forms_remove-submitter-tag` — Remove form submitter tag
|
|
16
|
+
- Added `reach_forms_update-template` — Update form template
|
|
17
|
+
- Changed the input schema of `reach_forms_list`
|
|
18
|
+
|
|
19
|
+
### Also in this release
|
|
20
|
+
|
|
21
|
+
- Documentation: `README.md`
|
|
22
|
+
- Dependencies: `package-lock.json`
|
|
23
|
+
- Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
|
|
24
|
+
- Build and packaging: `types.d.ts`
|
|
25
|
+
|
|
7
26
|
## v3.4.0 — 2026-10-20
|
|
8
27
|
|
|
9
28
|
### Operations
|
package/README.md
CHANGED
|
@@ -69,7 +69,7 @@ pnpm update -g @hostinger/mcp
|
|
|
69
69
|
|
|
70
70
|
This package installs the following MCP server commands:
|
|
71
71
|
|
|
72
|
-
- `hostinger-api-mcp` — unified server over every operation (
|
|
72
|
+
- `hostinger-api-mcp` — unified server over every operation (409 total)
|
|
73
73
|
- `hostinger-agency-hosting-mcp` — 42 operations for agency-hosting
|
|
74
74
|
- `hostinger-agent-readiness-mcp` — 3 operations for agent-readiness
|
|
75
75
|
- `hostinger-billing-mcp` — 9 operations for billing
|
|
@@ -79,7 +79,7 @@ This package installs the following MCP server commands:
|
|
|
79
79
|
- `hostinger-horizons-mcp` — 6 operations for horizons
|
|
80
80
|
- `hostinger-hosting-mcp` — 66 operations for hosting
|
|
81
81
|
- `hostinger-mail-mcp` — 38 operations for mail
|
|
82
|
-
- `hostinger-reach-mcp` —
|
|
82
|
+
- `hostinger-reach-mcp` — 62 operations for reach
|
|
83
83
|
- `hostinger-vps-mcp` — 67 operations for vps
|
|
84
84
|
- `hostinger-wordpress-mcp` — 40 operations for wordpress
|
|
85
85
|
|
|
@@ -3490,6 +3490,29 @@ do not block deletion.
|
|
|
3490
3490
|
- **Method**: `DELETE`
|
|
3491
3491
|
- **Path**: `/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}`
|
|
3492
3492
|
|
|
3493
|
+
#### reach_forms_update
|
|
3494
|
+
|
|
3495
|
+
Rename a form and/or change its status.
|
|
3496
|
+
|
|
3497
|
+
Setting a `draft` or `paused` form to `active` takes it live: its latest saved design is published
|
|
3498
|
+
and visitors can submit it. `paused` and `draft` stop the form from accepting submissions. A form is
|
|
3499
|
+
not reachable by visitors until it is taken live. Design changes saved while the form is already
|
|
3500
|
+
`active` stay unpublished until the form is paused and set to `active` again. Renaming does not rename
|
|
3501
|
+
the automatic `form:{name}` tag.
|
|
3502
|
+
|
|
3503
|
+
- **Method**: `PATCH`
|
|
3504
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}`
|
|
3505
|
+
|
|
3506
|
+
#### reach_forms_duplicate
|
|
3507
|
+
|
|
3508
|
+
Copy a form into a new draft form with the same name and design.
|
|
3509
|
+
|
|
3510
|
+
The copy shares the source's automatic `form:{name}` tag; other submitter tags are not copied. The
|
|
3511
|
+
copy is not live until its status is set to `active`.
|
|
3512
|
+
|
|
3513
|
+
- **Method**: `POST`
|
|
3514
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}/duplicate`
|
|
3515
|
+
|
|
3493
3516
|
#### reach_forms_list
|
|
3494
3517
|
|
|
3495
3518
|
Get a paginated list of the signup forms in a profile.
|
|
@@ -3500,6 +3523,56 @@ directly usable template URL and for the tags the form puts on the contacts it c
|
|
|
3500
3523
|
- **Method**: `GET`
|
|
3501
3524
|
- **Path**: `/api/reach/v1/profiles/{profileUuid}/forms`
|
|
3502
3525
|
|
|
3526
|
+
#### reach_forms_create
|
|
3527
|
+
|
|
3528
|
+
Create an empty draft form.
|
|
3529
|
+
|
|
3530
|
+
Reach also adds an automatic `form:{name}` tag that every submitter receives. A draft has no design
|
|
3531
|
+
and is not reachable by visitors: save a design with the update form template operation, then take
|
|
3532
|
+
the form live by setting its status to `active`. Creating a form does not consume AI credits.
|
|
3533
|
+
|
|
3534
|
+
- **Method**: `POST`
|
|
3535
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/forms`
|
|
3536
|
+
|
|
3537
|
+
#### reach_forms_add-submitter-tags
|
|
3538
|
+
|
|
3539
|
+
Add tags to a form so that every contact who submits it from now on receives them.
|
|
3540
|
+
|
|
3541
|
+
A tag the form already has is skipped; an unknown tag is rejected. Contacts who submitted earlier are
|
|
3542
|
+
not tagged.
|
|
3543
|
+
|
|
3544
|
+
- **Method**: `POST`
|
|
3545
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}/tags`
|
|
3546
|
+
|
|
3547
|
+
#### reach_forms_remove-submitter-tag
|
|
3548
|
+
|
|
3549
|
+
Stop a form from applying a tag to its future submitters.
|
|
3550
|
+
|
|
3551
|
+
Succeeds also when the form did not have the tag. Contacts who already received the tag keep it, and
|
|
3552
|
+
the tag itself is not deleted. The automatic `form:{name}` tag cannot be removed and is rejected with
|
|
3553
|
+
a conflict.
|
|
3554
|
+
|
|
3555
|
+
- **Method**: `DELETE`
|
|
3556
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}/tags`
|
|
3557
|
+
|
|
3558
|
+
#### reach_forms_update-template
|
|
3559
|
+
|
|
3560
|
+
Save `content` as the latest design of a form and return the stored version.
|
|
3561
|
+
|
|
3562
|
+
The HTML is sanitized and, unless the plan allows removing it, the Reach signature is added. Visitors
|
|
3563
|
+
submit the form with an `email` field (required) and optional `name`, `surname` and `phone`. After
|
|
3564
|
+
sanitizing, the design must contain a form container (`data-reach-form`), an email input
|
|
3565
|
+
(`data-reach-field="email"`) and a submit button (`data-reach-submit`); otherwise the request fails
|
|
3566
|
+
with `422` and `errors.content` lists `missing_form_container`, `missing_email_field` and/or
|
|
3567
|
+
`missing_submit_button`.
|
|
3568
|
+
|
|
3569
|
+
A `draft` or `paused` form stays unreachable until its status is set to `active`, which publishes this
|
|
3570
|
+
design. On a form that is already `active` the saved design is not public until the form is paused and
|
|
3571
|
+
set to `active` again. Saving a design does not consume AI credits.
|
|
3572
|
+
|
|
3573
|
+
- **Method**: `PATCH`
|
|
3574
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}/template`
|
|
3575
|
+
|
|
3503
3576
|
#### reach_profiles_connected-sending-domain
|
|
3504
3577
|
|
|
3505
3578
|
Get the sending domain connected to the profile, its verification status and any suspended
|
package/gemini-extension.json
CHANGED
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"url": "https://github.com/hostinger/api-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "3.4.
|
|
9
|
+
"version": "3.4.1",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@hostinger/mcp",
|
|
14
|
-
"version": "3.4.
|
|
14
|
+
"version": "3.4.1",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
package/src/core/runtime.js
CHANGED
|
@@ -66,7 +66,7 @@ const GetSkillRequestSchema = z.object({
|
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
68
|
* MCP Server for Hostinger API
|
|
69
|
-
* Generated from OpenAPI spec version 2.1.
|
|
69
|
+
* Generated from OpenAPI spec version 2.1.3
|
|
70
70
|
*/
|
|
71
71
|
class MCPServer {
|
|
72
72
|
constructor({ name, version, tools, instructions, skills = [] }) {
|
package/src/core/runtime.ts
CHANGED
|
@@ -97,7 +97,7 @@ interface Skill { uri: string; frontmatter: Record<string, unknown>; resources:
|
|
|
97
97
|
|
|
98
98
|
/**
|
|
99
99
|
* MCP Server for Hostinger API
|
|
100
|
-
* Generated from OpenAPI spec version 2.1.
|
|
100
|
+
* Generated from OpenAPI spec version 2.1.3
|
|
101
101
|
*/
|
|
102
102
|
class MCPServer {
|
|
103
103
|
private readonly name: string;
|
package/src/core/tools/all.js
CHANGED
|
@@ -13505,6 +13505,90 @@ export default [
|
|
|
13505
13505
|
],
|
|
13506
13506
|
"group": "reach"
|
|
13507
13507
|
},
|
|
13508
|
+
{
|
|
13509
|
+
"name": "reach_forms_update",
|
|
13510
|
+
"title": "Update form",
|
|
13511
|
+
"annotations": {
|
|
13512
|
+
"title": "Update form",
|
|
13513
|
+
"readOnlyHint": false,
|
|
13514
|
+
"destructiveHint": true,
|
|
13515
|
+
"idempotentHint": true
|
|
13516
|
+
},
|
|
13517
|
+
"description": "Rename a form and/or change its status.\n\nSetting a `draft` or `paused` form to `active` takes it live: its latest saved design is published\nand visitors can submit it. `paused` and `draft` stop the form from accepting submissions. A form is\nnot reachable by visitors until it is taken live. Design changes saved while the form is already\n`active` stay unpublished until the form is paused and set to `active` again. Renaming does not rename\nthe automatic `form:{name}` tag.",
|
|
13518
|
+
"method": "PATCH",
|
|
13519
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}",
|
|
13520
|
+
"inputSchema": {
|
|
13521
|
+
"type": "object",
|
|
13522
|
+
"properties": {
|
|
13523
|
+
"profileUuid": {
|
|
13524
|
+
"type": "string",
|
|
13525
|
+
"description": "Profile uuid parameter"
|
|
13526
|
+
},
|
|
13527
|
+
"formUuid": {
|
|
13528
|
+
"type": "string",
|
|
13529
|
+
"description": "Form uuid parameter"
|
|
13530
|
+
},
|
|
13531
|
+
"name": {
|
|
13532
|
+
"type": "string",
|
|
13533
|
+
"description": "Form name. Letters, digits, spaces and - . ' _ only."
|
|
13534
|
+
},
|
|
13535
|
+
"status": {
|
|
13536
|
+
"type": "string",
|
|
13537
|
+
"description": "`active` takes the form live, `paused` and `draft` stop it accepting submissions.",
|
|
13538
|
+
"enum": [
|
|
13539
|
+
"active",
|
|
13540
|
+
"paused",
|
|
13541
|
+
"draft"
|
|
13542
|
+
]
|
|
13543
|
+
}
|
|
13544
|
+
},
|
|
13545
|
+
"required": [
|
|
13546
|
+
"profileUuid",
|
|
13547
|
+
"formUuid"
|
|
13548
|
+
]
|
|
13549
|
+
},
|
|
13550
|
+
"security": [
|
|
13551
|
+
{
|
|
13552
|
+
"apiToken": []
|
|
13553
|
+
}
|
|
13554
|
+
],
|
|
13555
|
+
"group": "reach"
|
|
13556
|
+
},
|
|
13557
|
+
{
|
|
13558
|
+
"name": "reach_forms_duplicate",
|
|
13559
|
+
"title": "Duplicate form",
|
|
13560
|
+
"annotations": {
|
|
13561
|
+
"title": "Duplicate form",
|
|
13562
|
+
"readOnlyHint": false,
|
|
13563
|
+
"destructiveHint": false
|
|
13564
|
+
},
|
|
13565
|
+
"description": "Copy a form into a new draft form with the same name and design.\n\nThe copy shares the source's automatic `form:{name}` tag; other submitter tags are not copied. The\ncopy is not live until its status is set to `active`.",
|
|
13566
|
+
"method": "POST",
|
|
13567
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}/duplicate",
|
|
13568
|
+
"inputSchema": {
|
|
13569
|
+
"type": "object",
|
|
13570
|
+
"properties": {
|
|
13571
|
+
"profileUuid": {
|
|
13572
|
+
"type": "string",
|
|
13573
|
+
"description": "Profile uuid parameter"
|
|
13574
|
+
},
|
|
13575
|
+
"formUuid": {
|
|
13576
|
+
"type": "string",
|
|
13577
|
+
"description": "Form uuid parameter"
|
|
13578
|
+
}
|
|
13579
|
+
},
|
|
13580
|
+
"required": [
|
|
13581
|
+
"profileUuid",
|
|
13582
|
+
"formUuid"
|
|
13583
|
+
]
|
|
13584
|
+
},
|
|
13585
|
+
"security": [
|
|
13586
|
+
{
|
|
13587
|
+
"apiToken": []
|
|
13588
|
+
}
|
|
13589
|
+
],
|
|
13590
|
+
"group": "reach"
|
|
13591
|
+
},
|
|
13508
13592
|
{
|
|
13509
13593
|
"name": "reach_forms_list",
|
|
13510
13594
|
"title": "List forms",
|
|
@@ -13530,6 +13614,15 @@ export default [
|
|
|
13530
13614
|
"per_page": {
|
|
13531
13615
|
"type": "integer",
|
|
13532
13616
|
"description": "Number of items per page"
|
|
13617
|
+
},
|
|
13618
|
+
"status": {
|
|
13619
|
+
"type": "string",
|
|
13620
|
+
"description": "Return only forms with this status.",
|
|
13621
|
+
"enum": [
|
|
13622
|
+
"active",
|
|
13623
|
+
"paused",
|
|
13624
|
+
"draft"
|
|
13625
|
+
]
|
|
13533
13626
|
}
|
|
13534
13627
|
},
|
|
13535
13628
|
"required": [
|
|
@@ -13543,6 +13636,162 @@ export default [
|
|
|
13543
13636
|
],
|
|
13544
13637
|
"group": "reach"
|
|
13545
13638
|
},
|
|
13639
|
+
{
|
|
13640
|
+
"name": "reach_forms_create",
|
|
13641
|
+
"title": "Create form",
|
|
13642
|
+
"annotations": {
|
|
13643
|
+
"title": "Create form",
|
|
13644
|
+
"readOnlyHint": false,
|
|
13645
|
+
"destructiveHint": false
|
|
13646
|
+
},
|
|
13647
|
+
"description": "Create an empty draft form.\n\nReach also adds an automatic `form:{name}` tag that every submitter receives. A draft has no design\nand is not reachable by visitors: save a design with the update form template operation, then take\nthe form live by setting its status to `active`. Creating a form does not consume AI credits.",
|
|
13648
|
+
"method": "POST",
|
|
13649
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/forms",
|
|
13650
|
+
"inputSchema": {
|
|
13651
|
+
"type": "object",
|
|
13652
|
+
"properties": {
|
|
13653
|
+
"profileUuid": {
|
|
13654
|
+
"type": "string",
|
|
13655
|
+
"description": "Profile uuid parameter"
|
|
13656
|
+
},
|
|
13657
|
+
"name": {
|
|
13658
|
+
"type": "string",
|
|
13659
|
+
"description": "Form name. Letters, digits, spaces and - . ' _ only."
|
|
13660
|
+
}
|
|
13661
|
+
},
|
|
13662
|
+
"required": [
|
|
13663
|
+
"profileUuid",
|
|
13664
|
+
"name"
|
|
13665
|
+
]
|
|
13666
|
+
},
|
|
13667
|
+
"security": [
|
|
13668
|
+
{
|
|
13669
|
+
"apiToken": []
|
|
13670
|
+
}
|
|
13671
|
+
],
|
|
13672
|
+
"group": "reach"
|
|
13673
|
+
},
|
|
13674
|
+
{
|
|
13675
|
+
"name": "reach_forms_add-submitter-tags",
|
|
13676
|
+
"title": "Add form submitter tags",
|
|
13677
|
+
"annotations": {
|
|
13678
|
+
"title": "Add form submitter tags",
|
|
13679
|
+
"readOnlyHint": false,
|
|
13680
|
+
"destructiveHint": false
|
|
13681
|
+
},
|
|
13682
|
+
"description": "Add tags to a form so that every contact who submits it from now on receives them.\n\nA tag the form already has is skipped; an unknown tag is rejected. Contacts who submitted earlier are\nnot tagged.",
|
|
13683
|
+
"method": "POST",
|
|
13684
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}/tags",
|
|
13685
|
+
"inputSchema": {
|
|
13686
|
+
"type": "object",
|
|
13687
|
+
"properties": {
|
|
13688
|
+
"profileUuid": {
|
|
13689
|
+
"type": "string",
|
|
13690
|
+
"description": "Profile uuid parameter"
|
|
13691
|
+
},
|
|
13692
|
+
"formUuid": {
|
|
13693
|
+
"type": "string",
|
|
13694
|
+
"description": "Form uuid parameter"
|
|
13695
|
+
},
|
|
13696
|
+
"tag_uuids": {
|
|
13697
|
+
"type": "array",
|
|
13698
|
+
"description": "tag_uuids parameter",
|
|
13699
|
+
"items": {
|
|
13700
|
+
"type": "string",
|
|
13701
|
+
"description": "tag_uuids parameter"
|
|
13702
|
+
}
|
|
13703
|
+
}
|
|
13704
|
+
},
|
|
13705
|
+
"required": [
|
|
13706
|
+
"profileUuid",
|
|
13707
|
+
"formUuid",
|
|
13708
|
+
"tag_uuids"
|
|
13709
|
+
]
|
|
13710
|
+
},
|
|
13711
|
+
"security": [
|
|
13712
|
+
{
|
|
13713
|
+
"apiToken": []
|
|
13714
|
+
}
|
|
13715
|
+
],
|
|
13716
|
+
"group": "reach"
|
|
13717
|
+
},
|
|
13718
|
+
{
|
|
13719
|
+
"name": "reach_forms_remove-submitter-tag",
|
|
13720
|
+
"title": "Remove form submitter tag",
|
|
13721
|
+
"annotations": {
|
|
13722
|
+
"title": "Remove form submitter tag",
|
|
13723
|
+
"readOnlyHint": false,
|
|
13724
|
+
"destructiveHint": true,
|
|
13725
|
+
"idempotentHint": true
|
|
13726
|
+
},
|
|
13727
|
+
"description": "Stop a form from applying a tag to its future submitters.\n\nSucceeds also when the form did not have the tag. Contacts who already received the tag keep it, and\nthe tag itself is not deleted. The automatic `form:{name}` tag cannot be removed and is rejected with\na conflict.",
|
|
13728
|
+
"method": "DELETE",
|
|
13729
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}/tags",
|
|
13730
|
+
"inputSchema": {
|
|
13731
|
+
"type": "object",
|
|
13732
|
+
"properties": {
|
|
13733
|
+
"profileUuid": {
|
|
13734
|
+
"type": "string",
|
|
13735
|
+
"description": "Profile uuid parameter"
|
|
13736
|
+
},
|
|
13737
|
+
"formUuid": {
|
|
13738
|
+
"type": "string",
|
|
13739
|
+
"description": "Form uuid parameter"
|
|
13740
|
+
}
|
|
13741
|
+
},
|
|
13742
|
+
"required": [
|
|
13743
|
+
"profileUuid",
|
|
13744
|
+
"formUuid"
|
|
13745
|
+
]
|
|
13746
|
+
},
|
|
13747
|
+
"security": [
|
|
13748
|
+
{
|
|
13749
|
+
"apiToken": []
|
|
13750
|
+
}
|
|
13751
|
+
],
|
|
13752
|
+
"group": "reach"
|
|
13753
|
+
},
|
|
13754
|
+
{
|
|
13755
|
+
"name": "reach_forms_update-template",
|
|
13756
|
+
"title": "Update form template",
|
|
13757
|
+
"annotations": {
|
|
13758
|
+
"title": "Update form template",
|
|
13759
|
+
"readOnlyHint": false,
|
|
13760
|
+
"destructiveHint": true,
|
|
13761
|
+
"idempotentHint": true
|
|
13762
|
+
},
|
|
13763
|
+
"description": "Save `content` as the latest design of a form and return the stored version.\n\nThe HTML is sanitized and, unless the plan allows removing it, the Reach signature is added. Visitors\nsubmit the form with an `email` field (required) and optional `name`, `surname` and `phone`. After\nsanitizing, the design must contain a form container (`data-reach-form`), an email input\n(`data-reach-field=\"email\"`) and a submit button (`data-reach-submit`); otherwise the request fails\nwith `422` and `errors.content` lists `missing_form_container`, `missing_email_field` and/or\n`missing_submit_button`.\n\nA `draft` or `paused` form stays unreachable until its status is set to `active`, which publishes this\ndesign. On a form that is already `active` the saved design is not public until the form is paused and\nset to `active` again. Saving a design does not consume AI credits.",
|
|
13764
|
+
"method": "PATCH",
|
|
13765
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}/template",
|
|
13766
|
+
"inputSchema": {
|
|
13767
|
+
"type": "object",
|
|
13768
|
+
"properties": {
|
|
13769
|
+
"profileUuid": {
|
|
13770
|
+
"type": "string",
|
|
13771
|
+
"description": "Profile uuid parameter"
|
|
13772
|
+
},
|
|
13773
|
+
"formUuid": {
|
|
13774
|
+
"type": "string",
|
|
13775
|
+
"description": "Form uuid parameter"
|
|
13776
|
+
},
|
|
13777
|
+
"content": {
|
|
13778
|
+
"type": "string",
|
|
13779
|
+
"description": "HTML of the form design. After sanitizing it must still contain a form container\n(`data-reach-form`), an email input (`data-reach-field=\"email\"`) and a submit button\n(`data-reach-submit`)."
|
|
13780
|
+
}
|
|
13781
|
+
},
|
|
13782
|
+
"required": [
|
|
13783
|
+
"profileUuid",
|
|
13784
|
+
"formUuid",
|
|
13785
|
+
"content"
|
|
13786
|
+
]
|
|
13787
|
+
},
|
|
13788
|
+
"security": [
|
|
13789
|
+
{
|
|
13790
|
+
"apiToken": []
|
|
13791
|
+
}
|
|
13792
|
+
],
|
|
13793
|
+
"group": "reach"
|
|
13794
|
+
},
|
|
13546
13795
|
{
|
|
13547
13796
|
"name": "reach_profiles_connected-sending-domain",
|
|
13548
13797
|
"title": "Get connected sending domain",
|