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를 기반으로 로직을 처리하십시오.