The AI+ Library, machine-readable.
Everything an agent or a script needs from this host is public and unauthenticated: the catalogue as HTML, Markdown and JSON-LD, and a small read-only JSON API described by an OpenAPI document. Nothing to sign up for, nothing to learn beyond this page.
Eight surfaces, all public, none authenticated.
llms.txt
What this host is, when to use it, how to call it, and a link list of every section. Follows the llmstxt.org format.
JSON API
Read-only. /api/v1/books (filter with q, tier and language), /api/v1/books/{id}, /api/v1/bundles and /api/v1/bundles/{id}: the same fields as the Markdown pages, cached for a day, open to cross-origin reads, no keys.
OpenAPI document
OpenAPI 3.1 for the API: five GET operations with operationIds, typed parameters and response schemas, and every error as application/problem+json. Listed in the RFC 9727 catalog at /.well-known/api-catalog.
Markdown for every catalogue page
The home page, /books, /bundles, /catalogue-all and every book and bundle page serve Markdown through content negotiation (Accept: text/markdown) or by appending .md to the URL. Responses carry Vary: Accept; an unknown URL returns a 404 with a Markdown body.
Sitemap
Every public URL with last-modified dates from the catalogue data, plus section maps at /books/sitemap.xml and /bundles/sitemap.xml.
Search index
Every book and bundle as {type, id, title, subtitle, href, meta} — the same file the site's ⌘K search loads.
Structured data
schema.org JSON-LD on every page: Organization and WebSite site-wide, Book with ISBN and dateModified on book pages, Collection and ItemList on bundle pages, BreadcrumbList throughout.
robots.txt
Crawl policy. AI retrieval and search crawlers are welcomed by name and may call the API; only form handlers, auth, tracking and the licensed reader are excluded.
# Titles matching a word, as JSON (filters: q, tier, language) curl "https://books.straitsai.institute/api/v1/books?q=negotiation&tier=T3" # One title with synopsis, chapters, outcomes and collections curl https://books.straitsai.institute/api/v1/books/T1-01 # The same page as Markdown, by content negotiation or by URL curl -H "Accept: text/markdown" https://books.straitsai.institute/books/T1-01 curl https://books.straitsai.institute/books/T1-01.md # Every title, by tier curl https://books.straitsai.institute/books.md
Every error is a JSON problem, never an HTML page.
The API answers every error as RFC 9457 problem details with a stable code and a hint. The codes are api_route_not_found, book_not_found, bundle_not_found, invalid_parameter and method_not_allowed. Outside the API, an unknown URL returns 404 with a Markdown body when asked for Markdown.
HTTP/1.1 404 Not Found
Content-Type: application/problem+json
{
"type": "https://books.straitsai.institute/developers#errors",
"title": "Book not found",
"status": 404,
"detail": "No title has the id \"T9-99\".",
"instance": "https://books.straitsai.institute/api/v1/books/T9-99",
"code": "book_not_found",
"hint": "Ids are catalogue codes such as T1-01 or T2-133; list them at https://books.straitsai.institute/api/v1/books.",
"documentation_url": "https://books.straitsai.institute/developers#errors"
}No MCP server, no keys, no writes.
The API is read-only and unauthenticated. This host publishes no MCP server, no SDK or command-line tool, no API keys, and no way to create or change anything; there is no rate limit beyond the CDN’s. Full book text is licensed and is not available through any of the surfaces above.
Institutions that need catalogue data in another shape, or programmatic access to licensed content, should contact the Institute.
