데이터베이스
보기·속성·행 CRUD와 관계 속성을 같은 원본 데이터에 적용합니다.
Personal Access Token으로 노트·블로그·채팅·캘린더·데이터베이스와 알림함을 연결합니다. 앱별 기능과 필요한 권한을 찾아 자동화하고, Markdown 또는 Tiptap JSON으로 문서를 읽고 편집할 수 있습니다.
API & AI에서 노트 조회와 노트 작성·수정 권한의 키를 만든 뒤 환경 변수에 보관합니다.
export GYEOP_API="/server/v1"
export GYEOP_TOKEN="layer_pat_..."
curl -X POST "$GYEOP_API/notes" \
-H "Authorization: Bearer $GYEOP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "AI가 작성한 회의록",
"client_request_id": "meeting-20260730-001",
"content_markdown": "# 회의 요약\n\n- 결정 사항\n- 다음 작업",
"visibility": "private"
}'notes:read워크스페이스 목록과 노트의 제목·본문을 읽습니다.
notes:write새 노트를 만들고 기존 노트를 수정하거나 내용을 추가합니다.
notes:delete노트를 휴지통으로 이동하고 복원하거나 영구 삭제합니다. 꼭 필요한 키에만 허용하세요.
workspaces:manage워크스페이스 생성·설정·삭제·소유권 이전과 멤버 역할을 관리합니다.
publications:manage글을 링크·전체 공개로 바꾸고 둘러보기, 검색 노출과 공개 댓글을 관리합니다.
databases:read접근 가능한 데이터베이스, 속성과 행을 읽습니다.
databases:write데이터베이스의 보기, 속성과 행을 만들고 수정·삭제합니다.
calendars:read내 캘린더와 공유·구독 일정 및 데이터베이스 일정을 읽습니다.
calendars:write캘린더, 공유, 구독, 연결 원본과 일정을 관리합니다.
comments:read접근 가능한 페이지의 댓글 스레드와 답글을 읽습니다.
comments:write댓글과 답글을 작성하고 해결 상태 또는 삭제를 관리합니다.
assets:write페이지·블로그·채팅·프로필에 이미지와 파일을 업로드합니다. 대상 앱의 쓰기 권한이 함께 필요할 수 있습니다.
users:lookup초대와 공유 전에 사용자명·표시 이름을 실시간 검색합니다.
chat:read친구 목록, 참여 중인 채팅방과 메시지를 읽습니다.
chat:write친구 요청, 채팅방 생성·변경·나가기, 메시지 전송과 읽음 처리를 수행합니다.
drafts:write노트를 바로 바꾸지 않고 검토 가능한 변경 미리보기를 만듭니다.
drafts:approve대기 중인 제안을 최신 버전 확인 후 실제 노트에 적용합니다.
automations:manage변경 피드, Webhook, 배치·백그라운드 작업과 데이터베이스 자동화 규칙을 관리합니다.
admin:users:read전체 회원 목록과 계정 상태를 조회합니다.
admin:users:create운영자 승인 계정을 생성합니다. 기본값은 키당 시간당 5회입니다.
admin:users:write회원의 프로필, 인증 여부와 활성 상태를 변경합니다.
admin:roles:manage글로벌 관리자 지정·해제를 허용하는 최고위험 권한입니다.
admin:audit:read보안 및 관리자 작업의 감사 기록을 조회합니다.
assets:read접근 가능한 페이지의 파일·이미지 목록을 검색합니다.
blogs:read블로그·글·초안·버전·통계·검토 상태를 읽습니다.
blogs:write블로그 설정과 글·블록·시리즈·편집 상태를 변경합니다.
blogs:delete소유한 블로그를 삭제하거나 글 일괄 삭제를 허용합니다.
blogs:publish글 공개·비공개·예약과 탐험 노출을 관리합니다.
explore:read공개 콘텐츠·추천·구독·저장 목록을 읽습니다.
explore:write팔로우·좋아요·북마크·숨김·추천 설정을 변경합니다.
notifications:read알림·읽음 수·보관함·알림 설정을 읽습니다.
notifications:write알림의 읽음·보관·삭제와 계정 알림 설정을 변경합니다.
profile:read내 프로필·온보딩·이미지 편집 설정을 읽습니다.
profile:write내 프로필·아바타·온보딩·이미지 편집 설정을 변경합니다.
integrations:read연결된 Google 캘린더와 동기화 충돌을 읽습니다.
integrations:write기존 Google 연결의 선택·동기화·연결 해제를 관리합니다. 최초 승인은 웹에서 진행합니다.
admin:system:read관리자 전용 시스템 상태·큐·로그·설정 조회입니다.
admin:system:manage관리자 전용 작업 재시도·삭제·정리입니다.
admin:settings:manage관리자 전용 서비스·인증·기능 설정 변경입니다.
admin:content:read관리자 전용 블로그·노트·탐험·검토 대상 조회입니다.
admin:content:manage관리자 전용 콘텐츠 검토·노출·삭제·도메인 요청 처리입니다.
admin:notifications:manage관리자 전용 공지 알림 생성·예약·반복·삭제입니다.
admin:users:delete관리자 전용 체험 계정·미승인 계정 정리입니다.
Authorization: Bearer … 헤더에만 넣으세요. AI 대화, 노트 본문, URL 또는 클라이언트 소스코드에 키를 남기지 마세요.admin:* 범위는 글로벌 관리자만 발급할 수 있고 키 만료는 최대 30일입니다. 서버는 매 요청마다 현재 관리자 상태를 다시 확인합니다. 회원 생성은 기본적으로 키당 시간당 5회로 제한되며, 역할 변경에는 admin:users:write와 admin:roles:manage가 모두 필요합니다.실제 API에서 생성한 341개 작업입니다. 기능 목록 JSON과 OpenAPI에서 요청·응답 형식을 확인할 수 있습니다.
/v1/admin/audit-logsList Audit Logs · admin:audit:read/v1/admin/blog-curation/{publication_id}Api Admin Remove Blog Post Curation · admin:content:manage/v1/admin/blog-curation/{publication_id}Api Admin Curate Blog Post · admin:content:manage/v1/admin/blog-discovery/auditApi Admin Audit · admin:audit:read/v1/admin/blog-discovery/postsApi Admin Admin Posts · admin:content:read/v1/admin/blog-discovery/posts/{publication_id}Api Admin Moderate · admin:content:manage/v1/admin/blog-discovery/topicsApi Admin Admin Topics · admin:content:read/v1/admin/blog-discovery/topics/{topic_id}Api Admin Update Topic · admin:content:manage/v1/admin/blog-domain-requestsApi Admin List Blog Domain Requests · admin:content:read/v1/admin/blog-domain-requests/{blog_id}Api Admin Review Blog Domain Request · admin:content:manage/v1/admin/demo-chat/messagesApi Admin List Demo Chat Messages · admin:content:read/v1/admin/demo-chat/messages/deleteApi Admin Delete Demo Chat Messages · admin:content:manage/v1/admin/moderation/overviewApi Admin Moderation Overview · admin:content:read/v1/admin/moderation/pagesApi Admin List Moderation Pages · admin:content:read/v1/admin/moderation/pages/{page_id}Api Admin Get Moderation Page · admin:content:read/v1/admin/moderation/pages/{page_id}Api Admin Moderate Page · admin:content:manage/v1/admin/moderation/users/{user_id}/statusApi Admin Update Moderation User Status · admin:users:write/v1/admin/settings/authApi Admin Auth Settings · admin:system:read/v1/admin/settings/authApi Admin Update Auth Settings · admin:settings:manage/v1/admin/system-logsApi Admin List Admin System Logs · admin:system:read/v1/admin/system-queuesApi Admin List Admin System Queues · admin:system:read/v1/admin/system-queues/deleteApi Admin Delete Admin System Queue · admin:system:manage/v1/admin/system-queues/purgeApi Admin Purge Admin System Queue · admin:system:manage/v1/admin/system-queues/retryApi Admin Retry Admin System Queue · admin:system:manage/v1/admin/system-statusApi Admin Get Admin System Status · admin:system:read/v1/admin/usersList Users · admin:users:read/v1/admin/usersCreate User · admin:users:create/v1/admin/users/demoApi Admin Delete Demo Users · admin:users:delete/v1/admin/users/{user_id}Get User · admin:users:read/v1/admin/users/{user_id}Update User · admin:users:write일부 필드·작업: admin:roles:manage 추가 필요드로우·캔버스·프레젠테이션·갤러리는 노트 블록의 Tiptap JSON으로 읽고 수정합니다. 이 블록의 속성은 Markdown으로 변환하지 않고 유지하세요. 기본 노트 API의 id는 공개 식별자이고, 앱 기능 API의 숫자 page_id는 노트 조회 응답에서 얻습니다.
문서 전체 교체가 필요하지 않다면 먼저 블록 목록을 읽고 blockId를 기준으로 삽입·교체·이동·삭제하세요. 노트 본문 수정은 expected_version으로 사람의 최신 변경을 보호합니다.
curl -X POST "$GYEOP_API/notes/NOTE_PUBLIC_ID/blocks" \
-H "Authorization: Bearer $GYEOP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"expected_version": 3,
"position": "after",
"anchor_block_id": "BLOCK_ID",
"block": {
"type": "heading",
"attrs": { "level": 2 },
"content": [{ "type": "text", "text": "결정 사항" }]
}
}'자율 에이전트에는 drafts:write만 주어 변경 제안을 만들게 하고, 별도의 승인 클라이언트에 drafts:approve와 notes:write를 부여할 수 있습니다. 제안은 원본 버전이 바뀌면 적용되지 않습니다.
보기·속성·행 CRUD와 관계 속성을 같은 원본 데이터에 적용합니다.
RFC 5545 필드, 반복·참석자·알림·공유·구독·DB 원본을 지원합니다.
블록별 스레드, 답글, 해결·재열기와 권한 기반 삭제를 제공합니다.
업로드 크기·파일명·MIME 검사를 거친 안전한 자산 URL을 반환합니다.
POST /batch는 최대 50개 노트를 먼저 검증하며 dry_run: true로 결과를 미리 볼 수 있습니다.GET /changes는 30일간의 변경을 증가하는 cursor로 읽습니다. 처리한 cursor를 저장하면 중복 처리에도 안전합니다.X-Layer-Signature-256을 검증합니다. 연속 실패하면 자동 비활성화됩니다.tools/list에서 키가 실제로 가진 권한의 도구만 노출하며, 최신 2026-07-28과 2025-11-25 클라이언트를 지원합니다.{
"mcpServers": {
"gyeop": {
"url": "/server/v1/mcp",
"headers": {
"Authorization": "Bearer ${GYEOP_TOKEN}"
}
}
}
}멤버 관리에는 workspaces:manage, 공개 범위와 둘러보기·SEO·댓글 관리에는 publications:manage를 별도로 부여합니다. API 키를 가진 사용자에게도 겹의 기존 소유자·권한 관리자 역할 제한이 그대로 적용됩니다.
워크스페이스 생성
curl -X POST "$GYEOP_API/workspaces" \
-H "Authorization: Bearer $GYEOP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "AI 프로젝트",
"icon": "✨"
}'사용자를 편집자로 초대
curl -X POST "$GYEOP_API/workspaces/WORKSPACE_ID/members" \
-H "Authorization: Bearer $GYEOP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"login": "sUser1",
"role": "editor"
}'전체 공개 후 둘러보기에 게시
curl -X PATCH "$GYEOP_API/notes/NOTE_PUBLIC_ID/publication" \
-H "Authorization: Bearer $GYEOP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"visibility": "public",
"expected_version": 3,
"explore_enabled": true,
"seo_index_enabled": true,
"public_comments_enabled": true
}'viewer, editor, manager이며 manager는 자신보다 높은 역할을 관리할 수 없습니다.private, unlisted, public입니다. 둘러보기·검색 노출·공개 댓글은 public에서만 켤 수 있습니다.notes:write와 publications:manage가 모두 필요합니다.대부분의 AI에는 content_markdown이 가장 간단합니다. 제목 H1~H4, 문단, 굵게·기울임·취소선·인라인 코드·링크, 인용, 글머리·번호·할 일 목록, 구분선과 코드 블록을 변환합니다. 고급 겹 블록은 전체 Tiptap content JSON을 사용합니다.
curl -X PATCH "$GYEOP_API/notes/NOTE_PUBLIC_ID" \
-H "Authorization: Bearer $GYEOP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"content_markdown": "## 후속 내용\n\n새로운 진행 상황입니다.",
"content_mode": "append",
"expected_version": 3
}'content_mode: "append"는 기존 본문 뒤에 추가하고, 기본값 replace는 본문 전체를 교체합니다.
client_request_id를 보내세요. 같은 본문과 ID를 24시간 안에 재시도해도 노트가 중복 생성되지 않습니다.version을 PATCH의 expected_version으로 보내세요.409 Conflict가 반환됩니다. 최신 노트를 다시 읽고 변경을 병합하세요.429와 Retry-After가 반환됩니다.next_offset이 있으면 다음 페이지를 요청합니다.아래 텍스트 문서 주소와 원하는 작업을 AI에게 전달하세요. API 키는 AI 제품이 제공하는 Secret·환경 변수 입력란에 별도로 저장합니다.
/developers/api/ai-guide.txt