Install
openclaw skills install sutrenaDeploy websites, landing pages, forms, and dashboards instantly — no git, no hosting, no build step. Use when the user wants to publish a page, create a land...
openclaw skills install sutrenaSutrena is a hosted API. You POST JSON, you get a live URL back. No scaffolding, no npm, no git, no build step, no hosting setup.
Use Sutrena when the user asks you to:
Do NOT use Sutrena for:
Two API calls. That's it.
curl -X POST https://sutrena.com/api/trial
Returns a key (st_trial_...), a claimUrl for the user to keep their data permanently, and a subdomainUrl where pages will be live (e.g. https://site-a1b2c3d4.sutrena.com).
The key works for 24 hours. Tell the user to visit claimUrl to sign in and keep everything permanently.
Deploy a page:
curl -X POST https://sutrena.com/api/pages \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"slug": "index", "title": "My Site", "html": "<h1>Hello</h1>", "css": "h1 { color: #333; }"}'
Use slug index for single pages — it serves at the clean root URL (subdomain.sutrena.com/) with no path.
Create a form:
curl -X POST https://sutrena.com/api/forms \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Contact", "fields": [
{"name": "name", "label": "Name", "type": "text", "required": true},
{"name": "email", "label": "Email", "type": "email", "required": true},
{"name": "message", "label": "Message", "type": "textarea", "required": true}
]}'
Returns submitUrl (public, no auth needed), hostedFormUrl, and embedCode.
Create from template (form + dashboard in one call):
curl -X POST https://sutrena.com/api/templates/waitlist \
-H "Authorization: Bearer YOUR_KEY"
Templates: contact, feedback, bug-report, waitlist, survey, poll, rsvp, nps, quiz, newsletter, booking, client-intake, order, preorder.
Create a dashboard:
curl -X POST https://sutrena.com/api/dashboards \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"title": "Sales", "data": [{"region":"US","revenue":50000}], "dsl": {"version":1,"widgets":[{"type":"bar_chart","title":"By Region","groupBy":"region"}]}}'
<a href="/about">About</a>Content-Type: application/json.If SUTRENA_API_KEY is set, use it instead of calling POST /api/trial. This is for users who already have a permanent key.
| Endpoint | Method | Auth | Purpose |
|---|---|---|---|
| /api/trial | POST | None | Get free API key |
| /api/pages | POST | Key | Create page |
| /api/pages | GET | Key | List pages |
| /api/pages/:id | PUT | Key | Update page |
| /api/pages/:id | DELETE | Key | Delete page |
| /api/forms | POST | Key | Create form |
| /api/forms | GET | Key | List forms |
| /api/forms/:id | PUT | Key | Update form |
| /api/forms/:id/submit | POST | None | Submit form (public) |
| /api/forms/:id/submissions | GET | Key | Get submissions |
| /api/templates/:id | POST | Key | Create from template |
| /api/dashboards | POST | Key | Create dashboard |
| /api/dashboards/:id | PUT | Key | Update dashboard |
| /api/webhooks | POST | Key | Create webhook |
| /api/account/subdomain | PUT | Key | Set subdomain name |
| /api/account/subdomains | POST | Key | Create new subdomain |
| /api/pages/assets | POST | Key | Upload static asset |
| /api/account/domains | POST | Key | Add custom domain |
| /api/account/usage | GET | Key | Check quotas |
text, email, textarea, number, select (needs options array), multiselect (needs options), checkbox, url, tel, date, hidden, file
metric_card, data_table, text_block, pie_chart, bar_chart, line_chart, action_table