Education & Workforce
Skills Assessment API
You can already ask a candidate or a learner questions. Knowing what their answers mean — and being able to defend that meaning to a regulator — is the part that takes real work.
- HR software vendors
- Learning platforms
- Recruitment marketplaces
- Training providers
- Apprenticeship bodies
What your customers would see
example interfaceMockupIllustrative mockup of the interface we would build. Figures shown are examples, not results from a live deployment.
The problem this solves
Assessment is the feature every HR and learning platform eventually ships and almost nobody ships well. The usual version is a question bank bought from a content vendor, a percentage score, and a pass mark somebody picked because it looked reasonable. Nothing in that chain establishes that the test measures the skill it claims to measure, or that the pass mark separates people who can do the job from people who cannot.
That gap matters more than it used to. Where an assessment informs a hiring or progression decision, it is a selection instrument, and selection instruments carry obligations: evidence of validity, documentation of how the score is used, and adverse impact testing across the groups the law protects. These are not optional extras bolted on at the end. They determine how the item bank is designed, how scores are scaled and what you are allowed to report.
The engineering underneath is well understood. Item response theory gives you item difficulty and discrimination from response data. Adaptive delivery shortens tests without losing precision. Equating keeps scores comparable as the bank rotates. The hard parts are the discipline to retire bad items, the honesty to publish a standard error alongside every score, and the willingness to tell a client that their pass mark has adverse impact and needs re-examining.
Who buys this
HR software vendors, Learning platforms, Recruitment marketplaces, Training providers, Apprenticeship bodies
What the API returns
What comes back
- Scored results on a scaled, comparable metric with a standard error on every score
- Item-level response data including time taken and answer-change behaviour
- Skill-gap breakdown against a role profile or learning framework
- Proficiency bands with the evidence behind each boundary
- Item statistics — difficulty, discrimination and flagged misbehaving items
- Adverse impact statistics by protected group where the cohort is large enough to report
- Adaptive test session state for resumable delivery
- Retest comparability data so a second attempt can be read against the first
Endpoints
| Method | Path | Returns |
|---|---|---|
| POST | /v1/assessments/sessions | Start an assessment session for a candidate or learner |
| POST | /v1/assessments/sessions/{id}/responses | Submit responses and receive the next item |
| GET | /v1/assessments/sessions/{id}/result | Scaled score, bands and standard error |
| POST | /v1/skill-gap | Compare a result set against a role or framework profile |
| GET | /v1/items/statistics | Item difficulty, discrimination and flag status |
| GET | /v1/assessments/{id}/impact-report | Adverse impact statistics for a cohort |
Request and response
illustrativeRequest
{
"assessment_id": "sql-intermediate-v4",
"subject_ref": "cand_41822",
"delivery": "adaptive",
"max_items": 24,
"role_profile": "data-analyst-l2",
"locale": "en-GB"
}Response
{
"session_id": "sess_7f21ac",
"assessment_id": "sql-intermediate-v4",
"completed_at": "2026-10-21T09:41:06Z",
"items_administered": 21,
"score": { "scaled": 612, "scale": "0-1000", "standard_error": 28 },
"band": { "label": "proficient", "boundary_evidence": "criterion_study_2026_02" },
"subskills": [
{ "skill": "joins_and_set_ops", "scaled": 684, "standard_error": 41 },
{ "skill": "window_functions", "scaled": 523, "standard_error": 52 },
{ "skill": "query_optimisation", "scaled": 471, "standard_error": 58 }
],
"gap_vs_profile": {
"profile": "data-analyst-l2",
"meets": ["joins_and_set_ops"],
"below": [
{ "skill": "query_optimisation", "gap_points": 89, "confidence": "medium" }
]
},
"integrity_signals": { "unusual_timing": false, "answer_churn": 0.07 },
"notes": "Standard error is wide on query_optimisation; 6 items administered."
}Where the data comes from
| Your existing item bank | Whatever questions you already own, which we calibrate rather than discard |
| Licensed assessment content | Where the bank needs extending, under a licence that permits delivery through your API — most content vendors price per administration and restrict redistribution |
| Occupational skill frameworks | Public taxonomies such as national occupational standards or ESCO, which give role profiles a defensible structure |
| Calibration response data | Historical responses needed to estimate item parameters; a new bank has to be calibrated before scores mean anything |
| Criterion data from your customers | On-the-job performance or course outcomes, with agreement, which is the only way to establish that a score predicts anything |
| Demographic data for impact testing | Voluntarily given, held separately from scoring, and used only in aggregate for adverse impact analysis |
The intelligence layer
The difference between a demo and a service is mostly in this section. These are the parts that keep the answer trustworthy once real traffic is hitting it.
- Item response theory calibration — two or three parameter models depending on bank size — so difficulty is estimated rather than assigned by an author
- Adaptive item selection against a target standard error, with content balancing so a short test still covers the construct
- Score equating across bank versions, so a candidate tested in March is comparable to one tested in November
- Differential item functioning analysis on every item, with automatic flagging and retirement of items that behave differently across groups for reasons unrelated to skill
- Adverse impact testing on cohort results, reported with the cohort sizes so a thin sample is visible rather than hidden
- Criterion validity studies where the client can supply outcome data, reported honestly including when the correlation is weak
- Response-pattern integrity checks — timing anomalies, answer churn, suspiciously uniform latency — reported as signals, never as verdicts
- Drift monitoring on item parameters, because a leaked item shows up as a sudden collapse in difficulty
What it changes for the business
Defensible scores
Validity evidence and impact statistics turn an assessment from a liability into something your customers' legal teams can sign off.
Shorter tests
Adaptive delivery reaches the same precision in fewer items, which raises completion rates without weakening the measurement.
Targeted learning
Subskill gaps route a learner to the specific module that addresses the weakness rather than a generic course.
Bank longevity
Item statistics and leak detection keep a question bank usable for years instead of quietly degrading.
How it fits into your product
How it embeds
- REST session API that your front end drives item by item, so the test renders in your own UI
- Webhooks on session completion for scoring into your ATS or LMS record
- Role profile definitions you author and version, mapped to your own job architecture
- Deployment inside your infrastructure where candidate responses must not leave your environment
- Per-tenant item bank scoping so your customers cannot see each other's custom items
- Entitlement controls separating candidate-facing results from the fuller reports an assessor sees
Included in every build
- Authentication, scoped API keys and per-customer rate limiting
- Input validation with predictable, documented error responses
- Versioned endpoints so your integration never breaks without notice
- Request and response logging for audit and dispute resolution
- Latency, error-rate and usage monitoring with alerting
- OpenAPI specification, sandbox environment and client examples
- Backups, failover design and a documented recovery procedure
- An agreed support arrangement once the service is live
How we would build it
about 20 weeksDiscovery and feasibility
Weeks 1–3
This one depends heavily on data access, so we start by proving the sources exist, can be licensed for your use, and actually carry the signal the model needs. If they do not, you find out here.
Architecture and baseline model
Weeks 4–6
A written architecture and a baseline model measured against a holdout period, so you know what accuracy you are buying before the full build starts.
Production build
Weeks 7–16
Data pipelines, model training and serving, historical archive, validation harness, API, security, monitoring and documentation.
Validation and integration
Weeks 17–20
Backtesting against held-out history, accuracy reporting your team can audit, integration support and an agreed retraining cadence.
Commercial models
There is no fixed price list, because the cost is driven by data complexity, integration count, model requirements, request volume and the support level you need. Scope is agreed in writing before development starts.
Fixed-scope prototype
A defined slice of the service, built and priced as one piece of work. The usual first step when the business case needs proving internally.
Fixed-price build
An agreed scope against a written architecture, delivered for an agreed price. Best when the requirements are already clear.
Build then retainer
We build the service, then operate and improve it under a monthly agreement covering monitoring, updates and model maintenance.
White-label product
The service runs under your brand, your domain and your pricing, with MLPivot invisible to your customers.
Questions buyers ask
Can we use these scores to reject candidates automatically?
Not without work we would insist on first. A score used as a hiring screen is a selection instrument, which means it needs validity evidence for your specific use and adverse impact monitoring on your actual applicant flow. We will build the measurement and the impact reporting; we will not hand over an auto-reject threshold with nothing behind it, because that is where discrimination claims come from.
What if the impact report shows a problem?
Then you see it, which is the point. Options are to re-examine the pass mark, drop items showing differential functioning, or change how the score is weighted against other evidence. We would not suppress the finding or re-cut the cohort until it disappears.
How many responses do you need before a new item bank is usable?
Several hundred responses per item for stable two-parameter estimates, fewer if you accept wider error bars. Until calibration is done, scores are reported as provisional and the API says so. There is no way to shortcut this honestly.
Can you stop candidates cheating?
We can raise the cost of it. Large banks, adaptive selection, timing analysis and leak detection all help. Proctoring, identity checks and remote invigilation are separate products and we would integrate rather than rebuild them. No unproctored online assessment is cheat-proof, and anyone claiming otherwise is selling you something.
Do you own the questions?
You do, for anything authored for you. Licensed third-party content stays under its own terms, which usually permit administration but forbid redistributing the items themselves — a constraint that shapes whether you can offer customers an export.
Related blueprints
Candidate-Job Matching API
Skill-based matching between candidates and vacancies, with a written explanation for every match and a human decision-maker kept in the loop.
Job Market Intelligence API
Structured labour-market signal — salary ranges, skill demand and hiring trends — as a data layer inside your HR, recruitment or education product.
Salary Benchmarking API
Role, level and region specific pay ranges with stated provenance, as a compensation layer inside HR, payroll or recruitment software.
Want this built for your platform?
Tell us what your product does today and what you want another system to be able to ask it. We will come back with an approach, a scope and a price.