Online video courses, audio materials, PDF ebooks, and design asset packs are all treated as the same thing in Kanorio: Deliverables. A deliverable is a tree structure of "Chapters › Units," where each unit can be a video, audio file, PDF, text, external embed, or a downloadable file. Products are only responsible for processing payments; once a payment is successful, the system automatically grants access to the buyer based on the deliverable linked to the product.
This design separates "what you sell" from "what they get": a single course can be sold as both a "one-time purchase" and an "annual membership" product, and a "full series" product can unlock three courses at once. Future access via membership levels or points can be managed without modifying the course itself.
| Role | Where to operate | Action |
|---|---|---|
| You (Site Owner) & AI Assistant | Any AI assistant connected to Kanorio (see ) or Agent API | Create deliverables, organize chapters and units, upload files, set previews and access dates, bind products, grant or revoke access |
| You (Site Owner) | “Store › Deliverables”, “Store › Products”, “Customers › Contacts” | View unit tree and student progress (read-only), select deliverables for products, manually grant access to specific contacts or bulk lists |
| Buyer/Student | Your website's customer center (/account/content) | Log in with checkout email (no password required), watch lessons, download files, track progress |
| Visitor | “Curriculum” module on the product page | View chapter outlines and duration, preview units marked as free previews |
The dashboard intentionally does not provide a curriculum editor. Chapters, units, and files are organized by the AI Assistant based on your descriptions. This is much faster than filling in forms cell by cell and ensures a single source of truth when connecting to a Headless frontend or automation later.
react-101 with three chapters and twelve units. Open the first unit of the first chapter for preview, and open the third chapter 7 days after purchase."Each unit can be configured with:
| Setting | Description |
|---|---|
| Free Preview | Playable in the “Curriculum” module on the product page without login or purchase; all other units remain locked |
| Allow Download | Disabled by default; buyers can only stream or read online. Enable to show the download button (recommended for files that cannot be previewed online, such as Office, EPUB, or ZIP files) |
| Access Date | Set a specific date for access, or unlock N days after purchase (drip-feed course) |
| Applicable Plan | Accessible by any plan by default; can be restricted to specific buyer tiers |
| Hidden | Temporarily hide from the curriculum and customer center |
At the course level, you can also set completion criteria (all units or a percentage) and estimated duration.
Deliverables are not sold directly. Go to "Store › Products" to create or edit a digital product, and check the items you want to unlock in the "Deliverables" tab:
Access is granted automatically the moment the buyer pays successfully; it is revoked automatically when a full refund is issued. For the full buyer experience, see .
Go to "Edit Website", open a product page, and add the "Curriculum" module from the "Store" tab in the module panel. Select the product, and the module will automatically list chapters, units, duration, and total unit count. Units marked for preview will show a "Free Preview" button, allowing visitors to play them without logging in, while other units will show a lock icon. This module can be placed on any page, not just product pages.
Buyers log in to your site without a password using the email they used at checkout (see ) and enter "Customer Center › My Content":
"Store › Deliverables" lists all deliverables. Click any item to view three tabs:
| Tab | Content |
|---|---|
| Units | Chapter and unit tree, type, preview/hidden status, access date, downloadability |
| Products | Bound products, active plans, and access duration |
| Students | Completion status for each contact with access (requires “View Customers” permission) |
Use "Grant Access to Contacts" in the bottom right to paste a list of emails and grant access directly (e.g., for offline course students or gifted spots). This works the same way as the bulk list import in . Revoke access in the "Access" tab of the customer details.
All capabilities of deliverables are available via API and Elements, so you don't need to rebuild players or login systems for custom sites:
GET /api/v1/products/{slug} returns the public curriculum (excluding private URLs); POST /api/v1/units/{id}/open anonymously opens a preview unit.https://{your-domain}/api/v1/customer/*: Browser-callable endpoints for email login, retrieving purchased content, signing playback URLs, and reporting progress.<script> tag lets you add components like <kanorio-login>, <kanorio-curriculum>, and <kanorio-unit>, using the same player and protection mechanisms as hosted sites. See and for details.Not at the moment. Chapters, units, and files are managed by the AI Assistant or Agent API, and the dashboard workspace is read-only. Simply describe the course structure and provide files; the AI Assistant will organize them for you. To make changes, use "Modify with AI" and copy the prompt.
Yes. Create multiple products (or multiple variants of the same product) linked to the same deliverable, and set different prices and durations for each. When a buyer has multiple access entries, the most generous one applies.
No. Switching the product type only hides the "Deliverables" tab. Existing bindings, files, and buyer access remain intact. To revoke access, go to the "Access" tab in the customer details.
Preview unit videos are played via short-lived encrypted links and do not have fixed public URLs. However, anyone who visits the product page can click "Free Preview." Please only set content suitable for public viewing as preview units.
When an item is fully refunded or the entire order is refunded, the system automatically revokes the access granted by that order, and the student will be denied access the next time they try to open it. Partial refunds do not trigger automatic revocation; you can handle this manually in customer details.