---
title: "All 19 major categories + 115 CIP subfields, full lifetime-ROI stat set."
method: GET
path: "/api/v1/majors.json"
---

# All 19 major categories + 115 CIP subfields, full lifetime-ROI stat set.

`GET /api/v1/majors.json`

## Request

- Base URL: `https://le-teen.com`
- URL: `https://le-teen.com/api/v1/majors.json`
- Auth: none declared

## Response `200`

Every major with statistics and page links.

- object
  - `meta` Meta: Provenance block carried by every payload. `generated` is the build-time page-review stamp (static files); `data_vintage` names the upstream survey years.
    - `source` 'LE TEEN', required
    - `url` string, uri, required
    - `license` 'CC-BY-4.0', required
    - `doi` string, uri, required
    - `data_vintage` string, required
    - `generated` string, date, required
  - `count` integer
  - `categories` integer
  - `subfields` integer
  - `notes` string[]
  - `majors` Major[]
    - `slug` string, required
    - `kind` 'category' | 'subfield', required
    - `name` string, required
    - `cip_program_name` string, nullable: CIP program-family name — subfields only.
    - `parent` object, nullable: Parent category — subfields only.
      - `slug` string
      - `name` string
    - `rank_by_worst_roi` integer, required: Rank within its own ring (1 = worst ROI of the 19 categories, or of the 115 subfields).
    - `url` string, uri, required: The human-readable page for this major.
    - `mean_lifetime_roi_usd` number
    - `median_lifetime_roi_usd` number
    - `p25_roi_usd` number
    - `p75_roi_usd` number
    - `pct_never_breakeven` number, nullable: Share of observed graduate cohort weight in programs FREOPP flags as never breaking even (999 sentinel), percent. Denominator is breakeven_observed_graduate_cohort_weight; null when it is zero. This does not track individual graduate outcomes.
    - `pct_negative_lifetime_roi` number: Share of all graduates in programs whose 30-year lifetime ROI is below zero, percent. Strictly wider than pct_never_breakeven — it also counts programs that break even, but only in the graduate’s late fifties.
    - `median_breakeven_age` integer, nullable, required: Median of FREOPP program-estimated finite break-even ages, weighted by College Scorecard graduate cohort counts, among programs that break even. Never-break-even programs (999 sentinel) are excluded. This is not a tracked median payoff age of individual graduates. Null means no finite-age cohort weight; inspect observed and missing weights to distinguish all-never from unavailable data.
    - `breakeven_age_is_conditional` true, required: Always true, including when the displayed never-break-even percentage rounds to zero.
    - `breakeven_age_population` 'program_estimated_finite_ages_graduate_cohort_weighted', required
    - `breakeven_observed_graduate_cohort_weight` integer, required: Sum of graduate cohort weights in programs with an observed break-even age, including never-break-even sentinels. Denominator of pct_never_breakeven.
    - `breakeven_finite_graduate_cohort_weight` integer, required: Sum of graduate cohort weights in programs with finite break-even ages. Population used for median_breakeven_age.
    - `breakeven_never_graduate_cohort_weight` integer, required: Sum of graduate cohort weights in programs with the never-break-even sentinel. Excluded from the median.
    - `breakeven_missing_graduate_cohort_weight` integer, required: Sum of graduate cohort weights in otherwise included programs without a break-even-age observation. Excluded from both the median and never-share denominator.
    - `completion_adjusted_roi_usd` number, nullable
    - `dropout_roi_usd` number, nullable
    - `graduates` integer
    - `programs` integer
    - `ai_exposure` AiExposure, nullable: le-teen-derived AI applicability (exposure) — how much of the field’s occupations AI is already used for. NOT displacement. Category rows only; null for subfields and dropped categories.
      - `score_0_to_1` number
      - `band` 'High' | 'Elevated' | 'Lower'
      - `acs_coverage` number
      - `top_occupations` object[]
        - `soc` string: SOC occupation code.
        - `title` string
        - `score` number: AI applicability, 0–1.
        - `share` number: Share of the field’s graduates working here, 0–1.

---

[API](https://skmtc.dev/le-teen/apis/le-teen-college-roi-api.md) · [All operations](https://skmtc.dev/le-teen/apis/le-teen-college-roi-api/llms.txt) · [OpenAPI document](https://skmtc.dev/le-teen/apis/le-teen-college-roi-api/revisions/14495b804989?raw)
