Skip to content

Notes actions

65 actions. Each action calls the same API route with the same scopes on every surface.

Attach a File Task to its latest eligible Log entry.. Body fields: task_id..

Route POST /api/v1/notes/tasks/attach
Tool name calternal_tasks_attach_file_task_to_log
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
task_id string yes
Terminal window
calternal action run attach --input '{}' --confirm --json

List Notes that link to a Home-relative path..

Route GET /api/v1/notes/backlinks
Tool name calternal_notes_list_backlinks
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

query

Field Type Required Description
path string yes
Terminal window
calternal action run backlinks --input '{"query":{"path":"<path>"}}' --json

List Tasks by day Continuation: Request smaller from/to windows within the handler bounds..

Route GET /api/v1/notes/tasks/day
Tool name calternal_api_by_day
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

query

Field Type Required Description
from string yes
to string yes
tz string no
Terminal window
calternal action run by_day --input '{"query":{"from":"<from>","to":"<to>"}}' --json

List Notes with a Tag.

Route GET /api/v1/notes/tags/{tag}
Tool name calternal_api_by_tag
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

path

Field Type Required Description
tag string yes
Terminal window
calternal action run by_tag --input '{"path":{"tag":"<tag>"}}' --json

Create a Note. Body fields: body, canvas, folder, tags, title..

Route POST /api/v1/notes
Tool name calternal_api_create_note
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
body string | null no
canvas boolean no Canvas creation reuses the Note writer; later edits use collaboration only (§60).
folder string | null no New Notes use the flat Notes/ root, so only that value is accepted.
tags array | null no
title string yes
Terminal window
calternal action run create --input '{}' --confirm --json

Create a Note linked to an item. Body fields: path..

Route POST /api/v1/notes/linked-notes
Tool name calternal_api_create_linked
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
path string yes
Terminal window
calternal action run create_linked --input '{}' --confirm --json

Get or create the User’s Daily note for a calendar date..

Route GET /api/v1/notes/daily
Tool name calternal_notes_get_or_create_daily
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

query

Field Type Required Description
date string no

headers

Field Type Required Description
X-Calternal-Timezone string no
Terminal window
calternal action run daily --input '{}' --json

Detach a File Task from its Log entry.. Body fields: task_id..

Route POST /api/v1/notes/tasks/detach
Tool name calternal_tasks_detach_file_task_from_log
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
task_id string yes
Terminal window
calternal action run detach --input '{}' --confirm --json

