The API
Every page this site makes is one POST. Puzzles need no key at all.
Generate
POST /api/activity/pages/generate with { kind, input } answers { page: { kind, doc, summary } }. For sudoku, wordsearch and maze no account is needed; input keys are the ones GET /api/activity/kinds lists per kind. A seed makes the same puzzle twice.
POST /api/activity/pages/print with { kind, doc, trim, key } answers a standalone HTML print document — watermarked without a membership — for A4, Letter, 8.5x11 or 8x10. key: true prints the solution.
Books
With a session: POST /api/activity/pages saves a page, POST /api/activity/books saves a book of your pages, POST /api/activity/books/ID/export queues the PDF and GET /api/activity/books/ID/file downloads it when the job is done.
Agents
The same verbs are exposed as the activity-pages adapter, so the leumas-mcp bridge hands a coding agent listKinds, generatePage, validatePage, printPage and buildBook as tools — the puzzle kinds run with nothing behind them.