Submission API Reference & Form Configuration
Reference for POST /f/{endpoint_id}: JSON and form-encoded bodies, the 202 and 302 responses, every error name, reserved fields, and per-form settings.
Submit a Form
Send data to a form endpoint. This is identical to a standard HTML form POST.
POST https://formboost.app/f/:endpoint_idJSON submission
const response = await fetch("https://formboost.app/f/YOUR_ENDPOINT_ID", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
email: "user@example.com",
message: "Hello from the API"
})
});
if (!response.ok) {
const error = await response.json(); // { success, message, name, hint }
}cURL example
curl -X POST https://formboost.app/f/YOUR_ENDPOINT_ID \
-H "Content-Type: application/json" \
-d '{"email": "user@example.com", "message": "Hello"}'Response
The endpoint accepts the submission and processes it in the background, so the answer is immediate. What you get depends on how you sent it:
- JSON or
fetch()clients (Accept: application/json, or a JSON body) receive202 Accepted:
{
"success": true,
"message": "Submission accepted for processing",
"requestId": "3f1c…"
}- Plain HTML form posts receive a
302redirect — to your_redirectURL when it is anhttpsURL on the same host as the submitting page, otherwise to the default thank-you page.
requestId is the identifier of this request, useful when reporting a problem. It is not a
lookup key: submissions are read in the dashboard, not through this endpoint. Check response.ok
rather than parsing the body for success.
Error Codes
Errors are JSON with success: false, a human message, and a machine-readable name to
branch on, plus a hint saying what to change:
| Code | name | Meaning |
|---|---|---|
400 | EMPTY_SUBMISSION | No field other than _honey / _redirect was sent |
400 | MALFORMED_BODY | The body is not valid JSON |
413 | PAYLOAD_TOO_LARGE | Over the size limit; file uploads are not accepted |
415 | UNSUPPORTED_CONTENT_TYPE | Send application/json or application/x-www-form-urlencoded |
429 | RATE_LIMITED | Wait for the window in the RateLimit-Reset header |
5xx | — | Server error; safe to retry |
Required fields are not validated at the endpoint — every non-empty submission is accepted. An
unknown endpoint id is also accepted and discarded during processing, so check the id in the
dashboard rather than relying on a 404. A plain HTML form post never sees JSON: on an error it
is redirected to the default page instead.
Special Fields
These hidden fields control Formboost behavior without being stored as submission data:
| Field | Description |
|---|---|
_redirect | URL to redirect to after submission |
_subject | Custom email subject line |
_replyto | Set reply-to address on notification emails |
_honey | Honeypot field name for spam detection |
_email | The address Auto Reply writes to when your form has no email field |
Email Notifications
By default, Formboost sends an email notification to your account email for every submission. You can customize this under Endpoint → Notifications.
| Setting | Description |
|---|---|
| To address | Where notification emails are sent |
| Subject | Customize with _subject field |
| Reply-to | Auto-populated from the _replyto field |
These emails go to you. To email the person who filled in the form instead, see
Auto Reply. It is available on Starter and above, with HTML templates and
{{fieldName}} variables on Pro.
Spam Protection
Formboost uses AI-powered spam filtering. Configure sensitivity under Endpoint → Spam Protection.
Honeypot Fields
Add a hidden input that humans never fill in. Bots usually do.
<form action="https://formboost.app/f/YOUR_ENDPOINT_ID" method="POST">
<!-- Honeypot: hidden from real users -->
<input type="text" name="_honey" style="display:none" tabindex="-1" autocomplete="off" />
<input type="email" name="email" required />
<button type="submit">Submit</button>
</form>Set _honey as the honeypot field name in your endpoint settings to activate detection.
Getting Started
Create a Formboost form, copy its endpoint, and receive your first submission in minutes — HTML or fetch(), email notifications and spam screening included.
Auto Reply: Confirmation Emails to Submitters
Send an automatic email to whoever fills in your form. Your own subject and message on Starter; HTML, {{fieldName}} variables and no Formboost branding on Pro.