ForHosting KIT · Developer Utilities

Exam Pass Threshold Checker

The Exam Pass Threshold Checker turns three raw values into a clear result: the points earned, the total points available, and the minimum passing mark.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

It tells you whether the score passes, converts both the achieved score and cutoff to percentages, and shows the distance from the cutoff in raw points and percentage points. This makes results easy to interpret accurately even when an assessment uses an unfamiliar point scale.

Enter the score and cutoff on the same scale

Start with the raw score earned, the maximum total for the exam, and the raw passing mark. All three values must use the same point scale. For example, if an assessment is worth 80 points and a student earned 58, enter 58 as the score and 80 as the total. If passing requires 48 points, enter 48 as the passing mark. Do not enter 60 for the passing mark merely because 48 out of 80 equals 60 percent; the checker performs that conversion itself. Decimal values are supported for assessments that award partial credit. The score and passing mark must each fall between zero and the total, while the total must be greater than zero. Keeping the values on one raw scale prevents a common mistake in which a percentage is compared directly with points. Once the three values are supplied, the result is immediate and deterministic, with no grading policy inferred beyond the cutoff you explicitly provide.

Read the pass result, percentages, and margin

The passed field is true when the raw score is equal to or greater than the passing mark. Equality counts as a pass because the passing mark is the minimum acceptable score. The percentage field shows the share of all available points that was achieved, while passing_percentage shows the cutoff on that same percentage scale. The two margin fields explain the distance from the boundary. margin_points is the raw score minus the passing mark, so a positive number is points above the cutoff, zero means the score landed exactly on it, and a negative number is the shortfall. margin_percentage_points expresses that same difference relative to the exam total. Percentage points are used deliberately: moving from a 60 percent cutoff to a 65 percent result is a margin of five percentage points. Results are rounded to no more than six decimal places, providing stable output without hiding useful precision from fractional scoring systems.

Use the calculation consistently and responsibly

This checker is useful wherever the official passing rule is already known but the raw scale makes the outcome inconvenient to interpret. A teacher can verify a result before publishing grades, a student can understand how close a score was to the requirement, and an administrator can apply one stated threshold across a batch of records. The calculation does not decide what the passing mark should be, add curves, drop questions, apply category weights, or resolve rounding rules imposed by an institution. Those policy choices must be settled before entering the values. If a course combines several assignments with different weights, calculate the official combined raw score and matching total first, or use the institution's approved gradebook process. Treat the returned margin as an arithmetic explanation, not as authority to override a syllabus or examination board. For automated checks, the same inputs always produce the same output, and the API request costs $0.002.

Confirm an individual exam result

Check a student's raw points against the published passing mark and communicate the outcome with a percentage and exact margin.

Explain a near miss

Show how many raw points and percentage points separate a score from the required cutoff without manually converting scales.

Automate threshold checks

Apply a known raw cutoff consistently in a grading workflow while retaining clear numeric fields for reports and audits.

Does a score exactly equal to the passing mark pass?

Yes. The passing mark is treated as the minimum passing score, so equality returns passed as true and both margins as zero.

Should I enter the cutoff as points or a percentage?

Enter it as raw points on the same scale as the score and total. The checker calculates the cutoff percentage for you.

Can the values include decimals?

Yes. Finite decimal scores, totals, and passing marks are accepted, which supports assessments that award partial credit.

What does a negative margin mean?

It means the score is below the cutoff. The absolute value shows the shortfall in raw points or percentage points.

Does this checker apply curves or weighted categories?

No. It compares the supplied raw score with the supplied raw passing mark. Any curve or weighting must be applied before using the checker.

What does an API request cost?

Each API request costs $0.002. The browser version can run the same deterministic calculation locally.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/edu/exam-pass-threshold

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/edu/exam-pass-threshold \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"score":72,"total":100,"passing_mark":70}'
{
  "score": 72,
  "total": 100,
  "passing_mark": 70
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "edu.exam_pass_threshold",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →