메인 콘텐츠로 건너뛰기
PATCH

인증

Authorization
string
header
필수

Settings → Developers에서 발급한 키를 Authorization: Bearer dr_live_<12자리 16진수>_<64자리 16진수> 형태로 전송합니다. 키는 명시적인 범위를 가지며 — 각 엔드포인트에 필요한 범위가 해당 엔드포인트에 명시되어 있습니다. 전체 키는 발급 시점에 딱 한 번만 표시되며 다시 조회할 수 없습니다 — 이후에는 keyId 접두어만 표시됩니다. 폐기된 키는 바로 다음 요청부터 인증에 실패합니다.

경로 매개변수

id
string<uuid>
필수

문서 ID입니다.

본문

application/json

revision이 필수이며, 그 외에 최소 한 개의 필드가 필요합니다. 알 수 없는 필드는 400 VALIDATION_ERROR로 거부됩니다.

revision
string
필수

GET 또는 PATCH가 마지막으로 반환한 문서의 revision입니다(보낼 때는 일반 타임스탬프를 쓰는 것이 기본이며, ETag 헤더 값도 따옴표로 감싼 "..." 형태나 약한 형식 W/"..." 그대로 허용됩니다). 오래된 값은 409 REVISION_CONFLICT입니다. If-Match가 아니라 여기에 보내세요.

예시:

"2026-10-04T01:02:03.456Z"

status
enum<string>

초안 포스트나 폼에 live를 지정하면 게시 확인을 거쳐 게시되며, 게시된 포스트나 폼은 draft로 되돌릴 수 없습니다. 게시된 문서는 live와 inactive로 일시정지하고 다시 켤 수 있습니다. 문서 종류별로 각 값이 하는 일은 작업 설명의 표를 참고하세요.

사용 가능한 옵션:
live,
draft,
inactive
expiresAt
string<date-time> | null

Z 또는 숫자 오프셋이 붙은 RFC 3339이며 UTC로 저장됩니다. null은 만료일을 제거합니다. 만료일을 그대로 두려면 생략하세요.

예시:

"2026-12-31T23:59:59+09:00"

requireEmail
boolean

true이면 방문자에게 이메일을 요구하고, false이면 요구하지 않습니다. 폼, 접근 방식이 specific인 문서, 리드 게이트가 있는 문서에 false를 보내면 422 PROTECTION_RULE_CONFLICT입니다. 켜면 방문자가 이미 잠금 해제한 세션이 종료됩니다.

requireEmailVerification
boolean

true이면 방문자가 링크로 이메일을 확인해야 합니다. 켜면 방문자가 이미 잠금 해제한 세션이 종료됩니다. 폼에는 허용되지 않습니다(422 PROTECTION_RULE_CONFLICT).

allowedEmails
string<email>[]

허용할 이메일 주소의 전체 목록입니다(저장된 목록을 대체합니다). 소문자로 바뀌고 중복이 제거됩니다. []는 목록을 비웁니다. 접근 방식이 specific일 때만 적용됩니다. 폼에는 비어 있지 않은 목록을 보낼 수 없습니다.

Maximum array length: 10000
예시:
allowedDomains
string[]

허용할 도메인(예: acme.com)의 전체 목록입니다(저장된 목록을 대체합니다). 소문자로 바뀌고 중복이 제거되며, 정확히 일치하는 도메인만 해당하고 하위 도메인은 포함되지 않습니다. []는 목록을 비웁니다. 접근 방식이 specific일 때만 적용됩니다. 폼에는 비어 있지 않은 목록을 보낼 수 없습니다.

Maximum array length: 10000
예시:

응답

변경 후의 문서입니다.

DocumentSummary에 설명, 만료 정보, 두 허용 목록이 포함된 보호 방식 요약, revision을 더한 것입니다. status는 방문자가 실제로 겪는 상태입니다(목록의 값과 같으며 expired를 포함합니다). 성공한 PATCH /api/preview/documents/{id}가 반환하는 본문이기도 합니다.

id
string<uuid>
필수

문서의 id입니다.

title
string
필수

문서 제목입니다.

kind
enum<string>
필수

문서가 무엇으로 이루어져 있는지 나타냅니다: notion, pdf, upload(업로드한 파일), post, form.

사용 가능한 옵션:
notion,
pdf,
upload,
post,
form
status
enum<string>
필수

상태입니다. live(공개 중, 방문자가 열 수 있음), draft(초안, 아직 게시하지 않은 포스트나 폼), inactive(비활성, 직접 껐거나 Notion 페이지를 더 이상 읽을 수 없는 등의 이유로 자동으로 꺼짐), expired(만료, 만료일이 지남) 중 하나입니다.

사용 가능한 옵션:
live,
draft,
inactive,
expired
url
string<uri>
필수

공개 공유 링크입니다.

createdAt
string<date-time>
필수

문서를 만든 시각(RFC 3339, UTC)입니다.

updatedAt
string<date-time>
필수

문서를 마지막으로 바꾼 시각(RFC 3339, UTC)입니다.

expiresAt
string<date-time> | null
필수

고정 만료일이며, 없으면 null입니다. 열람자별(상대) 만료는 단일 날짜가 없으므로 여기서는 null입니다. 단일 문서 응답의 expiry를 확인하세요.

description
string | null
필수

문서의 부제목이며, 설정하지 않았으면 null입니다.

expiry
object
필수

문서가 만료되는 시점입니다.

protection
object
필수

문서가 어떻게 보호되는지입니다. 이메일과 허용 목록 필드는 PATCH로 변경하며, 비밀번호와 접근 방식은 여기서 읽기 전용입니다. 비밀번호는 포함되지 않습니다.

revision
string
필수

이 설정의 버전을 나타냅니다(밀리초 단위의 ISO 8601 UTC 타임스탬프). ETag 헤더로도 전달되며, PATCH할 때 본문의 revision으로 그대로 보내세요. 값의 의미는 해석하지 말고 그대로 사용하세요.