Reference
Knowledge
22 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.
The notes you can see, newest first, each with its folder and what you may do with it.
/knowledgeGET/knowledge
curl "$MORSE/knowledge" \
-H "Authorization: Bearer $MORSE_TOKEN"[
{
"audience": "…",
"can_delete": true,
"can_edit": true,
"can_manage": true,
"can_move": true,
"chunks": 1,
"client_name": "Priya Shah",
"created_by": "…",
"embedded": 1,
"excerpt": "…",
"file_name": "Priya Shah",
"file_size": 3,
"file_type": "…",
"folder_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"folder_name": "Priya Shah",
"formatting": true,
"id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"kind": "…",
"owner_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"role": "…",
"scope": "…",
"source": "…",
"team_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"team_name": "Priya Shah",
"tidied": true,
"title": "Pricing review",
"truncated": true,
"updated_at": "2026-10-02T10:30:00+05:30",
"via": "…"
}
]Add a note to knowledge, in a folder: folder_id, from GET /api/knowledge/folders.
/knowledgeA client from before folders may send audience instead: personal, team (with
team_id) or company.
POST/knowledge
curl -X POST "$MORSE/knowledge" \
-H "Authorization: Bearer $MORSE_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "body": "Annual plans are billed up front.", "title": "Pricing review" }'{
"audience": "…",
"body": "Annual plans are billed up front.",
"can_delete": true,
"can_edit": true,
"can_manage": true,
"can_move": true,
"chunks": 1,
"client_name": "Priya Shah",
"created_by": "…",
"embedded": 1,
"excerpt": "…",
"file_name": "Priya Shah",
"file_size": 3,
"file_type": "…",
"folder_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"folder_name": "Priya Shah",
"formatting": true,
"id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"kind": "…",
"owner_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"role": "…",
"scope": "…",
"source": "…",
"team_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"team_name": "Priya Shah",
"tidied": true,
"title": "Pricing review",
"truncated": true,
"updated_at": "2026-10-02T10:30:00+05:30",
"via": "…"
}Ids of the notes you can open whose text matches q, anywhere in them, including files and
folders you have switched off.
/knowledge/findGET/knowledge/find
curl "$MORSE/knowledge/find" \
-H "Authorization: Bearer $MORSE_TOKEN"[
"…"
]Every folder you can open or manage, and "Shared with me": notes shared with you directly whose folder you can't see.
/knowledge/foldersA note's folder_id comes from here.
GET/knowledge/folders
curl "$MORSE/knowledge/folders" \
-H "Authorization: Bearer $MORSE_TOKEN"{
"direct": {
"active": true,
"items": 1
},
"folders": [
{
"active": true,
"created_at": "2026-10-02T10:30:00+05:30",
"id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"is_global": true,
"items": 1,
"manages": true,
"name": "Priya Shah",
"owner_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"owner_name": "Priya Shah",
"role": "…",
"shared": {
"everyone": true,
"people": 1,
"teams": [
"…"
]
},
"updated_at": "2026-10-02T10:30:00+05:30"
}
]
}Create a folder of your own, shared with nobody yet.
/knowledge/foldersPOST/knowledge/folders
curl -X POST "$MORSE/knowledge/folders" \
-H "Authorization: Bearer $MORSE_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "name": "Priya Shah" }'{
"active": true,
"created_at": "2026-10-02T10:30:00+05:30",
"id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"is_global": true,
"items": 1,
"manages": true,
"name": "Priya Shah",
"owner_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"owner_name": "Priya Shah",
"role": "…",
"shared": {
"everyone": true,
"people": 1,
"teams": [
"…"
]
},
"updated_at": "2026-10-02T10:30:00+05:30"
}Rename a folder.
/knowledge/folders/{folder_id}Whoever manages it, or an admin.
PATCH/knowledge/folders/{folder_id}
curl -X PATCH "$MORSE/knowledge/folders/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60" \
-H "Authorization: Bearer $MORSE_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "name": "Priya Shah" }'{
"active": true,
"created_at": "2026-10-02T10:30:00+05:30",
"id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"is_global": true,
"items": 1,
"manages": true,
"name": "Priya Shah",
"owner_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"owner_name": "Priya Shah",
"role": "…",
"shared": {
"everyone": true,
"people": 1,
"teams": [
"…"
]
},
"updated_at": "2026-10-02T10:30:00+05:30"
}The folder and every note in it (F7), then the files those notes were made from, once nothing points at them.
/knowledge/folders/{folder_id}DELETE/knowledge/folders/{folder_id}
curl -X DELETE "$MORSE/knowledge/folders/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60" \
-H "Authorization: Bearer $MORSE_TOKEN"Switch a folder on or off for your meeting assistant (Morse Intelligence).
/knowledge/folders/{folder_id}/activeOnly for a folder you can open.
PUT/knowledge/folders/{folder_id}/active
curl -X PUT "$MORSE/knowledge/folders/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60/active" \
-H "Authorization: Bearer $MORSE_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "active": true }'Propose a safe layout for a draft without saving it.
/knowledge/formatknowledge_format.tidy already fences the supplied text and refuses a
reply that adds, removes, or changes a word. Keeping this request outside
the write path makes the choice explicit: the browser alone applies the
proposal to its draft, then a normal Save persists it.
The window counts come back with the proposal, because a draft that needed
nothing and a draft whose layout was refused are the same text and not the
same news.
POST/knowledge/format
curl -X POST "$MORSE/knowledge/format" \
-H "Authorization: Bearer $MORSE_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "body": "Annual plans are billed up front." }'{
"body": "Annual plans are billed up front.",
"changed": true,
"kept_as_pasted": 1,
"windows": 1
}Whether this server takes knowledge files, how large, and of which types.
/knowledge/uploadsGET/knowledge/uploads
curl "$MORSE/knowledge/uploads" \
-H "Authorization: Bearer $MORSE_TOKEN"{
"available": true,
"max_bytes": 1,
"types": [
"…"
]
}Step 1 of adding a file to knowledge: a short-lived URL to PUT it to.
/knowledge/uploadsPDF, Word, Excel, CSV, text or Markdown.
POST/knowledge/uploads
curl -X POST "$MORSE/knowledge/uploads" \
-H "Authorization: Bearer $MORSE_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "file_name": "Priya Shah", "file_type": "…", "size": 3 }'{
"content_type": "image/jpeg",
"upload": "…",
"url": "https://onmorse.com/priya"
}Copy the upload, check and read the copy, and keep it as a note.
/knowledge/uploads/completeThe note's fields are checked before any of that, so a refusal about them costs nobody a download. The upload itself is deleted whatever happens; the copy is kept only when the note is saved.
POST/knowledge/uploads/complete
curl -X POST "$MORSE/knowledge/uploads/complete" \
-H "Authorization: Bearer $MORSE_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "title": "Pricing review", "upload": "…" }'{
"audience": "…",
"body": "Annual plans are billed up front.",
"can_delete": true,
"can_edit": true,
"can_manage": true,
"can_move": true,
"chunks": 1,
"client_name": "Priya Shah",
"created_by": "…",
"embedded": 1,
"excerpt": "…",
"file_name": "Priya Shah",
"file_size": 3,
"file_type": "…",
"folder_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"folder_name": "Priya Shah",
"formatting": true,
"id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"kind": "…",
"owner_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"role": "…",
"scope": "…",
"source": "…",
"team_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"team_name": "Priya Shah",
"tidied": true,
"title": "Pricing review",
"truncated": true,
"updated_at": "2026-10-02T10:30:00+05:30",
"via": "…"
}One piece of knowledge in full, if you can see it.
/knowledge/{doc_id}GET/knowledge/{doc_id}
curl "$MORSE/knowledge/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60" \
-H "Authorization: Bearer $MORSE_TOKEN"{
"audience": "…",
"body": "Annual plans are billed up front.",
"can_delete": true,
"can_edit": true,
"can_manage": true,
"can_move": true,
"chunks": 1,
"client_name": "Priya Shah",
"created_by": "…",
"embedded": 1,
"excerpt": "…",
"file_name": "Priya Shah",
"file_size": 3,
"file_type": "…",
"folder_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"folder_name": "Priya Shah",
"formatting": true,
"id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"kind": "…",
"owner_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"role": "…",
"scope": "…",
"source": "…",
"team_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"team_name": "Priya Shah",
"tidied": true,
"title": "Pricing review",
"truncated": true,
"updated_at": "2026-10-02T10:30:00+05:30",
"via": "…"
}Replace a note's title or text, or move it with another folder_id, if you may edit it.
/knowledge/{doc_id}PUT/knowledge/{doc_id}
curl -X PUT "$MORSE/knowledge/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60" \
-H "Authorization: Bearer $MORSE_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "body": "Annual plans are billed up front.", "title": "Pricing review" }'{
"audience": "…",
"body": "Annual plans are billed up front.",
"can_delete": true,
"can_edit": true,
"can_manage": true,
"can_move": true,
"chunks": 1,
"client_name": "Priya Shah",
"created_by": "…",
"embedded": 1,
"excerpt": "…",
"file_name": "Priya Shah",
"file_size": 3,
"file_type": "…",
"folder_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"folder_name": "Priya Shah",
"formatting": true,
"id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"kind": "…",
"owner_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"role": "…",
"scope": "…",
"source": "…",
"team_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"team_name": "Priya Shah",
"tidied": true,
"title": "Pricing review",
"truncated": true,
"updated_at": "2026-10-02T10:30:00+05:30",
"via": "…"
}Delete a piece of knowledge, and its file if it has one.
/knowledge/{doc_id}DELETE/knowledge/{doc_id}
curl -X DELETE "$MORSE/knowledge/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60" \
-H "Authorization: Bearer $MORSE_TOKEN"The original file, for someone who can see its note: a short-lived link, downloaded under its own name and never rendered in the page.
/knowledge/{doc_id}/fileGET/knowledge/{doc_id}/file
curl "$MORSE/knowledge/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60/file" \
-H "Authorization: Bearer $MORSE_TOKEN"A tidied note back as it was pasted, for a tidy someone doesn't want.
/knowledge/{doc_id}/restore-pastedPOST/knowledge/{doc_id}/restore-pasted
curl -X POST "$MORSE/knowledge/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60/restore-pasted" \
-H "Authorization: Bearer $MORSE_TOKEN"{
"audience": "…",
"body": "Annual plans are billed up front.",
"can_delete": true,
"can_edit": true,
"can_manage": true,
"can_move": true,
"chunks": 1,
"client_name": "Priya Shah",
"created_by": "…",
"embedded": 1,
"excerpt": "…",
"file_name": "Priya Shah",
"file_size": 3,
"file_type": "…",
"folder_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"folder_name": "Priya Shah",
"formatting": true,
"id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"kind": "…",
"owner_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"role": "…",
"scope": "…",
"source": "…",
"team_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60",
"team_name": "Priya Shah",
"tidied": true,
"title": "Pricing review",
"truncated": true,
"updated_at": "2026-10-02T10:30:00+05:30",
"via": "…"
}