Generate content items via GET (LLM-friendly)
GET /api/v1/problems
GET mirror of POST /generate. Designed for LLMs (query params are easier than JSON bodies), browser testing (paste URL, see data), and CDN cacheability (seeded GET = deterministic = cacheable). Response shape is identical to POST /generate.
Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Example
add-within-10Single skill slug
Example
add-within-10,subtract-within-10Multiple skills, comma-separated
Example
3.OA.C.7Single CCSS/NGSS standard code
Example
3.OA.C.7,3.NBT.A.2Multiple standard codes, comma-separated
Example
mathSubject slug for random skill selection
Example
grade-3Grade slug (kindergarten, grade-1, …, grade-5)
Number of items to generate (1-50, default 10)
Example
42Deterministic seed. Enables CDN caching when provided
Responses
Section titled “ Responses ”Generated content items with answer key
object
object
Universal content item — the type field determines the shape of content.
object
Skill slug this item was generated for
Grade order (0=K, 1-8)
object
Example
3.OA.C.7Example
CCSS-MATHobject
Depth of Knowledge level
Bloom’s taxonomy level
Grade-equivalent difficulty
Normalized complexity score (0-100)
object
object
The question text
object
object
Text with blank indicated by ___
Example
The capital of France is ___.object
object
object
object
object
object
The ‘right’ values in shuffled order for the student
object
Items in correct order
Items in shuffled order for the student
object
2D character grid
object
object
object
What to count (e.g. ‘apples’, ‘stars’)
Arithmetic with picture-based counting (K-1 addition/subtraction with icons).
object
Icon category for visual representation (e.g., ‘apple’, ‘star’)
object
Spelling exercise with various activity types (write, unscramble, complete, etc.).
object
Scrambled version of the word (for unscramble exercises)
Partially completed word (for complete-word exercises)
List of misspelled variants (for find-misspelling)
Full form of a contraction
Contracted form of words
Number of times to copy the word
Whether to show tracing guides
Word bank reference section for vocabulary or spelling skills.
object
Custom header (e.g., ‘Spelling Words’)
object
Category sorting exercise (science classification, vocabulary grouping).
object
object
Phonics word list with target sound identification.
object
The phonics sound or pattern being practiced
Type of phonics exercise
All words presented
Words that contain the target sound
Tracing and sight word exercise with SVG guides and sentence context.
object
SVG markup for tracing guides
Context sentence using the word
Word choices for matching exercises
Index of correct choice
object
Human-readable display of the answer
Unit of measurement if applicable
Explanation of why this is the answer
Alternative acceptable answers
Optional presentation hints for consumers rendering the content.
object
object
object
object
SVG markup for diagrams
object
object
Human-readable answer display
Human-readable instructions for the worksheet or activity
object
Headers
Section titled “Headers ”Public, max-age=3600, s-maxage=86400 when seeded; no-store otherwise
Present for seeded requests
No matching skills not found
RFC 7807 Problem Details
object
Seconds to wait before retrying (present on 429 responses)
Missing or invalid query parameters
RFC 7807 Problem Details
object
Seconds to wait before retrying (present on 429 responses)
Rate limit exceeded
RFC 7807 Problem Details
object
Seconds to wait before retrying (present on 429 responses)
Example
{ "type": "https://api.studyplug.org/errors/rate-limited", "title": "Rate Limit Exceeded", "status": 429, "detail": "You have exceeded 30 requests per minute. Please wait before retrying.", "instance": "/api/v1/skills", "retryAfter": 12}Headers
Section titled “Headers ”Seconds until rate limit resets
Max requests per window
Always 0 when rate limited
Generation failed
RFC 7807 Problem Details
object
Seconds to wait before retrying (present on 429 responses)