Documentation
Everything you need to embed Sveov Forms into your website – with 100 % design freedom.
1. Basic principle
Every form has its own endpoint URL. Your HTML form sends a POST there – done. Supported formats: application/x-www-form-urlencoded, multipart/form-data (file uploads) and application/json.
<form action="https://forms.sveov.com/f/YOUR_FORM_ID" method="POST">
<label>Name<br><input type="text" name="name" required></label>
<label>Email<br><input type="email" name="email" required></label>
<label>Phone (optional)<br><input type="tel" name="phone"></label>
<label>Message<br><textarea name="message" rows="5" required></textarea></label>
<!-- Honeypot: invisible to humans, bots fill it in -->
<input type="text" name="_gotcha" tabindex="-1" autocomplete="off"
style="position:absolute;left:-9999px" aria-hidden="true">
<!-- DSGVO consent -->
<label>
<input type="checkbox" name="privacy" value="accepted" required>
I have read the privacy policy and agree to the
processing of my data.
</label>
<button type="submit">Send</button>
</form>
2. Special fields
_subject– overrides the email subject of this submission._redirect/_next– URL to redirect to after submitting (must belong to your domain whitelist or the submitting domain)._gotcha– the honeypot field (invisible to humans). The field name is configurable per form.utm_source,utm_medium, … – UTM parameters are detected automatically and stored separately (also from the referrer).
3. AJAX / JSON
Send the header Accept: application/json to get a JSON response instead of a redirect:
fetch("https://forms.sveov.com/f/YOUR_FORM_ID", {
method: "POST",
headers: { "Content-Type": "application/json", "Accept": "application/json" },
body: JSON.stringify({ name: "Max", email: "max@example.com", message: "Hello!" })
})
// Response: { "ok": true, "id": "..." }
4. Spam protection
- Honeypot: always active – submissions detected as spam land in the dashboard's spam folder, without an email.
- Rate limiting: max. 10 submissions per 10 minutes per IP and form.
- Captcha: optionally Cloudflare Turnstile (recommended, privacy-friendly), hCaptcha or Google reCAPTCHA. You enter site key and secret in the form settings; verification happens server-side.
- Domain whitelist: optional – submissions are only accepted from your domains.
5. Webhooks
You can create webhooks per form (Premium). Every submission is delivered as JSON via POST. For verification, each request contains the header X-Sveov-Signature (HMAC-SHA256 of the body with your webhook secret). With routing rules (e.g. "field topic contains support") you forward submissions to different tools depending on content.
6. JSON API
With an API key (Account → API) you read and manage submissions programmatically:
GET /api/v1/forms
GET /api/v1/forms/:id/submissions?status=NEW&since=2026-07-01
GET /api/v1/submissions/:id
PATCH /api/v1/submissions/:id {"status":"DONE","isLead":true}
DELETE /api/v1/submissions/:id
Authorization: Bearer sv_your_api_key
7. DSGVO checklist for your form
- Add a consent checkbox (included in all templates).
- Name Sveov Forms as a data processor in your privacy policy (DPA contract).
- Only enable IP storage if needed – anonymisation is the default.
- Set a retention period so old submissions are deleted automatically.


