| GET /api/v1/me | Token name, org, scopes, and allowed site IDs |
| GET /api/v1/sites | List accessible sites |
| GET /api/v1/templates | List marketplace templates for cloning (sites:read) |
| POST /api/v1/sites | Create a site — optional template slug clones marketplace layout (sites:write) |
| GET /api/v1/sites/{siteId}/collections | List collections |
| POST /api/v1/sites/{siteId}/collections | Create a collection |
| DELETE /api/v1/sites/{siteId}/collections/{id} | Delete a collection (content:delete) |
| GET /api/v1/sites/{siteId}/pages | List draft pages |
| GET /api/v1/sites/{siteId}/pages/by-path?path=... | Fetch one page by path |
| POST /api/v1/sites/{siteId}/pages | Create a draft page |
| PATCH /api/v1/sites/{siteId}/pages/{contentId} | Update draft content |
| POST /api/v1/sites/{siteId}/reorder | Reorder, move, or sort pages (content:write) |
| DELETE /api/v1/sites/{siteId}/pages/{contentId} | Soft-delete a page (content:delete) |
| POST /api/v1/sites/{siteId}/publish | Publish dirty drafts (publish:write) |
| POST /api/v1/sites/{siteId}/unpublish | Hide site or unpublish pages (publish:write) |
| GET /api/v1/sites/{siteId}/media | List site media images (content:read) |
| POST /api/v1/sites/{siteId}/media/upload | Prepare a signed upload for site media (content:write) |
| GET /api/v1/sites/{siteId}/changes | List dirty drafts awaiting review |
| GET /api/v1/social/accounts | List connected social accounts (social:write) |
| GET/POST /api/v1/social/posts | List or create social drafts (social:write) |
| GET/PATCH /api/v1/social/posts/{postId} | Read or revise a social draft (social:write) |
| GET/POST /api/v1/social/media | List or register social media assets (social:write) |
| GET /api/v1/social/org-media | Browse org media storage — dashboard uploads (social:write) |
| POST /api/v1/social/media/generate | AI-generate social images — up to four aspectRatios per call (social:write) |
| GET/POST /api/v1/campaigns | List or draft email campaigns (newsletter:read / newsletter:write) |
| GET/PATCH /api/v1/campaigns/{campaignId} | Read or revise a draft campaign (newsletter:read / newsletter:write) |
| GET /api/v1/campaigns/{campaignId}/analytics | Send, open, click, and unsubscribe metrics (newsletter:read) |