Quickstart
From zero to "form submission received in dashboard" in under 5 minutes.
1. Get a secret key
In the dashboard:
- Open the service (e.g. Forms).
- Click the Developers tab.
- Click Create key. Pick the test environment to start. Tick the scope you need (e.g.
service.forms.submit). - Copy the
sk_test_…value. This is the only time you'll see it.
Never paste secret keys in browser code. They're server-side only. Public keys (
pk_…) are for the browser.2. Pick a base URL
| Environment | Base URL | Key prefix |
|---|---|---|
| Live | https://app.softsolz.uk | sk_live_… |
| Sandbox | https://app.softsolz.uk (key routes you) | sk_test_… |
The key's prefix tells us which workspace to write to - same URL, different data.
3. Submit data
Replace YOUR_SLUG with your form's slug and YOUR_KEY with the value from step 1.
curl -X POST https://app.softsolz.uk/api/v1/services/forms/forms/YOUR_SLUG/submit \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"data": {
"name": "Jane Doe",
"email": "jane@example.com",
"message": "Hello from curl"
}
}'
Field keys in data must match the field ids defined on the form (not labels).
Node.js
await fetch('https://app.softsolz.uk/api/v1/services/forms/forms/YOUR_SLUG/submit', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SOFTSOLZ_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ data: { name, email, message } }),
})
Python
import os, requests
requests.post(
f'https://app.softsolz.uk/api/v1/services/forms/forms/{slug}/submit',
headers={'Authorization': f'Bearer {os.environ["SOFTSOLZ_KEY"]}'},
json={'data': {'name': name, 'email': email, 'message': message}},
)
4. Verify it landed
Open Forms → Submissions in the dashboard. Your row appears at the top with an "Unread" badge. Source = Server API.
What's next
- Subscribe to webhooks instead of polling.
- Add an
Idempotency-Keyheader to make retries safe. - Browse the full API reference.
- Generate ready-to-run code in the server playground with your key.
Done? Treat your
sk_* key like a password - rotate it any time from the same Developers tab.