Form Configuration
Formerie form configuration is server-managed. Public frontends submit values; they do not control delivery, providers, recipients, templates, or validation rules.
Example Shape
{
"enabled": true,
"formHandle": "contact",
"schemaId": "example:contact",
"workspaceHandle": "example.com",
"metadata": {
"label": "Contact Form",
"schemaVersion": "1.0.0"
},
"allowedOrigins": ["https://example.com"],
"verification": {
"provider": "turnstile",
"required": true
},
"fields": {
"contact": {
"type": "object",
"fields": {
"name": {
"type": "string",
"required": true,
"max": 120,
"trim": true
},
"email": {
"type": "email",
"required": true,
"max": 254,
"trim": true,
"normalizeEmail": true
}
}
},
"message": {
"type": "textarea",
"required": true,
"max": 5000,
"trim": true
}
}
}Public Schema Projection
The public schema endpoint exposes only frontend-safe configuration:
- field labels and types
- required flags
- validation hints
- public metadata
- verification provider requirement
- step definitions for multi-step forms
It does not expose recipients, provider credentials, fallback providers, delivery rules, email templates, allowed origins, rate-limit rules, or non-public operational metadata.
Human Verification
Forms can require a verification provider. Clients submit the provider token as verificationToken.