Compliance API

Endpoint — esa_programs

A targeted view of states that operate an Education Savings Account (ESA) program with a homeschool-eligible track.

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,
      "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 program
  • amount_cents — typical annual award amount in cents (637500 = $6,375)
  • eligibility — long-form prose covering income tests, IEP requirements, certification overhead, etc.
  • url — the state's official program page

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.