Reference
Action lists
4 routes, generated from Morse’s own OpenAPI document. Every path below hangs off the base URL, and every one needs the bearer header.
The examples are built from each route’s schema, so the shapes and types are exactly what the API declares. The values are illustrative, and no one has run them.
Everything still open across every meeting whose notes you may read.
/meetings/my-actionsDeclared on a router included before meetings, so this literal path is
matched before /{meeting_id} can read "my-actions" as a meeting id.
One summary read per meeting, which is why TODO_MEETINGS bounds it: the
per-meeting list is built from the notes as *this* reader is given them
(figures masked or not), and there is no cheaper honest way to ask. A
reader's own copy wins over the shared list, exactly as it does on the
meeting's own page — the two must agree, or ticking something here would
leave it ticked in one place and open in the other.
Only what is open: a to-do list is what is left to do. Everything else is
still on the meeting.
GET/meetings/my-actions
curl "$MORSE/meetings/my-actions" \
-H "Authorization: Bearer $MORSE_TOKEN"{
"items": [
{
"cites": [
{}
],
"done": true,
"due": "…",
"id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"meeting_at": "2026-10-02T10:30:00+05:30",
"meeting_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"meeting_people": [
"…"
],
"meeting_title": "…",
"owner": "…",
"text": "Annual plans are billed up front."
}
],
"more": true
}Your copy of a meeting's to-do list, or the shared one until you change it.
/meetings/{meeting_id}/my-actionsFor anyone who may read the notes.
GET/meetings/{meeting_id}/my-actions
curl "$MORSE/meetings/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60/my-actions" \
-H "Authorization: Bearer $MORSE_TOKEN"{
"base_version": "…",
"items": [
{
"cites": [
{}
],
"done": true,
"due": "…",
"id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"owner": "…",
"text": "Annual plans are billed up front."
}
],
"personal": true,
"shared_changed": true,
"shared_version": "…"
}Replace this reader's copy. Ticks and edits alike come through here; the list is small, and a whole-list write cannot leave half an edit behind.
/meetings/{meeting_id}/my-actionsThe version stored is the one the client's list came from, never the shared list's current one: a tick on a copy of an older list must stay flagged, or it would clear the notice while the old items stayed.
PUT/meetings/{meeting_id}/my-actions
curl -X PUT "$MORSE/meetings/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60/my-actions" \
-H "Authorization: Bearer $MORSE_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "base_version": "…", "items": [ { "id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60", "text": "Annual plans are billed up front." } ] }'{
"base_version": "…",
"items": [
{
"cites": [
{}
],
"done": true,
"due": "…",
"id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"owner": "…",
"text": "Annual plans are billed up front."
}
],
"personal": true,
"shared_changed": true,
"shared_version": "…"
}Go back to the shared list.
/meetings/{meeting_id}/my-actionsThe reader's ticks and edits are discarded.
DELETE/meetings/{meeting_id}/my-actions
curl -X DELETE "$MORSE/meetings/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60/my-actions" \
-H "Authorization: Bearer $MORSE_TOKEN"{
"base_version": "…",
"items": [
{
"cites": [
{}
],
"done": true,
"due": "…",
"id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"owner": "…",
"text": "Annual plans are billed up front."
}
],
"personal": true,
"shared_changed": true,
"shared_version": "…"
}