# 콘텐츠 및 게시

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

> Markdown version of https://kanorio.com/ko/developers/products/content. Append `.md` to any developer docs URL for this format. Index: https://kanorio.com/llms.txt · MCP: https://app.kanorio.com/api/mcp
>
> Translated from the English original: https://kanorio.com/en/developers/products/content.md

Status: **Available**

콘텐츠는 사이트가 게시하는 모든 것을 의미합니다. 사용자가 정의한 구조화된 컬렉션, 블로그, 섹션으로 구성된 페이지, 그리고 모든 페이지에서 공유되는 헤더, 푸터 및 설정이 포함됩니다. 동일한 콘텐츠가 Kanorio에서 호스팅되는 사이트와 직접 구축한 프론트엔드 모두에서 사용됩니다.

## 핵심 객체

- **컬렉션 및 아이템**：텍스트, 리치 텍스트, 숫자, 날짜, 미디어 및 다른 컬렉션에 대한 참조와 같은 컬렉션의 필드를 정의하며, 아이템에 데이터를 저장합니다. 컬렉션은 특정 필드에 대한 접근을 멤버나 구매자로 제한할 수 있습니다.
- **게시물**：블로그는 게시물, 카테고리, 태그, 작성자라는 내장 컬렉션 세트로 구성됩니다. 게시물은 게시 전 검토 및 예약 게시 기능을 지원합니다.
- **페이지 및 섹션**：각 페이지는 유형이 지정된 섹션의 순서가 있는 목록입니다. 호스팅된 사이트는 이를 렌더링하며, 헤드리스 프론트엔드는 동일한 데이터를 읽어옵니다.
- **글로벌**：헤더, 푸터 및 사이트 설정(예: CTA 버튼 및 소셜 링크).
- **리다이렉트 및 리비전**：페이지 이름을 변경하면 자동으로 리다이렉트가 생성되며, 이전 버전의 콘텐츠를 복원할 수 있습니다.
- **가져오기**：이미지, 카테고리 및 원래 작성일을 유지하면서 다른 플랫폼에서 게시물을 가져올 수 있습니다.

## API 활용 방법

- Management API를 사용하여 데이터를 작성합니다. 페이지, 글로벌 및 게시물에 대한 작성 내용은 게시 작업이 실행되기 전까지 초안 상태로 유지됩니다. 컬렉션 아이템은 초안을 요청하지 않는 한 즉시 게시됩니다.
- Content Delivery API를 사용하여 게시된 콘텐츠를 읽어옵니다. 이 API는 익명이며 엣지 캐시가 적용되어 브라우저에서 안전하게 사용할 수 있습니다. 모든 응답에서 미디어는 하나의 `assets` 맵으로 해결됩니다.
- `collections.item.*`, `content.page.*` 및 `content.translation.*` 웹훅을 수신합니다. 웹훅에 포함된 `cacheTags`를 사용하면 변경된 페이지와 로케일만 정확하게 갱신할 수 있습니다.

## What the APIs expose

