Skip to content

Update document

PATCH
/api/documents/{id}

Updates a document’s content, title, slug, or visibility. All fields are optional — only provided fields are updated. Custom filenames require Pro+ plan. Returns 400 if the slug is already taken.

id
required
string

Document ID

Body

Request body for updating a document (all fields optional)

object
content

Updated markdown content

string
>= 1 characters <= 1000000 characters
title

Updated title

string
<= 200 characters
slug

Updated filename (Pro+ only)

string
>= 1 characters <= 100 characters /^[a-z0-9-]+$/
isPublic

Updated visibility

boolean

Full document with content and metadata

Full document with content and metadata

object
id
required

Unique document ID

string
slug
required

URL-friendly identifier

string
title
required
Any of:
string
content
required

Full markdown content

string
storageKey
required

R2 object storage key

string
urlType
required

URL scheme: nanoid (free), user_scoped (/@username/slug), subdomain

string
Allowed values: nanoid user_scoped subdomain
userId
required

Owner user ID

string
status
required

Current status of the document

string
Allowed values: active expired deleted
isPublic
required

Whether the document is publicly accessible

boolean
expiresAt
required
Any of:
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/
viewCount
required

Number of times the document was viewed

number
createdAt
required

Creation timestamp

string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/
updatedAt
required

Last update timestamp

string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/

Standard error response

Standard error response

object
error
required

Error code or short description

string
message

Human-readable error details

string

Standard error response

Standard error response

object
error
required

Error code or short description

string
message

Human-readable error details

string

Standard error response

Standard error response

object
error
required

Error code or short description

string
message

Human-readable error details

string