Ensure a Daily note exists under the shared writer lock (#752, DESIGN §41). POST makes Home creation and adjacent navigation an explicit write..

Route POST /api/v1/notes/daily
Tool name calternal_api_ensure_daily
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request none, response json

query

Field Type Required Description
date string no

headers

Field Type Required Description
X-Calternal-Timezone string no
Terminal window
calternal action run ensure_daily --input '{}' --confirm --json

Export an editable Canvas as PNG or SVG. Use offset and limit for byte chunks; check that each response ETag matches before joining chunks..

Route GET /api/v1/notes/{id}/export
Tool name calternal_api_export_canvas
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response base64

path

Field Type Required Description
id string yes

query

Field Type Required Description
format "png" | "svg" yes The format is fixed; callers cannot select a program, path or browser flag.
limit integer (1–524288) no
offset integer (0–) no
Terminal window
calternal action run export_canvas --input '{"path":{"id":"<id>"},"query":{"format":"<format>"}}' --json

Read a Note.

Route GET /api/v1/notes/{id}
Tool name calternal_api_get_note
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

path

Field Type Required Description
id string yes
Terminal window
calternal action run get_note --input '{"path":{"id":"<id>"}}' --json

List Notes linked to a path.

Route GET /api/v1/notes/linked-notes
Tool name calternal_api_linked_notes
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

query

Field Type Required Description
path string yes
Terminal window
calternal action run linked_notes --input '{"query":{"path":"<path>"}}' --json

Move a Note. Body fields: folder.. Required headers: If-Match..

Route POST /api/v1/notes/{id}/move
Tool name calternal_api_move_note
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

path

Field Type Required Description
id string yes

headers

Field Type Required Description
If-Match string yes

body

Field Type Required Description
folder string yes
Terminal window
calternal action run move_note --input '{"path":{"id":"<id>"},"headers":{"If-Match":"<If-Match>"}}' --confirm --json

List backlinks to a Note.

Route GET /api/v1/notes/{id}/backlinks
Tool name calternal_api_note_backlinks
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

path

Field Type Required Description
id string yes
Terminal window
calternal action run note_backlinks --input '{"path":{"id":"<id>"}}' --json

List Note links.

Route GET /api/v1/notes/{id}/links
Tool name calternal_api_note_links
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

path

Field Type Required Description
id string yes
Terminal window
calternal action run note_links --input '{"path":{"id":"<id>"}}' --json

Save a bookmark or clip as a Note. Body fields: description, favicon, highlights, kind, selected_text, tags, title, url..

Route POST /api/v1/notes/bookmarks
Tool name calternal_api_notes_bookmarks_create
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
description string | null no Page description supplied by the capturing client.
favicon string | null no Favicon address supplied by the capturing client.
highlights array of string no Selected passages to add as blockquotes.
kind "bookmark" | "clip" no Capture a link as a bookmark or fetch and extract it as a clip.
selected_text string | null no The selected text at capture time.
tags array of string no Tags to add to the Note frontmatter.
title string | null no Page title. The server uses the extracted title or site when omitted.
url string yes Absolute HTTP or HTTPS address to save.
Terminal window
calternal action run notes_bookmarks_create --input '{}' --confirm --json

Parse Composer text. Body fields: mode, now, text..

Route POST /api/v1/notes/composer/parse
Tool name calternal_api_notes_composer_parse
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request json, response json

body

Field Type Required Description
mode string yes The composer’s mode: event (a Log entry or an Event), task or note. It selects the run grammar and the tag namespace.
now string yes The client’s local wall time, YYYY-MM-DDTHH:MM[:SS]. Its date is the reference for relative dates (“tomorrow”); the core ignores the zone.
text string yes Line 1 of the composer text. No line breaks.
Terminal window
calternal action run notes_composer_parse --input '{}' --json

Add a reminder to a Note block with If-Match set to the current Note ETag.. Body fields: audience, block_id, instant.. Required headers: If-Match..

Route POST /api/v1/notes/{id}/reminders
Tool name calternal_api_notes_create_block_reminder
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

path

Field Type Required Description
id string yes

headers

Field Type Required Description
If-Match string yes

body

Field Type Required Description
audience "everyone" | "only_me" no Users who can see the Note at fire time, or only the setter.
block_id string yes Existing stable Markdown block anchor (^id).
instant string yes One absolute instant in RFC 3339 form.
Terminal window
calternal action run notes_create_block_reminder --input '{"path":{"id":"<id>"},"headers":{"If-Match":"<If-Match>"}}' --confirm --json

Delete a Note block reminder with If-Match set to the current Note ETag.. Required headers: If-Match..

Route DELETE /api/v1/notes/{id}/reminders/{reminder_id}
Tool name calternal_api_notes_delete_block_reminder
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request none, response json

path

Field Type Required Description
id string yes
reminder_id string yes

headers

Field Type Required Description
If-Match string yes
Terminal window
calternal action run notes_delete_block_reminder --input '{"path":{"id":"<id>","reminder_id":"<reminder_id>"},"headers":{"If-Match":"<If-Match>"}}' --confirm --json

Subscribe to Note changes Continuation: Reduce poll_ms after an overflow. Read current data after reconnect; use Last-Event-ID only where the route replays events..

Route GET /api/v1/notes/events
Tool name calternal_api_notes_events
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response sse

headers

Field Type Required Description
Last-Event-ID string no
Terminal window
calternal action run notes_events --input '{}' --json

Create a Log entry. Body fields: attachments, client_id, now, position, text, timezone..

Route POST /api/v1/notes/journal/log
Tool name calternal_api_notes_journal_create_log
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
attachments array of object no Files already in the Home (uploaded by the composer) to link below the new entry, in order: - ![text](<target>) for an embed, else - [text](<target>). Written in the same Daily note write as the entry, so an entry never lands without the attachments it was sent with.
client_id string | null no Stable create identity supplied by the Installation. Receipts retain the first outcome so partial Composer retries cannot create another Log (#844).
now string yes
position object or null no
text string yes
timezone string yes
Terminal window
calternal action run notes_journal_create_log --input '{}' --confirm --json

Create Log entries in a batch. Body fields: entries..

Route POST /api/v1/notes/journal/log/batch
Tool name calternal_api_notes_journal_create_log_batch
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
entries array of object yes
Terminal window
calternal action run notes_journal_create_log_batch --input '{}' --confirm --json

Get a Daily note and its Log.

Route GET /api/v1/notes/journal/{date}
Tool name calternal_api_notes_journal_day
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

path

Field Type Required Description
date string yes
Terminal window
calternal action run notes_journal_day --input '{"path":{"date":"<date>"}}' --json

Delete a Log entry. Required headers: If-Match..

Route DELETE /api/v1/notes/journal/entries/{block_id}
Tool name calternal_api_notes_journal_delete_entry
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request none, response json

path

Field Type Required Description
block_id string yes

headers

Field Type Required Description
If-Match string yes
Terminal window
calternal action run notes_journal_delete_entry --input '{"path":{"block_id":"<block_id>"},"headers":{"If-Match":"<If-Match>"}}' --confirm --json

Add files to a Log entry. Body fields: attachments..

Route POST /api/v1/notes/journal/entries/{block_id}/attachments
Tool name calternal_api_notes_journal_entry_attachments
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

path

Field Type Required Description
block_id string yes

body

Field Type Required Description
attachments array of object yes
Terminal window
calternal action run notes_journal_entry_attachments --input '{"path":{"block_id":"<block_id>"}}' --confirm --json

Create a Note from a Log entry. Body fields: body, client_id..

Route POST /api/v1/notes/journal/entries/{block_id}/note
Tool name calternal_api_notes_journal_entry_note
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

path

Field Type Required Description
block_id string yes

body

Field Type Required Description
body string yes
client_id string | null no The Composer’s stable linked-body operation identity (#844).
Terminal window
calternal action run notes_journal_entry_note --input '{"path":{"block_id":"<block_id>"}}' --confirm --json

Fix an unparsed Log line. Required headers: If-Match..

Route POST /api/v1/notes/journal/{date}/lines/{hash}/fix
Tool name calternal_api_notes_journal_fix_line
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request none, response json

path

Field Type Required Description
date string yes
hash string yes

headers

Field Type Required Description
If-Match string yes
Terminal window
calternal action run notes_journal_fix_line --input '{"path":{"date":"<date>","hash":"<hash>"},"headers":{"If-Match":"<If-Match>"}}' --confirm --json

Get a Log entry by block ID.

Route GET /api/v1/notes/journal/entries/{block_id}
Tool name calternal_api_notes_journal_get_entry
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

path

Field Type Required Description
block_id string yes
Terminal window
calternal action run notes_journal_get_entry --input '{"path":{"block_id":"<block_id>"}}' --json

Change a Log entry. Body fields: date, end, start, tags, title, tz.. Required headers: If-Match..

Route PATCH /api/v1/notes/journal/entries/{block_id}
Tool name calternal_api_notes_journal_patch_entry
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

path

Field Type Required Description
block_id string yes

headers

Field Type Required Description
If-Match string yes

body

Field Type Required Description
date string | null no
end string | null no
start string | null no
tags array | null no
title string | null no
tz string | null no
Terminal window
calternal action run notes_journal_patch_entry --input '{"path":{"block_id":"<block_id>"},"headers":{"If-Match":"<If-Match>"}}' --confirm --json

Remove a file link from a Log entry. Body fields: target..

Route POST /api/v1/notes/journal/entries/{block_id}/attachments/remove
Tool name calternal_api_notes_journal_remove_attachment
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

path

Field Type Required Description
block_id string yes

body

Field Type Required Description
target string yes
Terminal window
calternal action run notes_journal_remove_attachment --input '{"path":{"block_id":"<block_id>"}}' --confirm --json

Restore child links from the Undo action, including links to files that stay Missing (#603).. Body fields: attachments..

Route POST /api/v1/notes/journal/entries/{block_id}/attachments/restore
Tool name calternal_api_notes_journal_restore_attachments
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

path

Field Type Required Description
block_id string yes

body

Field Type Required Description
attachments array of object yes
Terminal window
calternal action run notes_journal_restore_attachments --input '{"path":{"block_id":"<block_id>"}}' --confirm --json

List Notes Continuation: Pass next_cursor unchanged. Reduce limit after an overflow..

Route GET /api/v1/notes
Tool name calternal_api_notes_list
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

query

Field Type Required Description
cursor string no
limit integer, int64 no
path string no
recent boolean no
sort string no
Terminal window
calternal action run notes_list --input '{}' --json

List a Note’s block reminders.

Route GET /api/v1/notes/{id}/reminders
Tool name calternal_api_notes_list_block_reminders
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

path

Field Type Required Description
id string yes
Terminal window
calternal action run notes_list_block_reminders --input '{"path":{"id":"<id>"}}' --json

Restore a removed reminder if its Note and reminder revisions still match.. Body fields: expected_revision.. Required headers: If-Match..

Route POST /api/v1/notes/{id}/reminders/{reminder_id}/restore
Tool name calternal_api_notes_restore_block_reminder
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

path

Field Type Required Description
id string yes
reminder_id string yes

headers

Field Type Required Description
If-Match string yes

body

Field Type Required Description
expected_revision integer, int64 (0–) yes Revision returned by the matching Remove action.
Terminal window
calternal action run notes_restore_block_reminder --input '{"path":{"id":"<id>","reminder_id":"<reminder_id>"},"headers":{"If-Match":"<If-Match>"}}' --confirm --json

Get a Task by identity.

Route GET /api/v1/notes/tasks/by-id
Tool name calternal_api_notes_task_by_id
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

query

Field Type Required Description
task_id string yes
Terminal window
calternal action run notes_task_by_id --input '{"query":{"task_id":"<task_id>"}}' --json

Create one stable-ID view in its own readable file under Views.. Body fields: view..

Route POST /api/v1/notes/tasks/views
Tool name calternal_api_notes_task_views_create
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
view object yes One Obsidian Bases view object. The route assigns or checks its stable ID.
Terminal window
calternal action run notes_task_views_create --input '{}' --confirm --json

Read one view by its stable YAML ID, even after its file has been renamed..

Route GET /api/v1/notes/tasks/views/{id}
Tool name calternal_api_notes_task_views_get
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

path

Field Type Required Description
id string yes
Terminal window
calternal action run notes_task_views_get --input '{"path":{"id":"<id>"}}' --json

List views from one bounded page of visible .base files. Continuation: Pass next_cursor unchanged. Reduce limit after an overflow..

Route GET /api/v1/notes/tasks/views
Tool name calternal_api_notes_task_views_list
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

query

Field Type Required Description
cursor integer, int64 no
limit integer, int64 no
Terminal window
calternal action run notes_task_views_list --input '{}' --json

Replace one view only at the client source revision (#731, DESIGN §2). The file hash check also rejects a concurrent Files write after the read.. Body fields: view.. Required headers: If-Match..

Route PUT /api/v1/notes/tasks/views/{id}
Tool name calternal_api_notes_task_views_update
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

path

Field Type Required Description
id string yes

headers

Field Type Required Description
If-Match string yes

body

Field Type Required Description
view object yes One Obsidian Bases view object. The route assigns or checks its stable ID.
Terminal window
calternal action run notes_task_views_update --input '{"path":{"id":"<id>"},"headers":{"If-Match":"<If-Match>"}}' --confirm --json

List Tasks Continuation: Pass next_cursor unchanged. Reduce limit after an overflow..

Route GET /api/v1/notes/tasks
Tool name calternal_api_notes_tasks_list
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

query

Field Type Required Description
cursor integer, int64 no
limit integer, int64 no
Terminal window
calternal action run notes_tasks_list --input '{}' --json

Create a Note from a template. Body fields: folder, template_id, title..

Route POST /api/v1/notes/from-template
Tool name calternal_api_notes_template_create
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
folder string | null no New Notes use the flat Notes/ root, so only that value is accepted.
template_id string | null no
title string yes
Terminal window
calternal action run notes_template_create --input '{}' --confirm --json

Set the default Note template. Body fields: folder, template_id..

Route PUT /api/v1/notes/templates/default
Tool name calternal_api_notes_templates_default_set
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
folder string | null no The only destination for Notes created by calternal is Notes/.
template_id string | null no
Terminal window
calternal action run notes_templates_default_set --input '{}' --confirm --json

List Note templates.

Route GET /api/v1/notes/templates
Tool name calternal_api_notes_templates_list
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

query

Field Type Required Description
folder string no
Terminal window
calternal action run notes_templates_list --input '{}' --json

Move a Note to Trash. Required headers: If-Match..

Route DELETE /api/v1/notes/{id}
Tool name calternal_api_notes_trash
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request none, response json

path

Field Type Required Description
id string yes

headers

Field Type Required Description
If-Match string yes
Terminal window
calternal action run notes_trash --input '{"path":{"id":"<id>"},"headers":{"If-Match":"<If-Match>"}}' --confirm --json

List items that use a file.

Route GET /api/v1/notes/used-in
Tool name calternal_api_notes_used_in
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

query

Field Type Required Description
path string yes
Terminal window
calternal action run notes_used_in --input '{"query":{"path":"<path>"}}' --json

Pause or resume this User’s backfill from Settings → Jobs. A stop request ends the current bounded recording and preserves its hash cache for resume.. Body fields: paused..

Route PUT /api/v1/notes/voice/backfill
Tool name calternal_api_notes_voice_backfill_control
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
paused boolean yes
Terminal window
calternal action run notes_voice_backfill_control --input '{}' --confirm --json

Notes voice status This read can enqueue enabled background work. Do not retry it automatically..

Route GET /api/v1/notes/voice/status
Tool name calternal_api_notes_voice_status
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json
Terminal window
calternal action run notes_voice_status --input '{}' --json

Notes voice transcribe.

Route POST /api/v1/notes/voice/transcriptions
Tool name calternal_api_notes_voice_transcribe
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request base64, response json

query

Field Type Required Description
target "note" | "task" yes
target_id string yes

body: string. Base64 encoded bytes; send large uploads in chunks

Terminal window
calternal action run notes_voice_transcribe --input '{"query":{"target":"<target>","target_id":"<target_id>"}}' --confirm --json

Notes voice transcription.

Route GET /api/v1/notes/voice/transcriptions/{job_id}
Tool name calternal_api_notes_voice_transcription
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

path

Field Type Required Description
job_id string yes
Terminal window
calternal action run notes_voice_transcription --input '{"path":{"job_id":"<job_id>"}}' --json

Notes voice update settings. Body fields: context, download_enabled, structure, style..

Route PUT /api/v1/notes/voice/settings
Tool name calternal_api_notes_voice_update_settings
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
context "general" | "email" no
download_enabled boolean no
structure "prose" | "lists" no
style "casual" | "semi-casual" | "semi-formal" | "formal" no
Terminal window
calternal action run notes_voice_update_settings --input '{}' --confirm --json

Apply Wikilink changes.

Route POST /api/v1/notes/wikilinks/{id}/apply
Tool name calternal_api_notes_wikilinks_apply
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request none, response json

path

Field Type Required Description
id string yes
Terminal window
calternal action run notes_wikilinks_apply --input '{"path":{"id":"<id>"}}' --confirm --json

Preview Wikilink changes. Body fields: convert_unresolved, note_ids..

Route POST /api/v1/notes/wikilinks/preview
Tool name calternal_api_notes_wikilinks_preview
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
convert_unresolved boolean no Create Markdown links for unresolved references only when explicitly enabled.
note_ids array | null no Omit to convert every indexed Note. Provide stable Note IDs for a selection.
Terminal window
calternal action run notes_wikilinks_preview --input '{}' --confirm --json

Read a Wikilink preview page Continuation: Pass next_cursor unchanged within the same preview job. Reduce limit after an overflow..

Route GET /api/v1/notes/wikilinks/{id}
Tool name calternal_api_notes_wikilinks_preview_page
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

path

Field Type Required Description
id string yes

query

Field Type Required Description
cursor string no
limit integer, int64 no
Terminal window
calternal action run notes_wikilinks_preview_page --input '{"path":{"id":"<id>"}}' --json

Undo Wikilink changes.

Route POST /api/v1/notes/wikilinks/{id}/undo
Tool name calternal_api_notes_wikilinks_undo
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request none, response json

path

Field Type Required Description
id string yes
Terminal window
calternal action run notes_wikilinks_undo --input '{"path":{"id":"<id>"}}' --confirm --json

Open visible Markdown through the Files surface, including Plugin-owned and Daily note files..

Route GET /api/v1/notes/files/open
Tool name calternal_api_open_file
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

query

Field Type Required Description
path string yes
Terminal window
calternal action run open_file --input '{"query":{"path":"<path>"}}' --json

Preview Task text as a File Task with fields and Tags.. Body fields: text..

Route POST /api/v1/notes/tasks/parse
Tool name calternal_tasks_preview_text
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request json, response json

body

Field Type Required Description
text string yes
Terminal window
calternal action run parse --input '{}' --json

Update the fields or Tags on a File Task.. Body fields: fields, tags, task_id..

Route PATCH /api/v1/notes/tasks/properties
Tool name calternal_tasks_update_properties
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

headers

Field Type Required Description
If-Match string | null no

body

Field Type Required Description
fields object no Task fields plus the internal task-root-block-id reminder identity. Null removes an optional field.
tags array | null no
task_id string yes
Terminal window
calternal action run properties --input '{}' --confirm --json

Scan the User’s Notes folder and reconcile its Index entries..

Route POST /api/v1/notes/reconcile
Tool name calternal_notes_reconcile_home
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request none, response json
Terminal window
calternal action run reconcile --input '{}' --confirm --json

Retitle a Note. Body fields: title.. Required headers: If-Match..

Route POST /api/v1/notes/{id}/retitle
Tool name calternal_api_retitle
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

path

Field Type Required Description
id string yes

headers

Field Type Required Description
If-Match string yes

body

Field Type Required Description
title string yes
Terminal window
calternal action run retitle --input '{"path":{"id":"<id>"},"headers":{"If-Match":"<If-Match>"}}' --confirm --json

List File Tasks and undated inline Tasks outside Daily notes. Continuation: Pass next_cursor unchanged. Reduce limit after an overflow..

Route GET /api/v1/notes/tasks/standalone
Tool name calternal_tasks_list_standalone
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json

query

Field Type Required Description
cursor integer, int64 no
limit integer, int64 no
Terminal window
calternal action run standalone --input '{}' --json

List Tags used by Notes and their counts..

Route GET /api/v1/notes/tags
Tool name calternal_notes_list_tags
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response json
Terminal window
calternal action run tags --input '{}' --json

Create a Task. Body fields: body, standalone, status, text..

Route POST /api/v1/notes/tasks
Tool name calternal_api_tasks_create
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
body string | null no Markdown prose placed before the Task checkbox.
standalone boolean no Keep the Task standalone even when a Log entry exists.
status string | null no Initial workflow Status for a Board lane Add task action (todo, doing, waiting, blocked, done or cancelled).
text string yes TickTick-style composer text. The server resolves dates and properties.
Terminal window
calternal action run tasks_create --input '{}' --confirm --json

Set a Task’s completion state, including its completed date.. Body fields: done, status, task_id..

Route POST /api/v1/notes/tasks/tick
Tool name calternal_tasks_set_completion
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

headers

Field Type Required Description
If-Match string | null no

body

Field Type Required Description
done boolean yes
status string | null no Exact workflow status for Undo. Done and Cancelled require done=true; other statuses require done=false (#655 review).
task_id string yes
Terminal window
calternal action run tick --input '{}' --confirm --json

Replace a Note body. Body fields: body.. Required headers: If-Match..

Route PUT /api/v1/notes/{id}/body
Tool name calternal_api_update_body
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

path

Field Type Required Description
id string yes

headers

Field Type Required Description
If-Match string yes

body

Field Type Required Description
body string yes
Terminal window
calternal action run update_body --input '{"path":{"id":"<id>"},"headers":{"If-Match":"<If-Match>"}}' --confirm --json

Change Note properties. Body fields: properties, tags, title.. Required headers: If-Match..

Route PATCH /api/v1/notes/{id}/properties
Tool name calternal_api_update_properties
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

path

Field Type Required Description
id string yes

headers

Field Type Required Description
If-Match string yes

body

Field Type Required Description
properties object no Set User properties; null removes a property. Reserved keys are rejected.
tags array | null no Replace the Note Tags. Omit this field to keep them.
title string | null no Retained for compatibility; use retitle to change a Note title.
Terminal window
calternal action run update_properties --input '{"path":{"id":"<id>"},"headers":{"If-Match":"<If-Match>"}}' --confirm --json