Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.rewind.rest/llms.txt

Use this file to discover all available pages before exploring further.

Overview

The Reading domain tracks articles and reading activity from Instapaper, including reading progress, starred items, and highlighted passages. Data syncs every 6 hours via cron. Each sync transfers only new or changed bookmarks and highlights, and deletions from Instapaper propagate through. Reading status is derived from progress data.

Key endpoints

EndpointDescription
GET /reading/recentRecently saved or finished articles
GET /reading/currently-readingArticles you’re in the middle of
GET /reading/articlesBrowse all articles with filters
GET /reading/articles/:idArticle detail with highlights + body excerpt
GET /reading/articles/:id/relatedThematically related articles via semantic similarity
GET /reading/archiveFinished articles
GET /reading/highlightsAll highlights across articles
GET /reading/highlights/:idHighlight detail with parent article context
GET /reading/highlights/randomRandom highlight with article context
GET /reading/statsReading statistics
GET /reading/streaksConsecutive days with reading activity
GET /reading/domainsTop source domains

Reading status

Status is derived from Instapaper folder and reading progress:
StatusMeaning
unreadSaved but never opened (progress = 0)
readingStarted but not finished (0 < progress < 0.75)
finishedRead most of the article (progress >= 0.75)
skippedArchived without reading (progress = 0, archived)
abandonedStarted but gave up (progress > 0, archived)
The 0.75 threshold accounts for article footers, author bios, and related links that you don’t typically scroll through.

Highlights

Highlighted passages are stored with their position and timestamp. The highlights endpoints return each highlight with parent-article context (title, author, domain, URL), useful for building a highlights collection or a daily-quote feature. Highlights are independently searchable via /v1/search. Beyond keyword search, the Reading domain supports two meaning-based retrieval paths:
  • GET /v1/search?mode=semantic&domain=reading or ?mode=hybrid&domain=reading — search by what an article was about rather than the exact words in it. Hybrid blends keyword and semantic results. Both return a relevance score per result.
  • GET /v1/reading/articles/:id/related?limit=5 — “what else did I read like this?” for any article.

Article metadata

Each article includes metadata extracted during sync:
  • Title, description — from Instapaper.
  • Author, site name — from the article’s OG meta tags.
  • Domain — parsed from the URL (e.g., wired.com, theatlantic.com).
  • Word count, estimated read time — computed from the article’s processed text.
  • Thumbnail — from the article’s og:image, served via the image pipeline.

Filtering

Articles can be filtered by:
  • status — unread, reading, finished, skipped, abandoned.
  • domain — source domain (e.g., wired.com, theatlantic.com).
  • tag — Instapaper tags.
  • starred — true/false.
  • Standard date filters (date, from, to).