Generate a batch of content items
POST /api/v1/generate
Generate educational content items for specified skills, standards, or subjects. Items are universal — consumers decide how to render them (quiz, worksheet, flashcard, etc.).
Request Body required
Section titled “Request Body required ”At least one of skill, skills, standard, standards, or subject is required.
object
Single skill slug
Array of skill slugs
Single standard code
Array of standard codes
Grade slug filter
Subject slug filter
Number of items to generate
Seed for deterministic generation. Same seed + same params = same output.
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’)
object
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
object
Invalid JSON
RFC 7807 Problem Details
object
Seconds to wait before retrying (present on 429 responses)
No matching skills not found
RFC 7807 Problem Details
object
Seconds to wait before retrying (present on 429 responses)
Missing required field
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 20 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)