API overview
Script against WriteMars directly: everything the app does goes through this API.
Base URL
https://api.writemars.com
Call the API domain (api.writemars.com) directly. The app domain's (writemars.com) /_backend proxy exists for first-party cookie handling only — don't build against it.
Workspace resources live under /api/workspaces/<slug>/…. The slug is in the app's URL.
Auth at a glance
Every request carries a personal access token (writemars_pat_...), either way works:
curl -H "X-API-Key: writemars_pat_..." https://api.writemars.com/api/workspaces/
curl -H "Authorization: Bearer writemars_pat_..." https://api.writemars.com/api/workspaces/
Create one in the app — see Authentication & tokens.
Content type
Request and response bodies are JSON. Send Content-Type: application/json on writes.
Reference
- Full endpoint reference — every endpoint, generated from the OpenAPI schema
- Interactive Swagger UI — try any endpoint with your token
- Raw OpenAPI 3 schema
The public reference includes posts and variants, workflow resources, Channels, People profiles, and writing skills. People and skill endpoints apply the same workspace membership and visibility rules as the app.
Versioning
The API is currently unversioned (v1-implicit); breaking changes will arrive under a /v2/ prefix.