Skip to main content

Base URL

https://api.skayle.ai/v1/{organizationId}

Availability

Public API is available only when the organization connector mode is Skayle CMS (headless mode). If an organization is connected to another CMS, requests return 403 Forbidden.

Authentication

Current public /v1/{organizationId} endpoints do not require Bearer API keys. Bearer auth for public CMS endpoints is not currently implemented.

Resource model

  • collections define enabled content spaces for your org.
  • Root articles endpoints target the built-in articles collection.
  • Collection-specific items are exposed under /collections/:collectionSlug/items.
  • /posts remains a backward-compatible alias for root article endpoints.
  • Non-article collections are available on the Authority plan.

Implemented resources

  • GET /collections
  • GET /collections/:collection-slug
  • GET /articles
  • GET /articles/:id-or-slug
  • GET /posts (alias of /articles)
  • GET /posts/:id-or-slug (alias of /articles/:id-or-slug)
  • GET /collections/:collection-slug/items
  • GET /collections/:collection-slug/items/:id-or-slug
  • GET /categories
  • GET /categories/:id-or-slug
  • GET /tags
  • GET /tags/:id-or-slug
  • GET /authors
  • GET /authors/:id-or-slug
  • GET /media
  • GET /media/:id

Not implemented

These public endpoints are not currently available:
  • GET /topics

Response format

Skayle CMS uses JSON:API style responses:
{
  "data": [],
  "included": [],
  "meta": { "total": 0, "per_page": 10, "page": 1 },
  "links": {
    "self": "...",
    "first": "...",
    "last": "...",
    "prev": null,
    "next": null
  }
}

Error format

Errors are returned in JSON:API errors[] format:
{
  "errors": [
    {
      "status": "404",
      "title": "Not Found",
      "detail": "Resource not found"
    }
  ]
}

Query parameters

Common parameters for articles, taxonomies, and media list endpoints:
ParameterTypeDescription
pageintegerPage number (default 1)
per_pageintegerPage size, max 100 (default 10)
searchstringSearch term
orderbystringSort field (date, created_at, updated_at, title, name, slug, id)
orderstringSort direction (asc, desc)
_fieldsstringComma-separated attribute field filter
GET /collections does not currently use pagination/sort/search query parameters. Articles/items endpoints additionally support:
ParameterTypeDescription
statusstringStatus filter (published default, draft, scheduled, all)
categoriesstringComma-separated category IDs
tagsstringComma-separated tag IDs
authorsstringComma-separated author IDs
includestringInclude related resources (categories, tags, authors)

Status behavior

  • List endpoints default to status=published when omitted.
  • status=scheduled returns posts explicitly marked scheduled and legacy scheduled rows represented as draft + publish_at.
  • status=draft excludes legacy scheduled rows (drafts with publish_at set).

Taxonomy scope notes

  • Root taxonomy endpoints (/categories, /tags, /authors) are scoped to the built-in articles collection.
  • Collection-scoped taxonomy endpoints are not part of the public API.