Kanorio管理REST APIを使用すると、バックエンドプログラムからHTTPS経由で直接サイトの読み書きが可能になります。サイトの作成や設定、ページセクションやブログ記事の読み書き、コレクションやデジタル製品の管理、メディアライブラリへの画像アップロード、注文や連絡先の照会、さらにサイトの公開やカスタムドメインの管理まで行えます。
その基盤となる機能はAIアシスタント(MCP)の接続と同一ですが、呼び出し方法が異なります。
ベースURL: https://app.kanorio.com/api/v1
エンドポイント、パラメータ、エラーコードの完全版(SSOT): すべてのエンドポイントパス、クエリパラメータ、リクエスト/レスポンスの例、レート制限、エラーコード表は、公開されている管理APIリファレンスページ上のコードコントラクトからリアルタイムで生成されます(機械可読仕様:
https://app.kanorio.com/api/v1/openapi.json)。本ガイドでは、認証、並行処理の安全性、廃止ポリシーに焦点を当てます。
REST APIは、knr_pat_で始まるのみを受け付けます。すべてのリクエストにAuthorizationヘッダーを含めてください。
Authorization: Bearer knr_pat_your_key
/api/mcpに限定されており、REST APIの呼び出しには使用できません。セキュリティ警告:
knr_pat_キーは、あなたの個人管理IDと同等です。必ずサーバー側の環境変数またはシークレット管理サービスに保存してください。ブラウザ側のフロントエンドコード、モバイルアプリ、または公開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アシスタント)がダッシュボードエディタで行った変更をスクリプトが上書きしないように、ページセクションやサイト全体のナビゲーションを書き込む際には楽観的同時実行制御を使用します。
PUT /sites/:id/pages/:pageId/sections): まずページを読み取ってupdatedAtタイムスタンプを取得し、リクエストにifUnmodifiedSince: "<updatedAt>"を含める必要があります。GET /sites/:id/globalsを呼び出してcontentUpdatedAtタイムスタンプを取得し、リクエストにifUnmodifiedSince: "<contentUpdatedAt>"を含める必要があります。409 CONFLICT(最新のタイムスタンプ付き)を返します。再読み込み、マージ、再送信を行ってください。キーを環境変数として設定します:
export KANORIO_TOKEN="knr_pat_your_key"
curl -s https://app.kanorio.com/api/v1/sites \ -H "Authorization: Bearer $KANORIO_TOKEN"
idとupdatedAtを取得するcurl -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": "Artisan Bakery", "description": "Handcrafted sourdough bread and French pastries, baked fresh every morning." } ] }'
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 '{}'
Retry-Afterヘッダーと共に429 RATE_LIMITEDが返されます。Deprecation、Sunset、Linkヘッダーが自動的に含まれ、過去30日間にそのエンドポイントを呼び出したキーの所有者には事前に通知を行います。はい。@kanorio/sdk(Agent、Delivery、CustomerのOpenAPI仕様から自動生成された型付きクライアント)を使用するか、npx @kanorio/cli types --site https://{your-site}を実行して、コレクションの完全なTypeScript型を自動生成できます。
管理APIリファレンス — エラーコードセクションをご覧ください。コードを記述する際は、人間が読めるerror.message文字列を照合するのではなく、常にerror.codeに基づいてロジックを処理してください。