Authentication
The RizzForms API supports two authentication methods: Bearer API keys for
programmatic access and session cookies for the browser dashboard. Public
ingestion endpoints (/f/ and /json/) do not require
authentication.
Overview
There is no API endpoint for creating accounts or generating API keys. Users sign up through the web form at forms.rizzness.com (protected by Turnstile CAPTCHA and email confirmation), then create API keys from the dashboard.
API Keys
API keys are created and managed from your account dashboard under
Settings → API Keys. Each key is prefixed with
frk_ so you can identify RizzForms credentials at a glance.
frk_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
Keys are shown in full only once at creation time. Store them securely. If a key is compromised, revoke it from the dashboard and create a new one.
Bearer Token
Pass your API key in the Authorization header using the
Bearer scheme:
Authorization: Bearer frk_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
Example: List your forms
curl -s https://www.rizzness.com/api/forms \
-H "Authorization: Bearer frk_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
Example: Create a form
curl -s -X POST https://www.rizzness.com/api/forms \
-H "Authorization: Bearer frk_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6" \
-H "Content-Type: application/json" \
-d '{"name": "Contact Form"}'
Permissions & Roles
Each API key carries a set of permission scopes that control what it can access. There are three scopes:
| Scope | Grants access to |
|---|---|
can_create_forms |
Create and update forms, manage plugins, rotate secrets |
can_read_submissions |
Read non-spam submissions |
can_read_spam_submissions |
Read spam submissions |
For convenience, the dashboard offers two preset roles:
| Role | Scopes |
|---|---|
| Admin |
can_create_forms,
can_read_submissions,
can_read_spam_submissions
|
| Readonly | can_read_submissions |
Choose the Readonly role when you only need to pull submission data (for example, syncing to a CRM). Use Admin when your integration also creates forms or manages webhooks.
Session Authentication
When you are signed in to the RizzForms dashboard, your browser session
cookie authenticates API requests automatically. This is how the dashboard
itself works. Session auth provides access to all endpoints, including the
/api/stats endpoint which is session-only.
Error Responses
Authentication failures return standard JSON error objects:
401 Unauthorized — missing or invalid key
{
"ok": false,
"error": "unauthorized",
"message": "No API key provided. Include an Authorization: Bearer header."
}
{
"ok": false,
"error": "invalid_api_key",
"message": "The provided API key does not match any active key."
}
403 Forbidden — insufficient permissions
{
"ok": false,
"error": "forbidden",
"message": "Your API key does not have the required permission for this action."
}
See Error Codes for the full list of error responses.