Getting Started
Collect your first form submission in under five minutes. Follow these five steps to go from zero to a working form backend.
1. Create an account
Sign up at forms.rizzness.com. You will need to verify your email address before you can create forms. Account creation is handled through the web interface only — there is no API signup endpoint.
2. Create a form
From the dashboard, click New Form and give it a name
(e.g., "Contact Form"). RizzForms will generate a unique
endpoint_token for receiving submissions.
You can also create forms programmatically with the API:
curl -s -X POST https://www.rizzness.com/api/forms \
-H "Authorization: Bearer frk_your_api_key" \
-H "Content-Type: application/json" \
-d '{"name": "Contact Form"}'
The response includes your form's submission URLs:
{
"ok": true,
"form": {
"id": 42,
"name": "Contact Form",
"endpoint_token": "abc123def456",
"submission_url": "https://forms.rizzness.com/f/abc123def456",
"json_url": "https://forms.rizzness.com/json/abc123def456"
}
}
3. Add the form to your site
Standard HTML form
Point your form's action to the submission URL. Include any
<input> fields you need — RizzForms captures all
of them automatically.
<form action="https://forms.rizzness.com/f/abc123def456" method="POST">
<!-- Honeypot field for spam protection (keep this hidden) -->
<input type="text" name="_hp" style="display:none" tabindex="-1" autocomplete="off">
<label for="name">Name</label>
<input type="text" name="name" id="name" required>
<label for="email">Email</label>
<input type="email" name="email" id="email" required>
<label for="message">Message</label>
<textarea name="message" id="message"></textarea>
<button type="submit">Send</button>
</form>
The hidden _hp field is a honeypot — bots fill it in,
humans do not. Any submission with a value in _hp is
automatically flagged as spam.
JSON API (fetch, Axios, etc.)
For JavaScript-driven forms, POST JSON to the
/json/:endpoint_token endpoint:
const response = await fetch("https://forms.rizzness.com/json/abc123def456", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
name: "Jane Smith",
email: "[email protected]",
message: "Hello from my SPA!"
})
});
const result = await response.json();
// { "ok": true, "id": 789, "links": [...] }
Redirect behavior
HTML form submissions redirect to a default thank-you page at
https://forms.rizzness.com/f/abc123def456/thanks. You can
set a custom redirect URL via the dashboard or API:
curl -s -X PATCH https://www.rizzness.com/api/forms/abc123def456 \
-H "Authorization: Bearer frk_your_api_key" \
-H "Content-Type: application/json" \
-d '{"success_redirect_url": "https://yoursite.com/thank-you"}'
4. Test your form
Submit the form once and check the dashboard — your submission should appear immediately.
For programmatic testing, add ?test=true to the JSON
endpoint. This runs plugin delivery synchronously and returns detailed
feedback in the response:
curl -s -X POST "https://forms.rizzness.com/json/abc123def456?test=true" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]", "subject": "Test submission"}'
5. Configure delivery
By default, RizzForms sends email notifications for every new submission. You can add more delivery channels from the dashboard or via the API.
Notification emails
Notification emails are sent automatically to the account owner. Add additional recipients in the dashboard under Form Settings → Notifications, or via the API:
curl -s -X PATCH https://www.rizzness.com/api/forms/abc123def456 \
-H "Authorization: Bearer frk_your_api_key" \
-H "Content-Type: application/json" \
-d '{"notification_email_addresses": ["[email protected]", "[email protected]"]}'
Webhooks
Forward submissions to your own server or automation tool:
curl -s -X POST https://www.rizzness.com/api/forms/abc123def456/plugins \
-H "Authorization: Bearer frk_your_api_key" \
-H "Content-Type: application/json" \
-d '{"plugin_type": "webhook", "config": {"url": "https://yoursite.com/webhooks/forms"}}'
The response includes a signing_secret (shown only once) for
verifying webhook authenticity. See
Webhooks for payload format and retry
details.
Rate limiting
Submissions are rate-limited to 60 per minute per IP address per form. This protects your forms from abuse without affecting normal usage.
Next steps
- API Reference — full endpoint documentation
- Authentication — API keys, permissions, and roles
- Webhooks — payload format, signatures, and retries
- Avoiding Spam — honeypots, CAPTCHA, and email whitelisting