Skip to Content

Forms

A form in Formtorch is a named container inside a project. When someone submits your form, Formtorch stores the submission, runs spam scoring, sends notifications, and fires any webhooks. Everything is tied to that specific form.

Form endpoint

Every form gets a unique endpoint URL when you create it:

https://formtorch.com/f/YOUR_FORM_ID

The YOUR_FORM_ID part is a 10-character alphanumeric ID (e.g. a1b2c3d4e5). Point your HTML form’s action attribute, or your fetch call, at this URL to start receiving submissions.

Supported submission formats

Formtorch accepts submissions in three formats:

FormatContent-TypeWhen to use
HTML formapplication/x-www-form-urlencodedPlain HTML forms with method="POST"
Multipartmultipart/form-dataForms with file uploads
JSONapplication/jsonFetch/XHR with a JSON body

All three formats are handled automatically. No configuration needed.

Reserved fields

Fields prefixed with _ are reserved for Formtorch metadata. They control behavior and are not stored as regular submission fields.

FieldTypeDescription
_formNamestringOverride the display name for this submission in the dashboard
_redirectstring (URL)Redirect the user to this URL after a successful submission
_test"true"Mark as a test submission. Excluded from quota; no notifications sent.
_honeypotstringValue of the honeypot field. Flagged as spam if non-empty.
_honeypotFieldstringName of the honeypot input element

To use a reserved field in an HTML form, add it as a hidden input:

<input type="hidden" name="_redirect" value="https://yoursite.com/thank-you" />

To use it with fetch and FormData:

const data = new FormData(form); data.append("_redirect", "https://yoursite.com/thank-you");

CORS

Formtorch accepts cross-origin requests from any domain. You don’t need to add your domain to an allowlist or configure anything.

If you’re submitting via fetch from a browser, you may get a no-cors response. This is expected. Formtorch still receives and processes the submission. To read the response status in JavaScript, submit normally (with CORS) rather than with {mode: 'no-cors'}.

Rate limits

Formtorch applies rate limiting per form and per IP to prevent abuse. The limits are generous for typical usage. If you’re running load tests or bulk imports, use the _test field or reach out to configure higher limits.

For file uploads, add enctype="multipart/form-data" to your HTML form, or use FormData with file inputs in JavaScript. Files are stored and accessible from the submission detail view in the dashboard.

Last updated on