Public API
This site exposes a small, read-only JSON surface for the Jonathan Harris ebook catalogue. The goal is simple: make the books easy to discover, index, and reuse in websites, assistants, and internal tools without dragging people through an overbuilt integration story.
Version
Current version: v1
This version is intentionally lean. There is one public catalogue endpoint and the schema is stable enough for simple integrations. Future versions should be added under a new path rather than breaking existing field names in place.
Base endpoint
/api/v1/books.json
Returns a JSON array of book objects. No authentication. No write operations. No account drama. Just catalogue data.
Example request
GET /api/v1/books.json HTTP/1.1
Host: jonathan-harris.online
Accept: application/jsonExample response
[
{
"id": 1,
"key": "1-ebook",
"title": "AI and Formula 1: Redefining Speed and Strategy with Intelligent Technology",
"short": "A 227-page guide to AI in Formula 1...",
"cover": "https://images.jonathan-harris.online/ai-formula-speed-webp",
"main_image": "https://images.jonathan-harris.online/ai-formula-speed-webp",
"tags": ["Transportation", "Artificial Intelligence", "AI Trends", "AI in Sports"],
"filter": "Transportation",
"keywords": ["Transportation", "Artificial Intelligence", "AI Trends"],
"buy_url": "https://mybook.to/Gi93rOF",
"slug": "ai-and-formula-1-redefining-speed-and-strategy-with-intelligent-technology"
}
]Schema reference
id- integer identifier for the book record.key- internal catalogue key used for site-level mapping.title- full public-facing title.short- short descriptive summary suitable for cards, previews, and search results.cover- primary cover image URL.main_image- main artwork URL used on richer layouts where a hero image is needed.tags- array of topical labels for browsing and related-content logic.filter- top-level category used by the site catalogue.keywords- array of discovery keywords used for indexing and downstream integrations.buy_url- external retailer or branded short-link destination.slug- canonical slug for the detail page at/ebooks/<slug>/.
Notes for implementers
- Use
slugto construct canonical detail URLs. - Treat
buy_urlas an outbound commerce link, not an internal route. - Do not assume every tag is unique or stable enough to act as a primary key.
- If new versions are introduced, prefer
/api/v2/...rather than silently reshapingv1.