A targeted view of states that operate an Education Savings Account (ESA) program. Whether a homeschooling family can actually reach the money is homeschool_access — do not infer it from amount_cents.
GET /api/v1/compliance/esa_programs
Lists every state with an ESA program. States without one are excluded from this index.
curl -H "Authorization: Bearer $TOKEN" https://homeschoolfox.com/api/v1/compliance/esa_programs
{
"data": [
{
"state_abbreviation": "MO",
"state_name": "Missouri",
"program_name": "MOScholars (with Family Paced Education option)",
"amount_cents": 637500,
"homeschool_access": "status_change",
"eligibility": "Targeted, not universal. Eligibility is limited to ...",
"url": "https://treasurer.mo.gov/MOScholars/ParentsStudents"
},
...
],
"meta": { "api_version": "v1", "count": 12 }
}
GET /api/v1/compliance/esa_programs/:state_abbreviation
Returns the ESA detail for one state. 404 if the state exists but has no ESA program.
curl -H "Authorization: Bearer $TOKEN" https://homeschoolfox.com/api/v1/compliance/esa_programs/MO
Fields
program_name— the public name of the programamount_cents— typical annual award amount in cents (637500= $6,375). May benullwhere no figure is verified. This is not an eligibility signal — readhomeschool_accessinstead.homeschool_access— whether a homeschooling family can reach the money, and at what cost to their legal status:open— the family keeps homeschool status while participating (AL, AR, IN, NC, TX, UT, WY)status_change— the money is reachable, but participating replaces homeschool status for its duration (AZ, FL, LA, MO, NH, SC, WV)closed— no path without enrolling in a public or private school (GA, IA, MS, OH, TN)unclear— not verified, which is different fromclosed
eligibility— long-form prose covering income tests, IEP requirements, certification overhead, etc.url— the state's official program page
The status_change / closed distinction is the whole decision for a family weighing a program, which is why this is an enum and not a boolean. A status_change program pays real money to a family willing to leave the homeschool track; a closed one pays nothing to anyone who is not enrolled in a school.
ESA data lives inside each state's YAML file under the esa: key. Updates flow through the same PR review process as the rest of the compliance data.