2 min read
Forms overview
A form is a named endpoint plus the rules around it. There are two flavours:
- Legacy mode — the form exists only as an endpoint URL. You write the HTML; we accept the POST. No public renderer.
- Hosted mode — the form has a schema (fields + theme + settings). We render a public version at
formspring.io/p/{slug}and validate submissions against the schema.
Pick legacy when you already own the frontend. Pick hosted when you want a polished form without writing CSS.
States
| State | What it means |
|---|---|
| Draft | Hosted form with a schema but no published_at. Visible to you, not to the public. |
| Published | Live and accepting submissions. Legacy forms are always published. |
| Archived | Soft-deleted. Endpoint stops accepting submissions. Recoverable via Restore. |
Configuration surfaces
- Notifications — email recipients per submission
- Autoresponder — email back to the submitter (Pro+)
- Allowed origins — CORS gate
- Honeypot — hidden field name (default
_gotcha) - Captcha — hCaptcha or reCAPTCHA, configured per form
- Akismet — per-form key, off by default
- Custom rules — regex / keyword / blocked-email lists you maintain
- Theme (hosted only) — colors, typography, spacing tokens
- Settings (hosted only) — multi-step layout, step gating, redirect
Lifecycle quick reference
| Action | UI | API | MCP |
|---|---|---|---|
| Create | New form button | POST /forms |
create_form |
| Update | Edit page / builder | PUT /forms/{form} |
update_form |
| Publish | Builder publish button | POST /forms/{form}/publish |
publish_form |
| Unpublish | Builder unpublish button | POST /forms/{form}/unpublish |
unpublish_form |
| Archive | Form detail | DELETE /forms/{form} |
archive_form |
| Restore | Archived tab | POST /forms/{form}/restore |
restore_form |
| Hard delete | Archived tab | DELETE /forms/{form}/force |
(not exposed) |