Skip to content

Rename / move a note

POST
/notes/rename
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.

Old + new path

Media typeapplication/json
RenameRequest
object
new_path
required
string
old_path
required
string

Example

{
"new_path": "Archive/Engram.md",
"old_path": "Projects/Engram.md"
}

Renamed

Media typeapplication/json
RenameNoteResponse
object
new_path
string
note
Note
object
content
string
content_hash
string
nullable
description

OKF frontmatter description field

string
nullable
fm_created

OKF frontmatter created/date field

string format: date-time
nullable
fm_timestamp

OKF frontmatter timestamp/modified/updated field

string format: date-time
nullable
folder
string
nullable
id
string format: uuid
nullable
links

Outgoing link/embed edges, resolved. Wikilink and markdown syntax alike.

Array<object>
NoteLink
object
alias

Display text: [[target|alias]]’s alias, or [label](target)’s label.

string
nullable
anchor

Heading/block reference: [[target#anchor]] or [x](target#anchor).

string
nullable
dangling
required

True when the target could not be resolved.

boolean
link_type
required

“wikilink” or “embed” — whether the link EMBEDS its target. Not the source syntax; markdown-form links carry these same two values.

string
target_attachment_id
string format: uuid
nullable
target_note_id
string format: uuid
nullable
target_path

Resolved note path.

string
nullable
target_text
required

The link target, percent-DECODED. [[Target]] and [x](Target.md) both yield Target/Target.md here — not the literal source bytes.

string
mtime

Client mtime (epoch seconds)

number format: float
parse_reason

Present when parse_status is “degraded”: {code, message, detail}

object
parse_status

Frontmatter parse outcome

string
nullable
Allowed values: ok degraded
path
required
string
resource

OKF frontmatter resource field

string
nullable
tags
Array<string>
title
string
nullable
type

OKF frontmatter type field

string
nullable
updated_at
string format: date-time
nullable
version
integer
nullable
old_path
string
renamed
boolean

Example

{
"note": {
"parse_status": "ok",
"path": "Projects/engram.md"
}
}

No such note

Media typeapplication/json
Error
object
errors
One of:
string

Example generated

{
"errors": {}
}

Target exists / version conflict

Media typeapplication/json
Error
object
errors
One of:
string

Example generated

{
"errors": {}
}