API Endpoints
Content Management
GET /admin/content/new?collection=id- Create new content formGET /admin/content/:id/edit- Edit content formPOST /admin/content/- Create contentPUT /admin/content/:id- Update content with versioningDELETE /admin/content/:id- Delete content
Advanced Features
POST /admin/content/preview- Preview before publishingPOST /admin/content/duplicate- Duplicate contentGET /admin/content/:id/versions- Version historyPOST /admin/content/:id/restore/:version- Restore version
Public API
GET /api/content- Get published content (paginated)GET /api/collections/:collection/content- Get content by collectionGET /api/collections- List all collections
GraphQL API
Opt-in plugin — add graphqlPlugin() to plugins.register:
import { graphqlPlugin, createSonicJSApp } from '@sonicjs-cms/core'
export default createSonicJSApp({
plugins: { register: [graphqlPlugin()] },
})GET /graphql— GraphiQL playground (interactive browser IDE)POST /graphql— Execute queries and mutations (Bearer API key auth)
# Query published documents
query {
documents(typeId: "blog_posts", status: "published", limit: 10) {
items { id title slug status publishedAt data }
cursor
}
}
# Create a document (requires API key)
mutation {
createDocument(typeId: "blog_posts", title: "Hello", data: {}) {
id rootId isCurrentDraft
}
}Supports: documents, document(id) queries · createDocument, updateDocument, publishDocument, unpublishDocument, deleteDocument mutations · JSON scalar · keyset pagination.
Source captured: 2026-10-11