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
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
| Resource | Endpoints |
|---|---|
| Collections | GET /collections, GET /collections/:collection-slug |
| Articles | GET /articles, GET /articles/:id-or-slug |
| Posts alias | GET /posts, GET /posts/:id-or-slug |
| Collection items | GET /collections/:collection-slug/items, GET /collections/:collection-slug/items/:id-or-slug |
| Categories | GET /categories, GET /categories/:id-or-slug |
| Tags | GET /tags, GET /tags/:id-or-slug |
| Authors | GET /authors, GET /authors/:id-or-slug |
| Media | GET /media, GET /media/:id |
Query features
Common query patterns:- Pagination:
page,per_page - Search:
search - Sort:
orderby,order - Sparse fields:
_fields
status,categories,tags,authors,include
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.