Kanorio

Business systems

Content & Publishing

Collections, blog posts, pages and site-wide navigation, with drafts, review, scheduling and redirects.

Available

Content is everything a site publishes: your own structured collections, the blog, pages built from sections, and the header, footer and settings shared by every page. The same content serves the Kanorio-hosted site and any front end you build.

Core objects

  • Collections and items. You define a collection's fields, such as text, rich text, numbers, dates, media and references to other collections, and its items hold the data. Collections can restrict fields to members or buyers.
  • Posts. The blog is a set of built-in collections: posts, categories, tags and authors. Posts support review before publishing and scheduled publishing.
  • Pages and sections. Each page is an ordered list of typed sections. The hosted site renders them; a headless front end reads the same data.
  • Globals. The header, footer and site settings, such as call-to-action buttons and social links.
  • Redirects and revisions. Renaming a page creates a redirect automatically, and earlier versions of content can be restored.
  • Imports. Move posts from another platform, with images, categories and original dates kept.

How the APIs fit

  • Write with the Management API. Writes to pages, globals and posts are drafts until a publish operation runs. Collection items publish immediately unless you ask for a draft.
  • Read published content with the Content Delivery API. It is anonymous, edge-cached and safe for the browser, and every response resolves media in one assets map.
  • Listen for collections.item.*, content.page.* and content.translation.* webhooks, whose cacheTags let you refresh exactly the pages that changed, in exactly the locales that changed.

What the APIs expose

  • Collections (structured content)Available
    API
    Management API collections.* (typed fields including references, media and json; field-level accessPolicy), items.*; Delivery GET /collections/* (filter[f][op], filter[any], relative dates now-30d, sort, total=false, assets map, expand full fieldData, has_slug / eq_slug, access summary & Bearer knr_cat_ gating); CLI kanorio types
    Hosted site
    /data workbench; collection list / detail pages
    Webhooks
    collections.item.*, collections.items.bulkChanged, collections.schema.changed
  • Blog (system collections)Available
    API
    Management API posts.*, blog_categories.list, blog_tags.list; Delivery GET /collections/blog/items (?formats=markdown,html,plaintext, segments[], toc[], primary_author, primary_category), GET /feed (RSS 2.0) & GET /feed.atom
    Hosted site
    /posts editor, /data/blog; hosted /blog, /blog/:slug
    Webhooks
    collections.item.*
  • Pages, globals (header/footer) & redirectsAvailable
    API
    Management API pages.*, globals.*, site.publish; Delivery GET /pages, GET /pages/:slug, GET /globals/headers/:key, GET /globals/footer, GET /redirects
    Hosted site
    /editor visual builder
    Webhooks
    content.page.*, content.site.published (with previousSlug & cacheTags)
  • Draft preview tokens (knr_pv_)Available
    API
    Management API site.create_preview_token; Delivery X-Kanorio-Preview: knr_pv_... (edge HMAC verified, bypasses cache); SDK @kanorio/sdk/preview (createPreviewRouteHandler, previewHeaders, tokenFromCookieHeader)
    Hosted site
    /settings/developer preview token manager; /console Preview button
  • GraphQL APINot offered
    Alternative
    Kanorio exposes a strongly typed REST + OpenAPI 3.1 Content Delivery API with ?fields= projection, 1-layer ?expand= relation resolution, top-level assets batch resolution, and npx @kanorio/cli types for end-to-end TypeScript types without GraphQL schema maintenance.
  • Multi-environment / schema branching & content staging environmentsNot offered
    Alternative
    Each site uses a double-buffered Draft (fieldData) and Published (publishedFieldData) model with read-only knr_pv_ preview tokens for staging verification. If you need a separate sandbox, create a dedicated dev site.
  • Scheduled publishing for posts & collection itemsAvailable
    API
    posts.publish / items.publish accept optional scheduledAt (freezes text content as a revision — posts: title/excerpt/contentMarkdown/showToc, items: fieldData/slug — and publishes that exact snapshot when due; taxonomy, SEO and sortOrder are not frozen); posts.unschedule / items.unschedule to cancel
    Hosted site
    /posts and /data publish button (schedule picker, badge, cancel, "Scheduled" quick filter)
  • Batch release packages & multi-step approval workflows (assigned reviewers, comment threads)Not offered
    Alternative
    Blog posts and collection items support fine-grained custom RBAC roles (collections:schema, collections:manage vs. collections:publish / blog:publish, separating who can edit from who can publish) with 1-click access requests, plus a lightweight single-step review (*.request_review / *.reject_review with one rejection-reason note, no assignment or comment threads). For cross-content batch releases or multi-step approval, orchestrate your own CI/cron on top of posts.publish / items.publish.
  • Per-item revision history, trash, optimistic concurrency & edit/publish separation for custom Collections and blog postsAvailable
    API
    Management API revisions.* (subject: CONTENT_ITEM or BLOG_POST, up to 50 revisions/item, 30-day retention); items.list_archived, items.restore, items.purge; items.update / items.bulk_update / posts.update accept ifUnmodifiedSince and return CONFLICT with the current updatedAt instead of silently overwriting; collections:publish / blog:publish scopes are separate from collections:manage / blog:manage
    Hosted site
    /data workbench record panel (version history tab, trash view, conflict banner); /posts article editor (conflict banner)
  • items.bulk_delete & Import/Export REST APINot offered
    Alternative
    Custom Collections provide draft/published double buffering, backoffice CSV/JSON import & export (/data), and full-site ZIP backups (collections/*.json).
  • Visual click-to-edit overlays (Content Source Maps / stega) on external storefrontsNot offered
    Alternative
    External storefronts use read-only knr_pv_ preview tokens (and ?kp=knr_pv_... handoff from the backoffice Preview button) with @kanorio/sdk/preview rather than DOM-injected click-to-edit overlays.

API reference

Webhook events

Guides

Recent changes

  • 2026-11-04 Localization: publishing one locale needs the record's publish permission
  • 2026-11-04 Localization: each locale can have its own URL slug
  • 2026-11-03 Site brand identity: one setting for hosted pages, checkout, sign-in, emails and your own front end
  • 2026-11-01 Authors and instructors: one shared list for posts and deliverables
  • 2026-10-31 Import posts from another site
View the full changelog

For site owners

How to use this product in the dashboard is covered in the help center.

Open the help center