Rename / move a note
const url = 'https://api.engram.page/notes/rename';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"new_path":"Archive/Engram.md","old_path":"Projects/Engram.md"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.engram.page/notes/rename \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "new_path": "Archive/Engram.md", "old_path": "Projects/Engram.md" }'Moves the note from old_path to new_path and returns the updated note. Returns 404 when the source note is missing and 409 when the target path already exists or the note version conflicts.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Old + new path
object
Example
{ "new_path": "Archive/Engram.md", "old_path": "Projects/Engram.md"}Responses
Section titled “Responses”Renamed
object
object
OKF frontmatter description field
OKF frontmatter created/date field
OKF frontmatter timestamp/modified/updated field
Outgoing link/embed edges, resolved. Wikilink and markdown syntax alike.
object
Display text: [[target|alias]]’s alias, or [label](target)’s label.
Heading/block reference: [[target#anchor]] or [x](target#anchor).
True when the target could not be resolved.
“wikilink” or “embed” — whether the link EMBEDS its target. Not the source syntax; markdown-form links carry these same two values.
Resolved note path.
The link target, percent-DECODED. [[Target]] and [x](Target.md) both yield Target/Target.md here — not the literal source bytes.
Client mtime (epoch seconds)
Present when parse_status is “degraded”: {code, message, detail}
object
Frontmatter parse outcome
OKF frontmatter resource field
OKF frontmatter type field
Example
{ "note": { "parse_status": "ok", "path": "Projects/engram.md" }}No such note
Target exists / version conflict