/api/v1/documents/{slug}/parentMove a page
Puts a page inside another page (parent: its address) or at the top level (null). If that changes who can read it, the answer is 409 with code: "access_change" and the readers before and after; send confirm_access_change: true to move it anyway.
Guide: Sub-pages
Code samples and Try itPath parameters
#slugstringRequiredThe document's address: the part after
markdrop.in/.
Request body
#application/json, required
parentstringThe address of the page to put it in, or
nullfor the top level. 1–64 characters.confirm_access_changebooleanMove it even though that changes who can read it. Default
false.
Responses
#200OK.401No token, or the token is revoked or mistyped.409The move changes who can read the page. Sendconfirm_access_change: trueto go ahead.422The request didn't validate.detaillists each problem, with where it is (loc) and why (msg).429Too many requests from your IP address. Wait the seconds inRetry-After.
200 response: 51 fields (DocumentResponse)
slugstringThe address:
markdrop.in/<slug>.urlstringThe link to share.
folder_patharray of stringtitlestring | nullShown on the page and in link previews.
contentstringThe document's Markdown.
created_atstring (date-time)ISO 8601, for example
2026-11-30T12:00:00Z.updated_atstring (date-time)ISO 8601, for example
2026-11-30T12:00:00Z.expires_atstring (date-time) | nullISO 8601, for example
2026-11-30T12:00:00Z.viewsintegerDefault
0.revinteger | nullis_password_protectedbooleanDefault
false.is_ownedbooleanDefault
false.is_ownerbooleanDefault
false.idstring | nullrefstring | nullgoogle_doc_urlstring | nullgoogle_doc_stalebooleanDefault
false.vscode_syncedbooleanDefault
false.encryptedbooleanSet by clients that encrypt in the browser:
contentandtitleare already ciphertext. The server never sees the key. Defaultfalse.kindstringmarkdownfor a document,artifactfor a file. Default"markdown".mimestring | nullrendererstring | nulltype_labelstring | nullsize_bytesinteger | nulloriginal_filenamestring | nullartifact_urlstring | nulldownload_urlstring | nullposter_urlstring | nullmediaobject | nullfile_versioninteger | nullworkspace_urlstring | nullThe address on its workspace's own domain, when it has a live one.
access_levelstringWho can open it:
link(anyone with the link),private(only you and the people you share it with) orworkspace(members of its workspace). Default"link".workspace_idstring | nullcanobject | nullWhat you may do with it:
edit,replace,settings,access,rename,delete,share,move,unshare.read_ticketstring | nullaccess_epochintegerDefault
0.presence_ticketstring | nullshow_presenceboolean | nulleditorstring | nullparentobject | nullbreadcrumbsarray of objectchildren_countintegerDefault
0.access_inheritboolean | nullpage_patharray of stringtemplate_idstring | nulltemplateobject | nullpageobject | nullpage_propertiesobject | nullassetsobjectDefault
{}.cover_autobooleanDefault
false.cover_pendingbooleanDefault
false.