quizbase
Back to changelog

June 15, 2026

Fetch questions by ID, and map a whole set between languages

What's new

  • Fetch questions by ID, in one call. GET /v1/questions?ids=... takes up to 250 IDs and returns exactly those questions in a single request. Use it to restore a saved set after a refresh, build anti-repeat without re-rolling, or resolve deep-links in bulk. IDs that no longer exist come back in meta.missing — nothing is dropped silently, and results come back in the order you asked for them.

  • Switch a whole set between languages — same questions, not a new draw. Add content_language (en or pl) and each ID is mapped to its counterpart in that language across the translation chain. So when a user flips a quiz from English to Polish, they see the same questions translated, not a fresh random set. Questions without a translation are reported in meta.missing so you can keep the original for those.

  • Same capability in the SDK and MCP. The @quizbase/client SDK adds questions.getByIds(ids) and questions.mapToLanguage(ids, 'pl'). The MCP server's quizbase_list tool accepts the same ids and content_language, so AI agents can do batch fetch and language mapping too.

Details

  • content_language is the language of the question text. It is separate from lang, which only localizes category and tag labels — lang never translated the question itself. The docs and guides have been corrected throughout to make this clear.
  • Pass the IDs you already hold; the service resolves the translation family for you.
  • Everything is additive — existing keys, requests, and SDK code keep working unchanged.