Skip to main content

Update Form Settings

Overview

Update form configuration such as email, captcha, file upload, templates, and integrations.
Validations are applied based on plan and feature availability.
Only allowed fields can be updated; invalid fields will return errors.


Endpoint

POST /api/forms/{formId}/settings


Request

Path Params

ParamTypeRequiredDescription
formIdstring✅ YesForm ID

Headers

HeaderTypeRequiredDescription
Authorizationstring✅ YesBearer INTERNAL_PROVISION_TOKEN

Supported Fields


1. form_name

Updates the name of the form displayed in dashboard or emails.
Must be a non-empty string.
Used for identification and UI display.

Request

{
"form_name": "My New Form"
}

Response

{
"message": "form_name updated successfully"
}

cURL

curl -X POST "https://api.cloudmysite.com/forms/api/forms/{formId}/settings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <INTERNAL_PROVISION_TOKEN>" \
-d '{"form_name":"My New Form"}'

2. recipient_email

Sets the email where submissions will be sent. Must be a valid email format. Used as primary notification channel.

Request

{
"recipient_email": "[email protected]"
}

Response

{
"message": "recipient_email updated successfully"
}

cURL

curl -X POST "https://api.cloudmysite.com/forms/api/forms/{formId}/settings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <INTERNAL_PROVISION_TOKEN>" \
-d '{"recipient_email":"[email protected]"}'

3. redirect_url

URL where users are redirected after form submission. Optional field. Can be empty or any valid URL.

Request

{
"redirect_url": "https://example.com/thank-you"
}

Response

{
"message": "redirect_url updated successfully"
}

cURL

curl -X POST "https://api.cloudmysite.com/forms/api/forms/{formId}/settings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <INTERNAL_PROVISION_TOKEN>" \
-d '{"redirect_url":"https://example.com/thank-you"}'

4. turnstile / captcha settings

Enables captcha protection for spam prevention. Supports turnstile, recaptcha, hcaptcha, custom_turnstile. Requires additional fields depending on type.

Turnstile

Request

{
"turnstile_enabled": true,
"captchaMode": "turnstile",
"domain": "example.com"
}

Response

{
"message": "turnstile_enabled updated successfully"
}

cURL

curl -X POST "https://api.cloudmysite.com/forms/api/forms/{formId}/settings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <INTERNAL_PROVISION_TOKEN>" \
-d '{"turnstile_enabled":true,"captchaMode":"turnstile","domain":"example.com"}'

reCAPTCHA

Requires customCaptchaKey

{
"turnstile_enabled": true,
"captchaMode": "recaptcha",
"customCaptchaKey": "your-secret-key"
}
curl -X POST "https://api.cloudmysite.com/forms/api/forms/{formId}/settings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <INTERNAL_PROVISION_TOKEN>" \
-d '{"turnstile_enabled":true,"captchaMode":"recaptcha","customCaptchaKey":"your-secret-key"}'

hCaptcha

Requires customCaptchaKey

{
"turnstile_enabled": true,
"captchaMode": "hcaptcha",
"customCaptchaKey": "your-secret-key"
}
curl -X POST "https://api.cloudmysite.com/forms/api/forms/{formId}/settings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <INTERNAL_PROVISION_TOKEN>" \
-d '{"turnstile_enabled":true,"captchaMode":"hcaptcha","customCaptchaKey":"your-secret-key"}'

Custom Turnstile

Requires customCaptchaKey

{
"turnstile_enabled": true,
"captchaMode": "custom_turnstile",
"customCaptchaKey": "your-secret-key"
}
curl -X POST "https://api.cloudmysite.com/forms/api/forms/{formId}/settings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <INTERNAL_PROVISION_TOKEN>" \
-d '{"turnstile_enabled":true,"captchaMode":"custom_turnstile","customCaptchaKey":"your-secret-key"}'

Disable captcha

{
"turnstile_enabled": false
}
curl -X POST "https://api.cloudmysite.com/forms/api/forms/{formId}/settings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <INTERNAL_PROVISION_TOKEN>" \
-d '{"turnstile_enabled":false}'

5. honeypotEnabled

Enables hidden spam protection field. Always allowed for all plans. Boolean value only.

Request

{
"honeypotEnabled": true
}

Response

{
"message": "honeypotEnabled updated successfully"
}

cURL

curl -X POST "https://api.cloudmysite.com/forms/api/forms/{formId}/settings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <INTERNAL_PROVISION_TOKEN>" \
-d '{"honeypotEnabled":true}'

6. fileUploadEnabled

Allows file uploads in form submissions. Available only for paid plans. Requires file type and size configuration.

Request

{
"fileUploadEnabled": true,
"allowedFileTypes": ".jpg,.png",
"maxFileSize": "5"
}

Response

{
"message": "fileUploadEnabled updated successfully"
}

cURL

curl -X POST "https://api.cloudmysite.com/forms/api/forms/{formId}/settings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <INTERNAL_PROVISION_TOKEN>" \
-d '{"fileUploadEnabled":true,"allowedFileTypes":".jpg,.png","maxFileSize":"5"}'

7. email_template

Controls email template type. Supports cloudmysite or custom. Custom requires HTML content.

CloudmySite Email Template

Request

{
"email_template": "cloudmysite",
}

Response

{
"message": "email_template updated successfully"
}

cURL

curl -X POST "https://api.cloudmysite.com/forms/api/forms/{formId}/settings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <INTERNAL_PROVISION_TOKEN>" \
-d '{"email_template":"cloudmysite"}'

Custom Email Template

Request

{
"email_template": "custom",
"customTemplateHtml": "<h1>Hello</h1>"
}

Response

{
"message": "email_template updated successfully"
}

cURL

curl -X POST "https://api.cloudmysite.com/forms/api/forms/{formId}/settings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <INTERNAL_PROVISION_TOKEN>" \
-d '{"email_template":"custom","customTemplateHtml":"<h1>Hello</h1>"}'

8. googleSheetEnabled

Enables Google Sheets integration. Only available for paid plans. Requires a valid Google Sheets URL.

Request

{
"googleSheetEnabled": true,
"googleSheetUrl": "https://docs.google.com/spreadsheets/d/xyz"
}

Response

{
"message": "googleSheetEnabled updated successfully"
}

cURL

curl -X POST "https://api.cloudmysite.com/forms/api/forms/{formId}/settings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <INTERNAL_PROVISION_TOKEN>" \
-d '{"googleSheetEnabled":true,"googleSheetUrl":"https://docs.google.com/spreadsheets/d/xyz"}'

Error Responses

400 - Validation Error

{
"message": "Invalid field or missing required value"
}

401 - Unauthorized

{
"message": "Unauthorized"
}

404 - Form Not Found

{
"message": "Form not found"
}

500 - Internal Server Error

{
"message": "Internal server error"
}

Notes

  • Requires valid INTERNAL_PROVISION_TOKEN in Authorization header
  • Token protects the API from unauthorized access (only trusted services allowed)
  • Partial updates supported (only provided fields are updated)
  • Plan restrictions are strictly enforced
  • Invalid fields return an error immediately