What it is
Skayle CMS is Skayle’s built-in headless CMS mode. Use it when you want to:- Manage content in Skayle
- Serve content through a REST API
- Build your frontend in your own framework
How it differs from the Agent API
Skayle CMS uses two complementary interfaces:- Your website retrieves content through the read-only
/v1/{organizationId}CMS Content API. - Authenticated AI clients and automations manage Skayle through the
/mcpor/v2Agent API.
Availability
Public CMS API is available only when your organization connector type is set toSkayle CMS (headless mode).
If your organization is connected to an external CMS, public /v1/{organizationId} endpoints return forbidden.
Authentication
Current public CMS endpoints do not require a Bearer API key.- No
Authorization: Bearer ...header is required. - Public API access is organization-scoped by URL.
API key note
Bearer auth for public CMS endpoints is not currently implemented.Base URL
Use:Available endpoints
Query features
Common query patterns:- Pagination:
page,per_page - Search:
search(title, excerpt, content, slug, canonical URL, or external URL; a full URL also searches its final path segment) - Sort:
orderby,order - Sparse fields:
_fields
status,categories,tags,authors,include
collection as a preset or slug. The default is
articles; for example, GET /authors?collection=guides.
Content model notes
articlesis the primary root content feed./postsis kept for backward compatibility and returns the same resources as/articles.- Additional enabled collections are discoverable via
/collections. - For non-article collections, use
/collections/:collection-slug/items. - Taxonomy endpoints are root-only (
/categories,/tags,/authors) and apply to articles. - Collection metadata includes
default_content_typeandallowed_content_types. - Non-article collections are available on the
Authorityplan.
Response format
Skayle CMS public API uses JSON:API conventions:dataincluded(when requested)metalinks
errors[].
Status behavior
- Public list endpoints default to
status=published. status=scheduledis supported.- Legacy scheduled records represented as
draft + publish_atare surfaced asscheduledin API responses.
Comparison post screenshots
For comparison posts, Skayle can embed competitor website screenshots directly intocontent_html (typically immediately below the competitor H2 section heading).
The content item endpoints also return a structured comparison_screenshots attribute with capture metadata (section heading/slug, competitor name, source URL, screenshot URL, capture timestamp, and status) so headless frontends can render custom UI if needed.
Not currently available
These public endpoints are not implemented:GET /topics
Security best practices
Even without Bearer auth on current public endpoints, you should still:- Keep organization IDs out of public client code when possible (proxy through your app server).
- Enforce your own rate limiting and caching at your frontend/backend edge.
- Return only fields you need with
_fieldsto reduce data exposure. - Treat draft/published access rules as part of your application-level policy.