Memoria Entries

Knowledge base — capture highlights, notes, and quotes. Supports books, articles, thoughts, podcasts, tweets, and more.

GET/api/memoria

List entries with filtering and pagination.

Parameters

NameTypeRequiredDescription
source_typestringNoFilter: book, article, thought, podcast, tweet, video, conversation
tagnumberNoFilter by tag ID
favoritestringNoSet to "1" to show only favourited entries
source_titlestringNoFilter by source title
source_authorstringNoFilter by source author
sortstringNoSort order: recent (default), oldest, alphabetical
pagenumberNoPage number (default: 1)
per_pagenumberNoItems 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/memoria

Create a new entry.

Request Body

FieldTypeRequiredDescription
contentstringYesThe highlight, quote, or note content
sourceTypestringNoSource type: book, article, thought, etc.
sourceTitlestringNoTitle of the source (book name, article title)
sourceAuthorstringNoAuthor of the source
sourceUrlstringNoURL to the source
myNotestringNoPersonal note or reflection
tagIdsnumber[]NoArray 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

FieldTypeRequiredDescription
contentstringNoUpdated content
myNotestringNoUpdated personal note
sourceTitlestringNoUpdated source title
sourceAuthorstringNoUpdated source author
isFavoritenumberNo1 to favorite, 0 to unfavorite
isArchivednumberNo1 to archive, 0 to unarchive
tagIdsnumber[]NoReplace all tags with this array

Response

{
  "entry": { "id": 1, "content": "...", "isFavorite": 1 }
}
DELETE/api/memoria/[id]

Delete an entry permanently.

Response

{
  "success": true
}