Updated March 2026
Yes. Create the page with isPublished set to false. The page is not visible on your subdomain or custom domain u2014 visiting the slug returns 404.
But the UUID-based page URL (returned as pageUrl in the create response) works as a private preview link. It looks like sutrena.com/p/PAGE_ID and is accessible to anyone with the link. Share it with reviewers, clients, or your team. No login required to view.
When you are ready to go live, call PUT /api/pages/:id with { \"isPublished\": true }. The page immediately appears on your subdomain at alice.sutrena.com/your-slug.
You can also schedule publishing. Set publishAt to a future ISO datetime and the page will auto-publish when the time arrives (checked every minute by a cron job).
The preview URL is stable. It does not change when you update the page content. So you can share it once, make edits, and reviewers always see the latest version without needing a new link.
For a full preview workflow: create the page unpublished, share the preview URL, collect feedback, update the content, then publish. Or use multiple subdomains as staging environments for a more structured review process.
# Create an unpublished page (draft)
curl -X POST https://sutrena.com/api/pages \
-H "Authorization: Bearer st_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"slug": "launch",
"title": "Coming Soon",
"html": "<h1>Something new</h1>",
"isPublished": false
}'
# Response includes "pageUrl": "https://sutrena.com/p/PAGE_ID" (private preview)
# Subdomain URL alice.sutrena.com/launch returns 404
# Share the preview URL with reviewers, then publish when ready
curl -X PUT https://sutrena.com/api/pages/PAGE_ID \
-H "Authorization: Bearer st_live_your_key" \
-H "Content-Type: application/json" \
-d '{ "isPublished": true }'