Writings¶
Status: Live
The reading-detail endpoint is implemented (CSL-208). See API Conventions for auth, errors, and caching.
A Writing is a full readable Lewis unit — a letter, an essay, or a book chapter —
discriminated by a kind field (one model, not three; ADR-0006 / ADR-0008). Unlike a
Passage (a short standalone quote), a Writing is the long-form source-work
read: the whole piece, shown top-to-bottom on the reading screen.
Every Writing may name the one Work (Book) it's drawn from — the source for the "Discover about the book" footer and the "Buy the Book" hand-off.
Reading detail: GET /api/writings/{id}/¶
The single-piece payload behind the source-work reading screen (essay, letter, or chapter). It is
licensed content: it needs the app key and a content-access token (X-Content-Token, see
Content access), is user-agnostic, and is cached by the app only
(Cache-Control: private + ETag). It returns 404 when the id is not a published writing.
How it behaves:
- Kind decides the attribution fields. A top-level
kindofletter,essay, orchaptersets which attribution fields carry a value. Letters add who the letter went to and where it was written from (theoriginsubline, for example "from Great Bookham, Surrey"). Chapters add their position in the Work. Letters and essays add the date. A field that does not apply to a kind comes backnull, so the client reads bykind. authoris always there. It says who wrote the piece, and it is nevernullor empty — the CMS pre-fills "C.S. Lewis", and an editor changes it only for a piece somebody else wrote. Articles carry the same field, so a reading screen showing both kinds reads one field. The difference is that an article's author comes from the contributor's CMS account and can benull, while this one is stored on the piece and never is.sourceis the full book card. When a piece names a Work,sourceis the whole Book card: cover, year, synopsis, and the externalbuy_cta. One object serves both the "Discover about the book" footer and the "Buy the Book" hand-off.sourceisnullfor a standalone piece.- No
interpretation. The "What This Means" layer is passages-only, so writings do not carry it. - Two computed onward rails power the footer carousels.
more_on_topicreturns Lewis's own Writings that share the piece's source book or theme ("more in this area").related_contentreturns contributor Articles matched by shared tags, with a theme fallback when the piece has no tags. Each card'ssupporting_lineis the "From {author}" byline. Both are content cards, live-only, self-excluded, and capped at 10, and each is[]when nothing matches. - No
related_quotes. The curated editorial-quotes rail is passage-only, so this payload omits the field instead of returning it empty. See the Passages API guide. - Body is Markdown (ADR-0006), and read time comes from its word count.
See Swagger for the precise field list and status codes.
Audio¶
A long-form body is one performance, so the detail payload's audio object has a single key,
body, holding a track or null until the writing has been narrated. The track shape and the
placeholder-audio warning are in Audio.