Core Features
Public Submissions Router
Public Submissions Router Overview
The Voieform Public Submissions Router is an intelligent edge router that listens for form posts from any client application—whether standard HTML forms, Single Page Apps (React/Vue/Svelte), mobile apps, or backend webhooks—and securely routes them to your configured notifications and storage backends.
Universal Endpoint Target
Submit to
https://voieform.com/f/{form_key} without needing your own server backend.Automatic Honeypot & AI Filtering
Built-in
_gotcha trap and Groq AI spam classification prevent spam entries.Multi-Channel Dispatch
Triggers email notifications, HMAC webhooks, and instant Telegram alerts simultaneously.
Flexible Payload Formats
Accepts
application/json, multipart/form-data, and x-www-form-urlencoded.Special Reserved Fields
You can include optional hidden inputs or JSON properties to customize behavior on the fly:
| Field Name | Type | Description |
|---|---|---|
| _subject | String | Overrides default email notification subject line. E.g., "New Lead from Pricing Page". |
| _next / _redirect | URL String | Custom thank-you page URL for standard HTML redirects. |
| _gotcha | Hidden String | Honeypot field. Keep hidden via CSS. If filled by automated bots, the entry is rejected. |
| _replyto / email | Email String | Sets the Reply-To header in your email notification so you can reply directly to the submitter. |
Integration Examples
1. Standard HTML Form
index.htmlhtml
<!-- Standard HTML Form submitting to Voieform Router -->
<form action="https://voieform.com/f/pr_live_x92a" method="POST">
<!-- Optional Custom Email Subject -->
<input type="hidden" name="_subject" value="New Lead from Website" />
<!-- Optional Custom Redirect Page (for non-AJAX submissions) -->
<input type="hidden" name="_next" value="https://yourwebsite.com/thank-you" />
<!-- Honeypot field (hidden from real users, traps bots) -->
<input type="text" name="_gotcha" style="display:none" tabIndex="-1" autocomplete="off" />
<label for="name">Your Name</label>
<input type="text" id="name" name="name" required />
<label for="email">Email Address</label>
<input type="email" id="email" name="email" required />
<label for="message">Message</label>
<textarea id="message" name="message" required></textarea>
<button type="submit">Submit Form</button>
</form>2. JavaScript Fetch (AJAX)
submit.jsjavascript
// AJAX / Fetch Submission Example (JSON Payload)
async function submitForm(data) {
try {
const response = await fetch("https://voieform.com/f/pr_live_x92a", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Accept": "application/json"
},
body: JSON.stringify({
name: data.name,
email: data.email,
message: data.message,
_subject: "Custom AJAX Lead Notification"
})
});
const result = await response.json();
if (response.ok && result.success) {
console.log("Submission successful! Submission ID:", result.submission_id);
alert("Thank you! Your message has been sent.");
} else {
console.error("Submission failed:", result.error);
}
} catch (error) {
console.error("Network error submitting form:", error);
}
}3. cURL CLI Submission
terminal.shbash
# Submit directly via cURL
curl -X POST https://voieform.com/f/pr_live_x92a \
-H "Content-Type: application/json" \
-d '{
"name": "Jane Doe",
"email": "jane@example.com",
"message": "Interested in enterprise pricing.",
"_subject": "API Direct Lead"
}'Response Status Codes
| Status Code | Meaning | Details |
|---|---|---|
| 200 OK / 302 Found | Success | Submission accepted. JSON returns { success: true, submission_id: '...' }. |
| 400 Bad Request | Validation Error | Missing required fields or honeypot trapped. |
| 401 Unauthorized | Invalid API Key | Form API key is invalid, deleted, or restricted by domain origin whitelist. |
| 429 Too Many Requests | Rate Limit Exceeded | Monthly submission quota reached for current plan tier. |
Need help?
Contact Support