Submissions & Collection

Collect submissions effortlessly

Accept form data from any website or app with a single, reliable API endpoint. Built-in validation, spam protection, and encrypted storage. No servers to deploy, no backend code to maintain.

POST /v1/forms/{formId}/submissions
Headers:
x-publishable-key: pk_live_...
Body:
{
"answers": {
"name": "John Doe",
"email": "john@example.com"
}
}

Why it matters

Building form endpoints is repetitive and fragile. We handle validation, storage, delivery, and scale so you can focus entirely on your product.

Unified submission endpoint

Frontend & backend keys

Automatic spam protection

Encrypted storage

Real-time availability

Consistent formatting

Attachment handling

Retry-backed ingestion

Submission Flow
1. Form submission received
2. Schema validation
3. Spam protection check
4. Encrypted storage
5. Webhook delivery
6. Analytics updated

Developer experience

Simple, modern API design with predictable responses and clear error messages.

Submit a form (client-side):

curl --url https://api.formr.io/v1/forms/{'{formId}'}/submissions \
  --request POST \
  -H 'Content-Type: application/json' \
  -H 'x-publishable-key: pk_live_...' \
  -d '{"answers": {"name": "John", "email": "john@example.com"}}'

Submit a form (server-side):

curl --url https://api.formr.io/v1/forms/{'{formId}'}/submissions \
  --request POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer sk_live_...' \
  -d '{"answers": {"name": "John", "email": "john@example.com"}}'

Built-in delivery & routing

Webhook event dispatch

Integration-ready

Per-form routing

Delivery logging

Delivery & Routing
Webhook event dispatch
Integration routing (Slack, Sheets, etc.)
Per-form delivery rules
Delivery logging & retries

Designed for scale

Serverless infrastructure that auto-scales during traffic spikes with no tuning required.

Serverless ingestion

Durable pipelines

Low latency

Optimised throughput

Start collecting submissions

Get started in minutes with a single API endpoint. No servers to deploy, no backend code to maintain.

Get Started
1. Create a form in the dashboard
2. Get your publishable key
3. Point your form to our endpoint
4. Start receiving submissions

Form Platform eliminated all the backend work we'd normally need for form handling. We just point our forms to their endpoint and everything works—validation, storage, webhooks, the whole pipeline.

Alex Chen

Full Stack Engineer

Startup Co

The API is exactly what you need—simple, predictable, and well-documented. We integrated it in an afternoon and haven't had to think about form infrastructure since.

Sarah Johnson

Technical Lead

Agency Inc

Transparent pricing

No price hikes, feature gating, or hidden fees. Pricing scales predictably with each additional SSO connection added.

Submissions

Free tier: 100 submissions per month

Pro: $29/month for 10,000 submissions

FAQ

You can submit forms in two ways: client-side using publishable keys (pk_live_... or pk_test_...) via the x-publishable-key header, or server-side using secret keys (sk_live_... or sk_test_...) via the Authorization header. Both methods use the same POST /v1/forms/{formId}/submissions endpoint with your form data.

All submissions are validated against your form schema including required fields, field types (text, email, number, etc.), validation rules (min/max length, patterns, ranges), and conditional logic. Invalid submissions return clear error messages to help you fix issues quickly.

Form Platform includes built-in spam protection with honeypot fields, reCAPTCHA validation (if configured), and custom spam rules. You can configure actions like reject, flag, or quarantine. All submissions are automatically checked before being stored or delivered.

Submissions are stored securely in encrypted DynamoDB tables, with PII handling according to your form configuration (plain, masked, hashed, encrypted, or dropped). Data is isolated by workspace environment and can be accessed via the dashboard or API.