Ask the archive

Ask the Archive API

The same index that answers in the palette, open to machines without the answer step. A frontier model, a biographer’s script, or an MCP client asks; the archive returns ranked hits with provenance and whatever each hit’s disclosure policy allows, and synthesizes nothing. The caller’s own model does the thinking.

What a hit may tell you

Every hit carries provenance: the work’s title, type, creators with their identifiers, date, version, URL, catalogue identifiers, and a locator (a page, a chapter and section, a timecode). Then an exposure says what you may know about it:

text
The passage is public and is included verbatim. Quote it, with its entity.url.
semantic
The source is private and not quotable here. gist is a description of what the passage is about, drafted by the archive’s software at ingest and released under the owner’s policy; gistSource says whether a person edited it and gistReview whether a person reviewed it. It is not a quotation and not the creators’ wording. Do not attribute its sentences to them.
locator
Only the location of relevant material is released. Do not infer its contents.

Attribution entries with a placeholder are not people: unnamed is a speaker who is not a creator; unverified is attribution not established. Scores on private hits are rounded. When a date bound is given, undated material is excluded and counted in excludedUndated.

Endpoints

Limits and posture

Citing

Link entity.url. It is the accountable page for the work, and it stays correct when the index is rebuilt. A text hit may be quoted; a semantic hit may be described in your words with the gist as your source; a locator hit tells you that relevant material exists at that place and nothing more.

Enumeration

Walking the whole index exposes nothing the owner did not release. A private passage’s text has no field to travel in; a description is served only where the policy set the exposure to semantic, after a build-time check that it quotes nothing; a location is just a location. The rate limit bounds how many queries a caller gets, and the rounded scores bound what one query reveals about a private vector.

Examples

curl 'https://lukefwalton.com/api/archive/search?q=perfect+pitch+nature+or+nurture&limit=5&type=song,transcript'
curl -X POST https://lukefwalton.com/api/archive/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -X POST https://lukefwalton.com/api/archive/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
       "params":{"name":"search_archive",
                 "arguments":{"q":"what the pandemic did to touring","limit":5,"date_from":"2020","date_to":"2021"}}}'

Ask the Archive is the live deployment of the answer-engine substrate on this site; the palette and this API are its two consumers. How the palette answers is on What is Ask the Archive?

Ask a question for a sourced answer, or type a page name to search. Try: