Memoria Entries
Knowledge base — capture highlights, notes, and quotes. Supports books, articles, thoughts, podcasts, tweets, and more.
GET
/api/memoriaList entries with filtering and pagination.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| source_type | string | No | Filter: book, article, thought, podcast, tweet, video, conversation |
| tag | number | No | Filter by tag ID |
| favorite | string | No | Set to "1" to show only favourited entries |
| source_title | string | No | Filter by source title |
| source_author | string | No | Filter by source author |
| sort | string | No | Sort order: recent (default), oldest, alphabetical |
| page | number | No | Page number (default: 1) |
| per_page | number | No | Items per page (default: 50, max: 100) |
Response
{
"entries": [
{
"id": 1,
"content": "The best time to plant a tree was 20 years ago.",
"sourceType": "book",
"sourceTitle": "Atomic Habits",
"sourceAuthor": "James Clear",
"sourceUrl": null,
"myNote": null,
"aiTags": ["self-improvement", "life-lessons"],
"aiSummary": "Start now rather than waiting for perfect conditions.",
"isFavorite": true,
"isArchived": false,
"tags": [{ "id": 1, "name": "self-improvement" }],
"createdAt": "2026-03-15T00:00:00Z"
}
],
"total": 500,
"page": 1,
"perPage": 50
}POST
/api/memoriaCreate a new entry.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| content | string | Yes | The highlight, quote, or note content |
| sourceType | string | No | Source type: book, article, thought, etc. |
| sourceTitle | string | No | Title of the source (book name, article title) |
| sourceAuthor | string | No | Author of the source |
| sourceUrl | string | No | URL to the source |
| myNote | string | No | Personal note or reflection |
| tagIds | number[] | No | Array of tag IDs to assign |
Response
{
"entry": {
"id": 501,
"content": "...",
"sourceType": "book",
"aiTags": ["generated-tag"],
"aiSummary": "AI-generated summary...",
"createdAt": "2026-05-02T00:00:00Z"
}
}PATCH
/api/memoria/[id]Update an existing entry.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| content | string | No | Updated content |
| myNote | string | No | Updated personal note |
| sourceTitle | string | No | Updated source title |
| sourceAuthor | string | No | Updated source author |
| isFavorite | number | No | 1 to favorite, 0 to unfavorite |
| isArchived | number | No | 1 to archive, 0 to unarchive |
| tagIds | number[] | No | Replace all tags with this array |
Response
{
"entry": { "id": 1, "content": "...", "isFavorite": 1 }
}DELETE
/api/memoria/[id]Delete an entry permanently.
Response
{
"success": true
}