> ## Documentation Index
> Fetch the complete documentation index at: https://kardow.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# CMS Overview

> Define structured content collections, then read, write, and monetize them through the platform.

The Kardow CMS is a generic, schema-validated content store. Use it any time
your tenant site needs a list of structured items — sponsors, courses,
team members, classifieds, recipes — without standing up a new database
table.

## How it fits together

```
┌──────────────────────────┐         ┌────────────────────────────┐
│ Your site / template     │ ──get── │ /api/organization/cms/{slug}│  public read (cached 60s)
│ (template-2 platform.cms)│ ──post─▶│ /api/organization/cms/.../submit│ public submit (free or paid)
└──────────────────────────┘         └────────────────────────────┘
              │                                       │
              ▼                                       ▼
┌──────────────────────────┐         ┌────────────────────────────┐
│ Dashboard / AI editor    │ ──auth─▶│ /api/platform/cms/*         │  org-scoped CRUD
│ (Bearer token)           │         └────────────────────────────┘
└──────────────────────────┘
              │
              ▼
┌──────────────────────────┐         ┌────────────────────────────┐
│ External app / Zapier    │ ─x-api─▶│ /api/external/cms/*         │  programmatic CRUD
│ (x-api-key)              │         └────────────────────────────┘
└──────────────────────────┘
```

## Three building blocks

1. **Collection** — a named bucket plus a schema. e.g. `sponsors`,
   `courses`, `events`.
2. **Item** — one JSON row inside a collection, validated against the
   schema. Has a `status` (`draft` / `pending_review` / `published` /
   `expired` / `archived`) and optional `expires_at`.
3. **Payment plan** with `purpose: 'cms_item'` — links a checkout flow to
   a collection so paying customers can submit an item that gets
   automatically inserted on payment.

## When to use the CMS

| You want to…                                          | Use…                                                 |
| ----------------------------------------------------- | ---------------------------------------------------- |
| Show a curated list of partners                       | A `private` collection edited from the dashboard.    |
| Let visitors apply for a directory listing for free   | `allow_public_submit: true`, `moderation: 'manual'`. |
| Sell sponsorship slots that auto-publish on payment   | A `cms_item` payment plan.                           |
| Sync content from an external CMS (Notion, Airtable…) | The `x-api-key` external endpoints.                  |

Continue with the [Build a sponsors page](/docs/guides/cms/build-a-sponsors-page)
walkthrough, or jump to the [API reference](/docs/api-reference/cms/introduction).
