{
  "openapi": "3.1.0",
  "info": {
    "title": "Japan JLPT Level Check API",
    "version": "1.0.0",
    "description": "Which JLPT level do you need in Japan? Enter N1–N5 (and your score) to see which visa and status Japanese rules it meets: HSP points, the Business Manager B2 rule, Designated Activities 46, Specified Skilled Worker N4, the B1 factor for permanent residence from April 2027, and your official CEFR level.\n\nFree, no API key, CORS open. Fair use: about 120 requests per minute per IP. Also available as MCP tools at https://free-agent-tools.vercel.app/mcp"
  },
  "servers": [
    {
      "url": "https://japan-jlpt-check.vercel.app"
    }
  ],
  "paths": {
    "/api/check": {
      "get": {
        "operationId": "japanJlptLevelCheck",
        "summary": "Which JLPT level do I need in Japan? Visa / status Japanese requirements a level meets",
        "description": "Compares a JLPT level (N1–N5, optional total score) plus optional BJT score / Japanese degree facts with Japan's published Japanese-language rules (as of 2026-11-09): HSP points (N1/BJT480 = 15, N2/BJT400 = 10, not with a Japanese degree), Designated Activities 46 (Japanese degree + N1/BJT480), Business Manager B2 rule since 2025-10-16 (applicant or a full-time employee: N2+, BJT400+, 20 years, Japanese higher-ed or school), SSW (i) (N4 or JFT-Basic; TITP (ii) exempt; care adds the care Japanese test), SSW (ii) food service / fishery B1 from 2027-04-01, 育成就労 A1 entry from 2027-04-01, permanent-residence B1 factor for applications from 2027-04-01, Japanese-school / university benchmarks, N1 for national medical exams, and EPA lines. Uses JLPT's official CEFR reference (e.g. N3 104+ = B1, N2 112+ = B2, N1 142+ = C1). Returns verdict (b2_plus | b1 | a2 | a1 | none), summary, cefr, hspPoints, items[] with status (met | not_met | exempt | points | considered_met | considered_unclear | considered_not_met | not_considered | not_in_force_yet | not_required | check_rules), nextLevelUnlocks, sources, disclaimer.\n\nExample: https://japan-jlpt-check.vercel.app/api/check?level=n2&score=115",
        "parameters": [
          {
            "name": "level",
            "in": "query",
            "required": false,
            "description": "Highest JLPT level passed: n1 … n5 or none. Aliases: N2, 2, JLPT N2, 日本語能力試験N2, なし.",
            "schema": {
              "type": "string",
              "description": "Highest JLPT level passed: n1 … n5 or none. Aliases: N2, 2, JLPT N2, 日本語能力試験N2, なし.",
              "enum": [
                "n1",
                "n2",
                "n3",
                "n4",
                "n5",
                "none"
              ],
              "default": "none"
            }
          },
          {
            "name": "score",
            "in": "query",
            "required": false,
            "description": "Optional total score (総合得点, 0–180) on that level, for the CEFR reference (N3 104+ = B1).",
            "schema": {
              "type": "number",
              "description": "Optional total score (総合得点, 0–180) on that level, for the CEFR reference (N3 104+ = B1)."
            }
          },
          {
            "name": "bjtScore",
            "in": "query",
            "required": false,
            "description": "Optional BJT Business Japanese score (400+ / 480+ count for HSP, BM, 46号).",
            "schema": {
              "type": "number",
              "description": "Optional BJT Business Japanese score (400+ / 480+ count for HSP, BM, 46号)."
            }
          },
          {
            "name": "japaneseDegree",
            "in": "query",
            "required": false,
            "description": "Graduated from a Japanese university or graduate school.",
            "schema": {
              "type": "boolean",
              "description": "Graduated from a Japanese university or graduate school.",
              "default": false
            }
          },
          {
            "name": "japaneseHigherEd",
            "in": "query",
            "required": false,
            "description": "Graduated from another Japanese higher-education school (専門学校, 高専, junior college).",
            "schema": {
              "type": "boolean",
              "description": "Graduated from another Japanese higher-education school (専門学校, 高専, junior college).",
              "default": false
            }
          },
          {
            "name": "japaneseMajorAbroad",
            "in": "query",
            "required": false,
            "description": "Majored in Japanese at a foreign university.",
            "schema": {
              "type": "boolean",
              "description": "Majored in Japanese at a foreign university.",
              "default": false
            }
          },
          {
            "name": "japaneseHighSchool",
            "in": "query",
            "required": false,
            "description": "Completed Japanese compulsory education and graduated from a Japanese high school.",
            "schema": {
              "type": "boolean",
              "description": "Completed Japanese compulsory education and graduated from a Japanese high school.",
              "default": false
            }
          },
          {
            "name": "japaneseSchooling6y",
            "in": "query",
            "required": false,
            "description": "6+ years of primary / secondary school in Japan (PR B1 not considered).",
            "schema": {
              "type": "boolean",
              "description": "6+ years of primary / secondary school in Japan (PR B1 not considered).",
              "default": false
            }
          },
          {
            "name": "yearsInJapan",
            "in": "query",
            "required": false,
            "description": "Years living in Japan as a mid/long-term resident (20+ meets the Business Manager B2 rule).",
            "schema": {
              "type": "number",
              "description": "Years living in Japan as a mid/long-term resident (20+ meets the Business Manager B2 rule)."
            }
          },
          {
            "name": "jftBasic",
            "in": "query",
            "required": false,
            "description": "Passed JFT-Basic (A2).",
            "schema": {
              "type": "boolean",
              "description": "Passed JFT-Basic (A2).",
              "default": false
            }
          },
          {
            "name": "titp2",
            "in": "query",
            "required": false,
            "description": "Completed Technical Intern Training (ii) in good standing.",
            "schema": {
              "type": "boolean",
              "description": "Completed Technical Intern Training (ii) in good standing.",
              "default": false
            }
          },
          {
            "name": "titp2Care",
            "in": "query",
            "required": false,
            "description": "That TITP (ii) was in nursing care.",
            "schema": {
              "type": "boolean",
              "description": "That TITP (ii) was in nursing care.",
              "default": false
            }
          },
          {
            "name": "careJapaneseTest",
            "in": "query",
            "required": false,
            "description": "Passed the Care Japanese Language Evaluation Test (介護日本語評価試験).",
            "schema": {
              "type": "boolean",
              "description": "Passed the Care Japanese Language Evaluation Test (介護日本語評価試験).",
              "default": false
            }
          },
          {
            "name": "hsp",
            "in": "query",
            "required": false,
            "description": "You hold HSP status or are an HSP family member (PR B1 not considered).",
            "schema": {
              "type": "boolean",
              "description": "You hold HSP status or are an HSP family member (PR B1 not considered).",
              "default": false
            }
          },
          {
            "name": "applyDate",
            "in": "query",
            "required": false,
            "description": "YYYY-MM-DD planned application date (default today); rules starting 2027-04-01 apply only from then.",
            "schema": {
              "type": "string",
              "description": "YYYY-MM-DD planned application date (default today); rules starting 2027-04-01 apply only from then."
            }
          },
          {
            "name": "today",
            "in": "query",
            "required": false,
            "description": "Override today's date (default: today in Japan).",
            "schema": {
              "type": "string",
              "description": "Override today's date (default: today in Japan)."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Result as JSON. Always includes a `disclaimer` field.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid input. The body explains what to send and gives an example."
          },
          "429": {
            "description": "Too many requests from one IP. Retry after the Retry-After seconds."
          }
        }
      },
      "post": {
        "operationId": "japanJlptLevelCheckPost",
        "summary": "Which JLPT level do I need in Japan? Visa / status Japanese requirements a level meets (JSON body)",
        "description": "Compares a JLPT level (N1–N5, optional total score) plus optional BJT score / Japanese degree facts with Japan's published Japanese-language rules (as of 2026-11-09): HSP points (N1/BJT480 = 15, N2/BJT400 = 10, not with a Japanese degree), Designated Activities 46 (Japanese degree + N1/BJT480), Business Manager B2 rule since 2025-10-16 (applicant or a full-time employee: N2+, BJT400+, 20 years, Japanese higher-ed or school), SSW (i) (N4 or JFT-Basic; TITP (ii) exempt; care adds the care Japanese test), SSW (ii) food service / fishery B1 from 2027-04-01, 育成就労 A1 entry from 2027-04-01, permanent-residence B1 factor for applications from 2027-04-01, Japanese-school / university benchmarks, N1 for national medical exams, and EPA lines. Uses JLPT's official CEFR reference (e.g. N3 104+ = B1, N2 112+ = B2, N1 142+ = C1). Returns verdict (b2_plus | b1 | a2 | a1 | none), summary, cefr, hspPoints, items[] with status (met | not_met | exempt | points | considered_met | considered_unclear | considered_not_met | not_considered | not_in_force_yet | not_required | check_rules), nextLevelUnlocks, sources, disclaimer.",
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [],
                "properties": {
                  "level": {
                    "type": "string",
                    "description": "Highest JLPT level passed: n1 … n5 or none. Aliases: N2, 2, JLPT N2, 日本語能力試験N2, なし.",
                    "enum": [
                      "n1",
                      "n2",
                      "n3",
                      "n4",
                      "n5",
                      "none"
                    ],
                    "default": "none"
                  },
                  "score": {
                    "type": "number",
                    "description": "Optional total score (総合得点, 0–180) on that level, for the CEFR reference (N3 104+ = B1)."
                  },
                  "bjtScore": {
                    "type": "number",
                    "description": "Optional BJT Business Japanese score (400+ / 480+ count for HSP, BM, 46号)."
                  },
                  "japaneseDegree": {
                    "type": "boolean",
                    "description": "Graduated from a Japanese university or graduate school.",
                    "default": false
                  },
                  "japaneseHigherEd": {
                    "type": "boolean",
                    "description": "Graduated from another Japanese higher-education school (専門学校, 高専, junior college).",
                    "default": false
                  },
                  "japaneseMajorAbroad": {
                    "type": "boolean",
                    "description": "Majored in Japanese at a foreign university.",
                    "default": false
                  },
                  "japaneseHighSchool": {
                    "type": "boolean",
                    "description": "Completed Japanese compulsory education and graduated from a Japanese high school.",
                    "default": false
                  },
                  "japaneseSchooling6y": {
                    "type": "boolean",
                    "description": "6+ years of primary / secondary school in Japan (PR B1 not considered).",
                    "default": false
                  },
                  "yearsInJapan": {
                    "type": "number",
                    "description": "Years living in Japan as a mid/long-term resident (20+ meets the Business Manager B2 rule)."
                  },
                  "jftBasic": {
                    "type": "boolean",
                    "description": "Passed JFT-Basic (A2).",
                    "default": false
                  },
                  "titp2": {
                    "type": "boolean",
                    "description": "Completed Technical Intern Training (ii) in good standing.",
                    "default": false
                  },
                  "titp2Care": {
                    "type": "boolean",
                    "description": "That TITP (ii) was in nursing care.",
                    "default": false
                  },
                  "careJapaneseTest": {
                    "type": "boolean",
                    "description": "Passed the Care Japanese Language Evaluation Test (介護日本語評価試験).",
                    "default": false
                  },
                  "hsp": {
                    "type": "boolean",
                    "description": "You hold HSP status or are an HSP family member (PR B1 not considered).",
                    "default": false
                  },
                  "applyDate": {
                    "type": "string",
                    "description": "YYYY-MM-DD planned application date (default today); rules starting 2027-04-01 apply only from then."
                  },
                  "today": {
                    "type": "string",
                    "description": "Override today's date (default: today in Japan)."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Result as JSON. Always includes a `disclaimer` field.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid input. The body explains what to send and gives an example."
          },
          "429": {
            "description": "Too many requests from one IP. Retry after the Retry-After seconds."
          }
        }
      }
    },
    "/api/rules": {
      "get": {
        "operationId": "japanJlptRules",
        "summary": "Japan JLPT rules: pass marks, official CEFR reference, HSP points, Business Manager B2, 46号, SSW, 育成就労, PR B1 factor, benchmarks, sources",
        "description": "Returns the rules the checker applies, with official sources and disclaimer. No inputs.",
        "responses": {
          "200": {
            "description": "Rules JSON with rulesAsOf and sources.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    }
  }
}