/api/v1/documents/{slug}/slugChange the address
Gives a document a new address. Its old address keeps working for people who can read it.
Guide: Addresses
Code samples and Try itPath parameters
#slugstringRequiredThe document's address: the part after
markdrop.in/.
Headers
#X-Edit-SecretstringThe document's edit secret (
sk_…), for a document published without an account. See Edit key.
Request body
#application/json, required
new_slugstringRequiredThe new address. The old one keeps working as a redirect for people who can read the document. 3–50 characters. Matches
^[a-zA-Z0-9_-]+$.
Responses
#200OK.409That address is taken, or reserved.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: 35 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.is_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.