Skip to content

Calendar actions

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

List Calendar accounts.

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

List Calendars.

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

Connect a CalDAV account. Body fields: app_password, endpoint, username..

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

body

Field Type Required Description
app_password string yes
endpoint string yes
username string yes
Terminal window
calternal action run calendar_create_account --input '{}' --confirm --json

Create an Event. Body fields: calendar_id, icalendar..

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

body

Field Type Required Description
calendar_id string | null no Omit to use the User’s synced default, or the first visible Calendar on an enabled account for legacy Users without a saved default (#827).
icalendar string yes
Terminal window
calternal action run calendar_create_event --input '{}' --confirm --json

Create an Event from a Log entry. Body fields: calendar_id, end, log_id, start, timezone..

Route POST /api/v1/calendar/events/from-log
Tool name calternal_api_calendar_create_event_from_log
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
calendar_id string yes
end string yes RFC 3339 instant selected by the user.
log_id string yes
start string yes RFC 3339 instant selected by the user.
timezone string yes
Terminal window
calternal action run calendar_create_event_from_log --input '{}' --confirm --json

Create an Event from a Note. Body fields: calendar_id, end, note_id, start, timezone..

Route POST /api/v1/calendar/events/from-note
Tool name calternal_api_calendar_create_event_from_note
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
calendar_id string | null no Optional destination; omission uses the synced Event default (#827, DESIGN §30 C14).
end string yes RFC 3339 instant selected by the user.
note_id string yes
start string yes RFC 3339 instant selected by the user.
timezone string yes
Terminal window
calternal action run calendar_create_event_from_note --input '{}' --confirm --json

Publish a Calendar feed. Body fields: color, detail, include_notes, include_tasks, name, source, source_id..

Route POST /api/v1/calendar/feeds
Tool name calternal_api_calendar_create_feed
Surfaces cli, mcp, webmcp
Scopes data, account
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
color string | null no
detail "full" | "busy_only" yes Full feeds keep event details; Busy-only feeds reveal only availability.
include_notes boolean no
include_tasks boolean no
name string yes
source "journal" | "area" | "calendar" yes A feed source selects one owner-scoped collection of calendar data.
source_id string | null no
Terminal window
calternal action run calendar_create_feed --input '{}' --confirm --json

Subscribe to a Calendar feed. Body fields: color, name, url..

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

body

Field Type Required Description
color string | null no
name string yes
url string yes
Terminal window
calternal action run calendar_create_subscription --input '{}' --confirm --json

Delete an Event.

Route DELETE /api/v1/calendar/events/{id}
Tool name calternal_api_calendar_delete_event
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 calendar_delete_event --input '{"path":{"id":"<id>"}}' --confirm --json

Remove a published Calendar feed.

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

path

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

Duplicate a Calendar item. Body fields: date, id, kind..

Route POST /api/v1/calendar/items/duplicate
Tool name calternal_api_calendar_duplicate_item
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
date string yes The Calendar-local day that displays the source item.
id string yes Stable Journal block ID, Event identity, or Task identity.
kind "log" | "event" | "task" yes
Terminal window
calternal action run calendar_duplicate_item --input '{}' --confirm --json

Get an Event.

Route GET /api/v1/calendar/events/{id}
Tool name calternal_api_calendar_event_detail
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 calendar_event_detail --input '{"path":{"id":"<id>"}}' --json

Get the Log entry for an Event.

Route GET /api/v1/calendar/events/{id}/log-this
Tool name calternal_api_calendar_event_log_status
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 calendar_event_log_status --input '{"path":{"id":"<id>"}}' --json

List Events Continuation: Request smaller from/to windows within the handler bounds..

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

query

Field Type Required Description
fresh boolean no
from string no
to string no
tz string no
Terminal window
calternal action run calendar_events --input '{}' --json

List standalone Calendar items Continuation: Pass next_cursor unchanged or reduce the date window and limit..

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

query

Field Type Required Description
cursor string no
from string yes
limit integer, int32 (0–) no
to string yes
tz string yes
Terminal window
calternal action run calendar_items --input '{"query":{"from":"<from>","to":"<to>","tz":"<tz>"}}' --json

List published Calendar feeds.

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

List Calendar subscriptions.

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

Log a past Event. Body fields: end, start..

Route POST /api/v1/calendar/events/{id}/log-this
Tool name calternal_api_calendar_log_event
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

path

Field Type Required Description
id string yes

body

Field Type Required Description
end string | null no Optional local HH:MM override for an Event’s end.
start string | null no Optional local HH:MM override for an Event’s start.
Terminal window
calternal action run calendar_log_event --input '{"path":{"id":"<id>"}}' --confirm --json

Move an Event. Body fields: calendar_id..

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

path

Field Type Required Description
id string yes

body

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

Get Calendar preferences.

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

Update Calendar preferences. Body fields: date_format, default_event_calendar_id, first_day_of_week, hour_height, snap_to_items, snap_to_now, time_format, time_step_minutes..

Route PUT /api/v1/calendar/preferences
Tool name calternal_api_calendar_preferences_put
Surfaces cli, mcp, webmcp
Scopes data
Effect destructive, needs --confirm
Encoding request json, response json

body

Field Type Required Description
date_format "system" | "dmy_slash_padded_short" | "mdy_slash_short" | "dmy_slash_short" | "mdy_slash_long" | "dmy_slash_padded_long" | "dmy_dot" | "dmy_dash" | "ymd_slash" | "ymd_dot" | "iso" or null no
default_event_calendar_id string | null no Select a default Event calendar. null clears the saved choice; omission keeps it for partial updates.
first_day_of_week "system" | "sunday" | "monday" | "saturday" or null no
hour_height integer | null, int32 (0–) no
snap_to_items boolean | null no Align pointer edits with nearby item edges.
snap_to_now boolean | null no Align pointer edits with the current-time line.
time_format "system" | "24_hour" | "12_hour" or null no
time_step_minutes 5 | 10 | 15 | 30 | null no Grid interval: 5, 10, 15 or 30 minutes.
Terminal window
calternal action run calendar_preferences_put --input '{}' --confirm --json

Read a Calendar range Continuation: Request smaller from/to windows within the handler bounds..

Route GET /api/v1/calendar/range
Tool name calternal_api_calendar_range
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 calendar_range --input '{"query":{"from":"<from>","to":"<to>"}}' --json

Refresh a Calendar.

Route POST /api/v1/calendar/calendars/{id}/refresh
Tool name calternal_api_calendar_refresh_calendar
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 calendar_refresh_calendar --input '{"path":{"id":"<id>"}}' --confirm --json

Refresh Calendars.

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

Refresh a Calendar subscription.

Route POST /api/v1/calendar/subscriptions/{id}/refresh
Tool name calternal_api_calendar_refresh_subscription
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 calendar_refresh_subscription --input '{"path":{"id":"<id>"}}' --confirm --json

Remove a CalDAV account.

Route DELETE /api/v1/calendar/accounts/{id}
Tool name calternal_api_calendar_remove_account
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 calendar_remove_account --input '{"path":{"id":"<id>"}}' --confirm --json

Remove a Calendar subscription.

Route DELETE /api/v1/calendar/subscriptions/{id}
Tool name calternal_api_calendar_remove_subscription
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 calendar_remove_subscription --input '{"path":{"id":"<id>"}}' --confirm --json

Revoke a feed link.

Route DELETE /api/v1/calendar/feeds/{id}/link
Tool name calternal_api_calendar_revoke_feed_link
Surfaces cli, mcp, webmcp
Scopes data, account
Effect destructive, needs --confirm
Encoding request none, response json

path

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

Replace a feed link.

Route POST /api/v1/calendar/feeds/{id}/link
Tool name calternal_api_calendar_rotate_feed_link
Surfaces cli, mcp, webmcp
Scopes data, account
Effect destructive, needs --confirm
Encoding request none, response json

path

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

List Event Tags.

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

Set a CalDAV account status. Body fields: enabled..

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

path

Field Type Required Description
id string yes

body

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

Update Calendar settings. Body fields: color, visible..

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

path

Field Type Required Description
id string yes

body

Field Type Required Description
color string | null no
visible boolean | null no
Terminal window
calternal action run calendar_update_calendar --input '{"path":{"id":"<id>"}}' --confirm --json

Update an Event. Body fields: icalendar..

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

path

Field Type Required Description
id string yes

body

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

Update a published Calendar feed. Body fields: color, detail, include_notes, include_tasks, name, source, source_id..

Route PUT /api/v1/calendar/feeds/{id}
Tool name calternal_api_calendar_update_feed
Surfaces cli, mcp, webmcp
Scopes data, account
Effect destructive, needs --confirm
Encoding request json, response json

path

Field Type Required Description
id string yes

body

Field Type Required Description
color string | null no
detail "full" | "busy_only" yes Full feeds keep event details; Busy-only feeds reveal only availability.
include_notes boolean no
include_tasks boolean no
name string yes
source "journal" | "area" | "calendar" yes A feed source selects one owner-scoped collection of calendar data.
source_id string | null no
Terminal window
calternal action run calendar_update_feed --input '{"path":{"id":"<id>"}}' --confirm --json

Update a Calendar subscription. Body fields: color, name, visible..

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

path

Field Type Required Description
id string yes

body

Field Type Required Description
color string | null no
name string | null no
visible boolean | null no
Terminal window
calternal action run calendar_update_subscription --input '{"path":{"id":"<id>"}}' --confirm --json

Get Calendar activity for a year.

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

query

Field Type Required Description
tz string no
year integer, int32 yes
Terminal window
calternal action run calendar_year --input '{"query":{"year":"<year>"}}' --json