v1.0 — Initial Release

The first public release of the Chamelingo API.

3 min read

March 2026 — The Chamelingo Public API v1 is now available.

What's Included#

AI Tutor Chat#

  • POST /chat — Send messages with SSE streaming responses
  • GET /conversations — List and paginate conversations
  • GET /conversations/:id — Retrieve conversation with full message history
  • DELETE /conversations/:id — Delete conversations
  • GET /usage — Check subscription quota and rate limit status

Flashcard Decks#

  • Full CRUD for decks and cards
  • POST /decks/:id/cards/import — Bulk import up to 500 cards
  • GET /decks/:id/export — Export decks as JSON or CSV
  • GET /decks/:id/cards/review — Get FSRS due cards
  • POST /reviews — Submit spaced repetition ratings (FSRS-5 algorithm)
  • Card filtering by state, tags, and due dates

Progress & Analytics#

  • GET /progress/summary — XP, level, streaks, hearts
  • GET /progress/insights — Accuracy, weak areas, struggling words
  • GET /progress/vocabulary — Vocabulary overview stats
  • GET /progress/vocabulary/difficult — Paginated difficult words
  • GET /progress/vocabulary/trending — Improving and struggling words
  • GET /progress/activity — Daily activity data with date range filtering

Curriculum#

  • GET /curriculum/units — Browse Korean and English course structures
  • GET /curriculum/units/:id — Unit detail with lessons and grammar
  • GET /curriculum/vocabulary/search — Semantic search powered by pgvector RAG
  • GET /curriculum/vocabulary/due — Vocabulary cards due for review

Exercise Generation#

  • POST /exercises/generate — AI-generated exercises on any topic
  • Multiple types: multiple choice, fill-in-the-blank, translation
  • Configurable difficulty levels and batch sizes (up to 20)

Pronunciation Scoring#

  • POST /pronunciation/score — AI-powered pronunciation assessment
  • Per-word breakdown with confidence scores
  • Three sensitivity levels: easy, normal, strict
  • GET /pronunciation/health — Service availability check

Webhooks#

  • POST /webhooks — Register HTTPS endpoints for event notifications
  • Events: review.due, deck.updated, deck.deleted
  • HMAC-SHA256 signature verification
  • POST /webhooks/:id/test — Send test events for development
  • SSRF protection: private IPs and non-HTTPS URLs blocked

API Key Management#

  • POST /keys — Create API keys with customizable scopes (session auth)
  • GET /keys — List keys with metadata
  • DELETE /keys/:id — Revoke keys (soft delete with audit trail)
  • Up to 5 active keys per account
  • 7 granular scopes: tutor, decks, progress, curriculum, exercises, pronunciation, webhooks

Infrastructure#

  • Rate limiting with X-RateLimit-* headers on every response
  • Idempotency via Idempotency-Key header (24-hour TTL)
  • Consistent error format with retryable field for safe retry logic
  • OpenAPI 3.1 spec at GET /openapi.json
  • Interactive docs at GET /docs (Scalar)
  • snake_case convention on all public API fields