Kanorio Management REST API 讓您的後端程式直接透過 HTTPS 讀寫網站:建立與設定網站、讀寫頁面模組與網誌帖文、管理資料集合與數碼交付物、上傳媒體庫圖片、查詢訂單與聯絡人,以及發佈網站與管理自訂網域。
它底層的能力與連接 AI 助理(MCP)完全相同,差別在於呼叫方式:
Base URL:https://app.kanorio.com/api/v1
完整端點、參數與錯誤碼參考(SSOT):所有端點的路徑、查詢參數、Request/Response 範例、速率限制與錯誤代碼表,皆由程式碼契約即時產生於公開的 Management API 參考頁(機器可讀規格:
https://app.kanorio.com/api/v1/openapi.json)。本文專注說明認證、並行安全與淘汰政策。
REST API 僅接受以 knr_pat_ 開頭的。請在每個請求加上 Authorization Header:
Authorization: Bearer knr_pat_您的金鑰
/api/mcp,無法用來呼叫 REST API。資安提醒:
knr_pat_金鑰等同您的個人管理身分。請務必存放在伺服器端的環境變數或密鑰保管服務中,絕對不要將金鑰寫進瀏覽器前端程式碼、流動裝置 App 或公開的 Git 儲存庫。
:id)所有網站層級的端點路徑都以 /sites/:id/... 開頭。您可以進入後台「網站設定 › 一般」滑到底部複製 websiteId,或先呼叫 GET /api/v1/sites 列出金鑰可存取的網站清單。
POST /sites/:id/publish 才會更新託管網站):頁面模組(PUT .../sections)、頁首與頁尾(PUT .../globals/header|footer)、全站共用按鈕與社群連結、網站外觀設定。網誌帖文的新增與修改同樣只更新工作副本,需呼叫 POST .../posts/:postId/publish 才會公開。items.* 預設 publish: true,傳 publish: false 則存草稿)、商店商品與交付物。ifUnmodifiedSince)為了防止您的腳本與正在使用後台編輯器的團隊成員(或另一支 AI 助理)互相覆蓋改動,寫入頁面模組與全站導覽時採用樂觀並行控制(Optimistic Concurrency Control):
PUT /sites/:id/pages/:pageId/sections):必須先讀取頁面取得 updatedAt,並在寫入時帶入 ifUnmodifiedSince: "<updatedAt>"。GET /sites/:id/globals 取得 contentUpdatedAt,並在寫入時帶入 ifUnmodifiedSince: "<contentUpdatedAt>"。409 CONFLICT(附帶最新時間戳),請重新讀取並合併後再重送。先將金鑰設為環境變數:
export KANORIO_TOKEN="knr_pat_您的金鑰"
curl -s https://app.kanorio.com/api/v1/sites \ -H "Authorization: Bearer $KANORIO_TOKEN"
id 與 updatedAtcurl -s https://app.kanorio.com/api/v1/sites/ws_example123/pages \ -H "Authorization: Bearer $KANORIO_TOKEN"
ifUnmodifiedSince 改寫頁面模組草稿curl -s -X PUT https://app.kanorio.com/api/v1/sites/ws_example123/pages/pg_example456/sections \ -H "Authorization: Bearer $KANORIO_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "ifUnmodifiedSince": "2026-10-15T08:00:00.000Z", "sections": [ { "id": "sec_hero_1", "type": "page-main-visual", "title": "拾光手作烘焙", "description": "每天清晨出爐的手作酸種麵包與法式常溫甜點。" } ] }'
curl -s -X POST https://app.kanorio.com/api/v1/sites/ws_example123/publish \ -H "Authorization: Bearer $KANORIO_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
429 RATE_LIMITED 並附 Retry-After 秒數。Deprecation、Sunset 與 Link Header,並主動寄信通知近 30 天內仍有呼叫該端點的金鑰擁有者。有的。您可以使用 @kanorio/sdk(由 Agent、Delivery、Customer 三份 OpenAPI 自動產生的型別化客戶端),或執行 npx @kanorio/cli types --site https://{您的網站} 自動為您的資料集合產生完整 TypeScript 型別。
請直接前往 Management API 參考頁 — Error codes 專區。撰寫程式時請一律依 error.code 分支處理,不要比對人類可讀的 error.message 字串。