Complete reference for the Orb Platform API. Three products, one API key, deterministic JSON responses from the Cloudflare edge.
All API endpoints require an API key. Get one free at /pricing.
Header (recommended):
Authorization: Bearer wo_YOUR_API_KEY
Query parameter:
GET /api/word/courage?key=wo_YOUR_API_KEY
API keys start with wo_. One key works across all three products.
Limits reset daily at midnight UTC. The Retry-After header indicates seconds until reset.
Check current usage with GET /api/keys/me.
Dictionary infrastructure. 162,250 words, 47-language translations, pronunciation audio, age-appropriate explanations.
Returns the complete word object: definition, IPA, etymology, translations, age tones, and audio URL.
| Parameter | Type | Description |
|---|---|---|
word | path required | English word to look up (lowercase, a-z and hyphens) |
context | query optional | Context sentence for more precise definition |
# Look up a word curl -H "Authorization: Bearer wo_YOUR_KEY" \ https://word-orb-api.nicoletterankin.workers.dev/api/word/courage
// JavaScript (fetch) const res = await fetch("https://word-orb-api.nicoletterankin.workers.dev/api/word/courage", { headers: { "Authorization": "Bearer wo_YOUR_KEY" } }); const word = await res.json(); console.log(word.def); // definition console.log(word.langs); // 47 language translations
# Python (requests) import requests r = requests.get("https://word-orb-api.nicoletterankin.workers.dev/api/word/courage", headers={"Authorization": "Bearer wo_YOUR_KEY"}) word = r.json() print(word["def"]) # definition print(word["langs"]) # translations dict
Response fields:
| Field | Type | Description |
|---|---|---|
word | string | The word |
ipa | string | IPA pronunciation notation |
pos | string | Part of speech (noun, verb, adj, etc.) |
def | string | Definition (1-2 sentences) |
etym | string | Etymology (2-3 sentences) |
langs | object | Translations keyed by language code (ES, FR, ZH, AR, etc.) |
tones | array | Age-appropriate explanations: child (5-12), teen, adult, elder (65+) |
_source | string | Data source: d1, kv, or generated |
_tier | string | Your subscription tier |
Returns every word in the dictionary with IPA, part of speech, and lookup count.
curl -H "Authorization: Bearer wo_YOUR_KEY" https://word-orb-api.nicoletterankin.workers.dev/api/words
Look up multiple words in one request. Returns all found words and lists any that were not found. Free tier: max 10 words. Paid tiers: max 50 words.
# Batch lookup curl -X POST -H "Authorization: Bearer wo_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"words":["courage","wisdom","resilience"]}' \ https://word-orb-api.nicoletterankin.workers.dev/api/words/batch
| Body field | Type | Description |
|---|---|---|
words | array required | Array of words to look up (max 50) |
Response: { requested, found, not_found, words: [...], errors: [...] }
GET /api/word/{word} for on-demand generation of new words.Structured lesson infrastructure. 226,725 lesson blocks across 4 tracks, 3 age groups, 10 teaching archetypes, and 19 languages.
Returns a structured 5-phase lesson: hook, story, wonder, action, wisdom.
| Parameter | Type | Description |
|---|---|---|
day | query required | Day number 1-365 |
track | query required | learn, grow, teach, or trivia |
age | query optional | kid, adult (default), or elder |
lang | query optional | Language code (default: en). 19 languages available. |
archetype | query optional | Teaching personality. 10 available: architect, diplomat, empath, explorer, macgyver, provider, rebel, scientist, strategist, survivor |
curl -H "Authorization: Bearer wo_YOUR_KEY" \ "https://word-orb-api.nicoletterankin.workers.dev/api/lesson?day=47&track=learn&age=adult&archetype=explorer"
const res = await fetch( "https://word-orb-api.nicoletterankin.workers.dev/api/lesson?day=47&track=learn&age=adult&archetype=explorer", { headers: { "Authorization": "Bearer wo_YOUR_KEY" } } ); const lesson = await res.json(); console.log(lesson.phases.hook); // opening hook console.log(lesson.phases.wisdom); // closing wisdom
r = requests.get("https://word-orb-api.nicoletterankin.workers.dev/api/lesson", params={"day": 47, "track": "learn", "archetype": "explorer"}, headers={"Authorization": "Bearer wo_YOUR_KEY"}) lesson = r.json() # lesson["phases"]["hook"], ["story"], ["wonder"], ["action"], ["wisdom"]
Response fields:
| Field | Type | Description |
|---|---|---|
day | int | Day number |
track | string | Curriculum track |
title | string | Lesson title |
theme | string | Lesson theme |
age_group | string | kid, adult, or elder |
archetype | string | Teaching archetype used |
phases | object | 5 phases: hook, story, wonder, action, wisdom |
archetypes_available | array | Archetypes available for this lesson |
languages_available | array | Languages available for this day/track |
List all lessons for a given track, with pagination.
| Parameter | Type | Description |
|---|---|---|
track | query | learn (default), grow, teach, trivia |
lang | query | Language code (default: en) |
age | query | kid, adult (default), elder |
limit | query | Results per page (max 365) |
offset | query | Pagination offset |
Returns all tracks, phases, age groups, archetypes, and lesson counts. No auth required.
Returns all 10 teaching archetypes with style descriptions. No auth required.
Assessment infrastructure. 21,900 interactions across 6 question types: quiz, mc (multiple choice), tf (true/false), ab (comparison), open (open-ended), reflection.
Returns all assessment questions for a specific day and track, aligned to the lesson content.
| Parameter | Type | Description |
|---|---|---|
day | query required | Day number 1-365 |
track | query required | learn, grow, teach, or trivia |
type | query optional | Filter by type: quiz, mc, tf, ab, open, reflection |
curl -H "Authorization: Bearer wo_YOUR_KEY" \ "https://word-orb-api.nicoletterankin.workers.dev/api/quiz?day=47&track=learn"
Response fields (each interaction):
| Field | Type | Description |
|---|---|---|
type | string | Question type: quiz, mc, tf, ab, open, reflection |
phase | string | Lesson phase this question aligns to |
prompt | string | The question text |
choices | array|null | Answer choices (for mc, tf, ab types) |
answer | string | Correct answer |
explanation | string | Explanation of the correct answer |
Returns random assessment questions from any day.
| Parameter | Type | Description |
|---|---|---|
track | query | learn (default), grow, teach, trivia |
type | query optional | Filter by question type |
count | query | Number of questions (default: 5, max: 20) |
Returns batch of questions with difficulty filtering.
| Parameter | Type | Description |
|---|---|---|
track | query | learn (default), grow, teach, trivia |
count | query | Number of questions (default: 10, max: 50) |
difficulty | query | easy (mc/tf), hard (open/reflection), or mixed (default) |
30,288 connections linking words to lessons to assessments. Use the graph to find which lessons teach a given word, or which words appear in a given lesson.
Find all lessons that teach a specific word.
| Parameter | Type | Description |
|---|---|---|
word | query required | The word to trace |
curl -H "Authorization: Bearer wo_YOUR_KEY" \ "https://word-orb-api.nicoletterankin.workers.dev/api/graph/word?word=courage" # Returns: { word, appears_in: 15, lessons: [{ day, track, phase, context, importance }...] }
Find all vocabulary words that appear in a specific lesson.
| Parameter | Type | Description |
|---|---|---|
day | query required | Day number 1-365 |
track | query | learn (default), grow, teach, trivia |
Returns your current tier, daily usage, and remaining calls.
curl -H "Authorization: Bearer wo_YOUR_KEY" https://word-orb-api.nicoletterankin.workers.dev/api/keys/me # Returns: { key, email, tier, daily_limit, calls_today, calls_total, remaining_today }
Create a free API key. Returns immediately with the key and quickstart examples.
curl -X POST -H "Content-Type: application/json" \ -d '{"email":"you@company.com"}' \ https://word-orb-api.nicoletterankin.workers.dev/api/signup
The Orb Platform exposes a Model Context Protocol server. One config line connects to Claude Desktop, ChatGPT, Cursor, Gemini, and any MCP-compatible AI client.
// Add to your MCP client config: { "mcpServers": { "word-orb": { "url": "https://mcp.thedailylesson.com/mcp" } } }
The MCP server exposes all three products as tools that AI agents can discover and call automatically.
| HTTP | Code | Description |
|---|---|---|
| 400 | invalid_input | Missing or invalid parameter |
| 401 | auth_required | No API key provided |
| 401 | invalid_key | API key not found or deactivated |
| 404 | not_found | Word, lesson, or quiz not found |
| 429 | rate_limited | Daily limit reached. Check Retry-After header. |
| 500 | generation_failed | On-demand word generation failed |
| 503 | db_error | Database temporarily unavailable |
All errors return JSON: { "error": "message", "code": "error_code" }
Free tier: 50 calls/day. No credit card. Instant API key.
Get Your Free API Key Try the Playground GitHub