ยง Docs ยท REST reference
The whole API,
one request at a time.
Most creators use the MCP server โ it gives your IDE full access without touching a single endpoint. But the REST API is there for scripts, CI/CD, and programmatic publishing.
ยง I โ Authentication
Bearer tokens
Write endpoints require an Authorization header. Get your token from the account page. Read endpoints are public.
Authorization: Bearer YOUR_TOKEN_HEREยง II โ Post format
JSON payload
{
"slug": "my-post-slug",
"title": "Post Title",
"body": "# Markdown\n\nFull markdown body.",
"tags": ["tag1", "tag2"],
"visibility": "public",
"images": [
{ "id": "img1", "name": "photo.jpg", "data": "data:image/jpeg;base64,..." }
]
}slugโ URL-safe identifier, unique per blogbodyโ Markdown (GFM supported)visibilityโpublicorjournal(Pro only)imagesโ base64 data URIs, self-contained in JSONdateโ ISO 8601, defaults to now. Use for backdating.draft: trueโ saves without publishing
ยง III โ Endpoints
All routes
Platform directory โ all public sites. No auth.
curl https://scsiwyg.com/api/sitesCreate a new blog. Auth required.
curl -X POST https://scsiwyg.com/api/sites \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"username": "myname", "title": "My Blog"}'Site info and published posts. Public.
curl https://scsiwyg.com/api/mynameUpdate blog settings โ title, bio, theme, newsletter, community mode. Auth required.
curl -X PATCH https://scsiwyg.com/api/myname \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"theme":"ocean","themeOverrides":{"link":"#ff6600"}}'List published posts. Public.
curl https://scsiwyg.com/api/myname/postsPublish a new post. Auth required. Publishes immediately unless draft: true.
curl -X POST https://scsiwyg.com/api/myname/posts \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"slug":"hello","title":"Hello","body":"# Hi","visibility":"public"}'Get a single post with full body. Public.
curl https://scsiwyg.com/api/myname/posts/helloUpdate a post. Send only changed fields. Auth required.
curl -X PUT https://scsiwyg.com/api/myname/posts/hello \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"title": "Updated title"}'Permanently delete a post. Auth required.
curl -X DELETE https://scsiwyg.com/api/myname/posts/hello \
-H "Authorization: Bearer $TOKEN"Track a post view. Public. Deduplicates by visitor within 24 hours.
curl -X POST https://scsiwyg.com/api/myname/posts/hello/viewList contributors. Shows community mode status. Public.
curl https://scsiwyg.com/api/myname/contributorsAdd a contributor by email. Auth required, site owner only.
curl -X POST https://scsiwyg.com/api/myname/contributors \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"email": "collaborator@example.com"}'Subscribe an email to a site newsletter. Public. Rate limited 10/hour.
curl -X POST https://scsiwyg.com/api/subscribers \
-H "Content-Type: application/json" \
-d '{"email":"reader@example.com","siteId":"SITE_ID"}'List subscribers for a site. Auth required (site owner).
curl "https://scsiwyg.com/api/subscribers?username=myname" \
-H "Authorization: Bearer $TOKEN"Poll newsletter send status. Auth required.
curl "https://scsiwyg.com/api/newsletter/send-status?slug=hello" \
-H "Authorization: Bearer $TOKEN"Site analytics โ views, top posts, referrers, daily trends. Pro plan, session auth.
curl https://scsiwyg.com/api/analytics?days=30OpenAPI 3.1 spec โ machine-readable, for AI tools and Swagger UI.
curl https://scsiwyg.com/api/openapi.jsonยง IV โ Rate limits