api
read-only json api. public. no auth.
every endpoint is generated at build time.
endpoints
/api/manifest.json site metadata and endpoint list /api/posts.json all posts in full /api/posts/lesson-NNN.json one post by lesson (e.g. lesson-001, lesson-289) /api/tags.json tag list with counts and lesson lists /api/tags/NAME.json all posts for one tag /api/glossary.json all 80 glossary terms /api/glossary/TERM.json one term by slug /api/search-index.json flat search index (lesson + 500-char snippet) /rss.xml rss 2.0 feed /feed.json json feed 1.1
response shape
every post has:
num integer
date YYYY-MM-DD
lesson string, max 30 chars
topic string
tags array of strings
sources array of { title, url }
body { before, after, example, open }
url /blog/lesson-NNN/topic-slug
permalink https://insuranceapiguy.com/blog/lesson-NNN/topic-slug
published_at ISO 8601
every field is always present.
empty values use "" or []. no nulls.
caching
cache-control: public, max-age=300, stale-while-revalidate=86400 access-control-allow-origin: * 5 min fresh. 24 hr stale-while-revalidate.
versioning
current version: 1 the version field in /api/manifest.json bumps on breaking changes.
license
content and api responses are available under creative commons attribution 4.0. attribute: insurance api guy ยท insuranceapiguy.com