{"openapi":"3.1.0","info":{"title":"MyMathKid Public API","version":"1.0.0","description":"Generate printable K-8 math worksheets and browse the curriculum. Open, no auth, rate-limited."},"servers":[{"url":"https://www.mymathkid.com"}],"paths":{"/api/v1/operations":{"get":{"summary":"List generatable operations, their levels and count bounds","responses":{"200":{"description":"Operations list"}}}},"/api/v1/generate":{"get":{"summary":"Generate a deterministic worksheet","parameters":[{"name":"op","in":"query","required":true,"schema":{"type":"string"}},{"name":"level","in":"query","schema":{"type":"integer"}},{"name":"count","in":"query","description":"Requested number of problems (default 20). Max varies by operation/level (see /operations); some levels yield fewer unique problems, so the response `count` reflects what was actually generated.","schema":{"type":"integer","minimum":5,"maximum":30}},{"name":"seed","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Generated problems + printable mymathkid.com link. Response includes `requestedCount` and the actual `count` (= problems.length)."},"400":{"description":"Unknown operation"}}}},"/api/v1/curriculum":{"get":{"summary":"Browse grades/topics/standards","parameters":[{"name":"grade","in":"query","schema":{"type":"integer","minimum":0,"maximum":8}}],"responses":{"200":{"description":"Grades or topics for a grade"}}}},"/api/v1/practice-set":{"get":{"summary":"Build a curated, ordered worksheet progression for a grade","parameters":[{"name":"grade","in":"query","required":true,"schema":{"type":"integer","minimum":0,"maximum":8}},{"name":"focus","in":"query","description":"A topic slug to concentrate on","schema":{"type":"string"}},{"name":"struggling","in":"query","description":"Comma-separated topic slugs to remediate first","schema":{"type":"string"}},{"name":"known","in":"query","description":"Comma-separated mastered topic slugs for light review","schema":{"type":"string"}},{"name":"count","in":"query","description":"Number of worksheets (default 8, max 15)","schema":{"type":"integer","minimum":1,"maximum":15}}],"responses":{"200":{"description":"Ordered practice set with printable worksheet links"},"400":{"description":"Unknown or missing grade"}}}}}}