| Capability | Status | API | Elements | Hosted site | Webhooks |
| --- | --- | --- | --- | --- | --- |
| Collections (structured content) | Available | 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` | — | `/data` workbench; collection list / detail pages | `collections.item.*`, `collections.items.bulkChanged`, `collections.schema.changed` |
| Blog (system collections) | Available | 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` | — | `/posts` editor, `/data/blog`; hosted `/blog`, `/blog/:slug` | `collections.item.*` |
| Pages, globals (header/footer) & redirects | Available | Management API `pages.*`, `globals.*`, `site.publish`; Delivery `GET /pages`, `GET /pages/:slug`, `GET /globals/headers/:key`, `GET /globals/footer`, `GET /redirects` | — | `/editor` visual builder | `content.page.*`, `content.site.published` (with `previousSlug` & `cacheTags`) |
| Draft preview tokens (`knr_pv_`) | Available | Management API `site.create_preview_token`; Delivery `X-Kanorio-Preview: knr_pv_...` (edge HMAC verified, bypasses cache); SDK `@kanorio/sdk/preview` (`createPreviewRouteHandler`, `previewHeaders`, `tokenFromCookieHeader`) | — | `/settings/developer` preview token manager; `/console` Preview button | — |
| GraphQL API | Not offered | — | — | — | — |
| Multi-environment / schema branching & content staging environments | Not offered | — | — | — | — |
| Scheduled publishing for posts & collection items | Available | `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 | — | `/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 | — | — | — | — |
| Per-item revision history, trash, optimistic concurrency & edit/publish separation for custom Collections and blog posts | Available | 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` | — | `/data` workbench record panel (version history tab, trash view, conflict banner); `/posts` article editor (conflict banner) | — |
| `items.bulk_delete` & Import/Export REST API | Not offered | — | — | — | — |
| Visual click-to-edit overlays (Content Source Maps / stega) on external storefronts | Not offered | — | — | — | — |

## API reference

- Management API: [Sections](https://kanorio.com/en/developers/management-api/sections) (1 operations)
- Management API: [Globals](https://kanorio.com/en/developers/management-api/globals) (7 operations)
- Management API: [Pages](https://kanorio.com/en/developers/management-api/pages) (7 operations)
- Management API: [Posts](https://kanorio.com/en/developers/management-api/posts) (9 operations)
- Management API: [Imports](https://kanorio.com/en/developers/management-api/imports) (7 operations)
- Management API: [Blog categories](https://kanorio.com/en/developers/management-api/blog_categories) (2 operations)
- Management API: [Blog tags](https://kanorio.com/en/developers/management-api/blog_tags) (2 operations)
- Management API: [Authors](https://kanorio.com/en/developers/management-api/authors) (3 operations)
- Management API: [Collections](https://kanorio.com/en/developers/management-api/collections) (5 operations)
- Management API: [Items](https://kanorio.com/en/developers/management-api/items) (15 operations)
- Management API: [Revisions](https://kanorio.com/en/developers/management-api/revisions) (3 operations)
- Content Delivery API: [Redirects](https://kanorio.com/en/developers/delivery-api/redirects) (1 operations)
- Content Delivery API: [Pages](https://kanorio.com/en/developers/delivery-api/pages) (2 operations)
- Content Delivery API: [Globals](https://kanorio.com/en/developers/delivery-api/globals) (2 operations)
- Content Delivery API: [Collections](https://kanorio.com/en/developers/delivery-api/collections) (1 operations)
- Content Delivery API: [Items](https://kanorio.com/en/developers/delivery-api/items) (2 operations)
- Content Delivery API: [Feed](https://kanorio.com/en/developers/delivery-api/feed) (2 operations)

## Webhook events

- `collections.item.created`: Fired when a collection item is created (includes publicVersion and cacheTags).
- `collections.item.updated`: Fired when a collection item draft or published payload is updated.
- `collections.item.published`: Fired when a collection item is published and visible on the Content Delivery API.
- `collections.item.unpublished`: Fired when a collection item is unpublished and removed from the Content Delivery API.
- `collections.item.deleted`: Fired when a collection item is permanently deleted.
- `collections.items.bulkChanged`: Fired once per batch operation (bulkCreate, bulkUpdate, publish/unpublish batch, or CSV/JSON import).
- `collections.schema.changed`: Fired when a collection or its field schema is created, updated, or deleted (triggers `kanorio types` regeneration).
- `content.site.published`: Fired when a site is published, invalidating pages, globals, and redirects caches.
- `content.page.published`: Fired when a page is published on the site.
- `content.page.updated`: Fired when a published page's content or slug is updated (includes previousSlug when renamed).
- `content.page.unpublished`: Fired when a page is unpublished or hidden.
- `content.page.deleted`: Fired when a page is deleted.

Payloads: https://kanorio.com/en/developers/webhooks/events

## Guides

- [페이지, 게시물 및 컬렉션 읽기](https://kanorio.com/ko/developers/guides/read-content): Content Delivery API를 사용하여 사이트의 탐색, 페이지, 블로그 게시물, 컬렉션 및 검색 결과를 로드하고, 이미지를 해결하며 타입을 생성합니다.

## 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

Full changelog: https://kanorio.com/en/developers/changelog

## For site owners

Dashboard help: https://kanorio.com/ko/help/data-workbench
