{
    "meta": {
        "api": "VoTechWorks Curriculum API",
        "version": "1.0",
        "base": "https://www.newschoolworks.online/api/v1",
        "docs": "https://www.newschoolworks.online/api/",
        "generated": "2026-09-26T09:12:04+00:00",
        "license": "Curriculum text © newSchoolWorks.com (Urbanicity). Free for study and non-commercial reuse with attribution to https://votechworks.com; commercial licensing on request.",
        "review": "Lesson pages, practice questions and resource lists are AI-drafted and carry status=draft until reviewed by a licensed professional in that trade or the certifying body; status=reviewed marks verified material.",
        "client": "anonymous",
        "rate_limit_per_hour": 300
    },
    "counts": {
        "sectors": 8,
        "programs": 90,
        "courses": 888,
        "lessons": 6641,
        "lesson_pages": 2423,
        "lesson_pages_reviewed": 0,
        "questions": 19495,
        "resources": 2928,
        "drugs": 200,
        "credentials": 204,
        "pathways": 31,
        "assessments": 3030,
        "galleries": 11,
        "panels": 273,
        "readings": 273,
        "objects": 34
    },
    "endpoints": {
        "GET /sectors": "the trade families",
        "GET /programs?sector=HLT&q=&limit=&offset=": "program catalogue with build counts and BLS outlook",
        "GET /programs/{slug}": "one program: credentials, courses with assessments, pathways, progress",
        "GET /programs/{slug}/courses": "courses with their lessons",
        "GET /programs/{slug}/lessons": "every lesson (flat)",
        "GET /programs/{slug}/resources": "study reference list (or the top-200 drug table for pharmacy)",
        "GET /programs/{slug}/questions?status=ready|draft&limit=": "practice items",
        "GET /courses/{id}": "course + lessons + assessments",
        "GET /lessons/{id}": "lesson + reading + key terms + worked examples + practice items",
        "GET /certs, GET /certs/{code}": "industry credentials and their bodies",
        "GET /pathways": "grade-13 routes through programs",
        "GET /search?q=": "programs, courses and lessons by text",
        "GET /changes?since=ISO": "lesson pages written or reviewed since a date (polling feed)",
        "GET /museum": "the Museum of VoTech: the overview poster, galleries with their panel and object counts, and the panel series",
        "GET /museum/overview": "the poster of the eleven galleries (image URL + the gallery list in walk order)",
        "GET /museum/galleries/{code}": "one gallery (G1..): intro, anchor object, panels hung there, catalogued objects, extra views (images)",
        "GET /museum/panels?series=K&program=welding&gallery=G3": "the 48-inch panels: title, series, status, QR code, program, word count",
        "GET /museum/panels/{slug}": "one panel: body (Markdown), its two readings (general / technical), program, gallery, art",
        "GET /museum/readings?level=general|technical": "the readings behind the panels",
        "GET /museum/readings/{slug}": "one reading in full",
        "GET /museum/objects": "the object catalogue (accession no., trade, era, donor)",
        "GET /museum/series": "panel series A..K with targets and counts",
        "?pretty=1": "pretty-print any response"
    },
    "notes": [
        "Read-only. Without a key: 300 requests per hour per IP. With a key (X-Api-Key header or ?key=): your own limit, shown in meta and X-RateLimit-* headers. Keys are issued on request via https://votechworks.com/api/.",
        "Responses cache 5 minutes and carry an ETag.",
        "Sections marked status=draft are unreviewed AI drafts."
    ]
}