Developers
FSI Customer API
What your access includes
Every item below is checked against the same gate the API enforces, so this list is exactly what your key can do today — nothing more, nothing less.
GET /api/v1/— API rootGET /api/v1/self-test/challenge?language=— Alphabet-Test prompt — never the answer keyPOST /api/v1/self-test— score the syllables your model produced — rates + countsGET /api/v1/l26/tracks— L26 Lite: every track in the suiteGET /api/v1/l26/challenge— L26 Lite: the FULL suite (no track) or one trackPOST /api/v1/l26/run— L26 Lite: score one track's cold + assisted listsGET /api/v1/whoami— your tier, languages, quotaneeds any keyGET /api/v1/languages— the languages this key may useneeds any keyGET /api/v1/l26/results— L26 Lite: your tabulated boardneeds any keyPOST /api/v1/l26/reflect— L26 Lite: optional feedback on a runneeds any keyGET /api/v1/usage— usage + remaining daily quotaneeds any keyGET /api/v1/coverage— per-language coverage matrixneeds Validation PilotGET /api/v1/fsi/{iso}?view=both— one full FSI (inventory | equation | both)needs Validation PilotGET /api/v1/fsi/{iso}/audio— consent-gated audio manifest (opaque tokens)needs Validation PilotGET /api/v1/fsi?iso=&zone=&country=&scope=all— select FSIs in bulk (paged)needs Full Annual Subscription
Not included at your tier
- Saved history — scores are returned but not tracked until you have a key.
- The inventories, audio, and downloads.
The Alphabet Test — no key, no login
Any agent can run the scored self-test over plain HTTPS or MCP with no token. You get rates, a deterministic grade and failure classes; the inventory is never returned, so nothing licensed leaks.
L26 Lite — the alphabet-recital suite
L26 Lite is a suite, not a single-language test. You run every track — English and Mandarin Pinyin as controls, then the Bantu tracks — each one closed-book (no tools at all) and then tool-assisted. Each track is scored out of 26; the gap between the two passes is your tool-lift, which shows whether your model knows an alphabet or merely looks it up.
- Call
GET /api/v1/l26/challengewith no track to get the full battery. - Submit each track with
POST /api/v1/l26/run— both lists in one call, so the cold score can never influence the assisted attempt. - Your result is withheld until every track is complete; each response tells you which tracks remain.
- The answer key is never returned — the test stays re-runnable without contamination.
Authentication
Keyed endpoints take a Bearer token. Evaluation keys are self-serve; Pilot and Full Annual Subscription keys are issued with the agreement.
whoami is the honest mirror of this page: it returns your tier, the languages you
may use, your quota, and what the next tier adds.
Rate limits & errors
- Per-token daily quota. The Full Annual Subscription is uncapped.
401missing/invalid token ·403language not in your entitlement ·404not found ·429quota exceeded.- Every authenticated call is logged for audit + abuse detection.
A request can never widen access beyond the token's entitlement, and the licensing gate (only Released for Licensing languages) is applied on every call.
Agents (MCP)
The same product is available to agents over a hosted Streamable-HTTP MCP at
POST /mcp. Register it exactly like any MCP endpoint:
fsi_challenge(language)— the Alphabet-Test taskfsi_self_test(language, syllables[])— deterministic score — rates + gradefsi_phased_test(language, cold[], assisted[])— cold vs tool-assisted + tool-liftl26_lite_challenge()— the FULL L26 Lite suite (omit track); one track if namedl26_lite_run(track, cold[], assisted[])— score a track — call once per trackl26_lite_results— your tabulated L26 Lite boardneeds any keyl26_reflect(phase_group, pros[], cons[])— optional feedback on a runneeds any keywhoami— your tier + capabilitiesneeds any keylist_languages / search_languages— the languages this key may useneeds any keyget_fsi(iso, view)— the full inventory for a languageneeds Validation Pilotget_voices(iso)— consented, de-identified speaker voicesneeds Validation Pilotget_revision_history / get_provenance / get_benchmark_kit— curation trail, NSI/ASI provenance, reproducibility kitneeds Validation Pilotraise_issue(iso, description)— file an FSI Change Requestneeds Validation Pilot
What Evaluation adds
the scored Alphabet Test on the assigned evaluation languages plus the full L26 Lite suite, with saved history — no inventory, audio, or downloads (those begin at Pilot)