AlumysAlumys
Alumys Assessment · available now

The assessment cloud for everyone who examines people, with an API at its core.

Author secure exams, reach examinees by invitation or a single link, and grade at scale. Every console action is a documented endpoint your systems can call.

  • Free plan, no card needed
  • Coding auto-grading in six languages
  • OpenAPI 3.1, scoped API keys, signed webhooks
Overviewsample data
Total examinations
4
3 published · 1 draft
Published
3
live to examinees
Examinees
212
invited across all exams
Plan
Team
active · 3,000 attempts / mo
Attempts this month787 of 3,000 · resets Oct 1
Examination
Status
Created
Backend engineer screen
Published
Aug 21
Support analyst — SQL
Published
Aug 27
Data structures, cohort 4
Published
Sep 1
Products

One account. A growing suite. Assessment is first.

Alumys is a suite of products for teams, educators and organisations that examine people — hiring, courses and classes, training and certification, contests — sharing one login, one team, one set of branding and one bill. You subscribe per product. Assessment is available today; more products follow on the same account.

01

Assessment

Available now

Secure technical and knowledge exams: author once, reach examinees by invitation or link, and get a result you can defend. Everything on this page below describes this product.

  • Six question formats, sections and pools
  • Coding graded in a sandbox
  • Invitations and share links
  • Integrity signals on every attempt
  • Results, CSV export, item analysis
  • Scoped API keys and signed webhooks
02

More on the way

Assessment is the first product. Everything that follows plugs into the same account, team, branding and bill. Leave an address and we'll write when something new ships.

Every product that follows plugs into the same account, team, branding and bill. No re-onboarding, no second invoice.
Built forAssessment

Three audiences, one exam engine

A team planning around a wall of sticky notes

Hiring and certification

Screen applicants or certify trainees with the same exam every time, invite up to 200 examinees at once, and read integrity signals and item analysis before you decide.

Explore Assessment
Students working together at laptops in a library

Educators and bootcamps

Sections, time limits, rubric-graded long answers, extra-time accommodations and a grading queue, for a class of twelve or a cohort of a thousand.

Read the docs
Two engineers reviewing code on a monitor

Engineering teams

Create exams, invite examinees and pull results with a scoped key, and get a signed webhook the moment an attempt completes.

Open the API reference
How it worksAssessment

From a blank page to a defensible result

Author

Build the exam once

Sections, six question formats, points, hints and explanations. Set a time limit, a pass mark and the attempts allowed, then publish.

Six formatsHidden test casesDraft → published
Reach

Invite by email, or share one link

Personal links with expiries and extra time, or a share link with a domain restriction, a use cap and a revoke switch.

Bulk invitesShare linksAccommodations
Grade and review

Results you can explain

Automatic grades land at submit; rubric items wait in a grading queue. Read integrity summaries and item analysis, then export to CSV.

Auto and rubric gradingIntegrity signalsItem analysis
Backend engineer screen · Section 2 of 3coding · 10 pts
solution.py·Python Run tests
1n = int(input())
2print(n * 2)
Sample · input 2 → 4
Sample · input 21 → 42
Hidden test casesgraded on submit
12 questions · 6 formats · 100 ptsdraft → publish
Share link · Backend engineer screenshown once
Restrict to @acme.com
Max uses · 25 (12 used)
Expires in 14 days
Revoked
priya@acme.comPersonal take link issued; returning resumes it.
tom@gmail.comRefused: this link is restricted to @acme.com.
Invitations work alongside: 40 sent, 31 completedexaminees:write
Results · 37 attempts · pass mark 70%export CSV
ExamineeStatusScore
Aisha R.Graded88% · pass
Priya N.Graded82% · pass
Wei C.Pending manualauto 71%
Tom B.Graded52% · fail
Q4 discrimination.41
Q7 difficulty.18
Integrity: 2 attempts with signals to reviewresults:read
API referenceAssessment

Everything the console does, your code can do.

The reference is generated from the same contract the backend compiles against, so it cannot drift. Call it over plain HTTPS from any language. Mint a scoped key in Assessment → Settings (Usage-Based and Team plans), and verify a signed webhook when an examinee finishes.

OpenAPI 3.1HTTPS + JSONalk_live_… scoped keysAlumys-Signature HMACretries for about 11h
01 · assessments:write

Create an exam

One call with a title and a pass mark. Items, sections and sharing rules follow through the same API.

02 · examinees:write

Invite an examinee

Or mint a share link with a domain restriction and a use cap. Attempts created through the API are metered like console attempts.

03 · attempt.completed

Receive the webhook

A signed POST when the attempt completes. Verify the HMAC, deduplicate on the stable id, and act.

04 · results:read

Pull the results

Scores, integrity summaries and item analysis, ready for your ATS or LMS.

create.jsJavaScript
const base = "https://api.alumys.com/api/v1";
const headers = {
Authorization: `Bearer ${process.env.ALUMYS_API_KEY}`, // alk_live_…
"Content-Type": "application/json",
};
// POST /assessments · scope: assessments:write
const res = await fetch(`${base}/assessments`, {
method: "POST", headers,
body: JSON.stringify({ title: "Backend engineer screen", passThresholdPct: 70 }),
});
const { data: { assessmentId } } = await res.json();
invite.jsJavaScript
// POST /assessments/{id}/invites · scope: examinees:write
await fetch(`${base}/assessments/${assessmentId}/invites`, {
method: "POST", headers,
body: JSON.stringify({
email: "priya@acme.com",
expiresAt: "2026-09-30T23:59:00Z",
}),
});
// or one link for many examinees: POST /assessments/{id}/share-links
// { maxUses: 25, requireEmailDomain: "acme.com" } → data.token
// the token is shown once — links are stored as hashes
POST /alumys/webhooksWebhook
POST https://ats.acme.com/alumys/webhooks
Alumys-Signature: t=1756800000,v1=5f2a…
Alumys-Webhook-Id: 7c9e6679-… // stable across retries
{
"type": "attempt.completed",
"product": "assessment",
"data": {
"assessmentId": "…", "inviteId": "…",
"examineeEmail": "priya@acme.com",
"scorePoints": 42, "maxPoints": 50,
"passed": true, "grading": "complete"
}
}
// verify: v1 === hex(hmacSHA256(secret, `${t}.${rawBody}`))
results.jsJavaScript
// GET /assessments/{id}/results · scope: results:read
const res = await fetch(`${base}/assessments/${assessmentId}/results`, { headers });
const { data: rows } = await res.json();
// → one row per examinee: status, score, graded at
// GET /assessments/{id}/invites/{inviteId}/integrity
// → focus, tab, paste, copy and fullscreen events, summarized
// GET /assessments/{id}/analytics
// → score distribution, pass rate, per-item difficulty and discrimination
IncludedAssessment

Everything in Assessment, whichever plan

Integrity signals are in every plan, including Free. Coding questions arrive with Usage-Based; your logo and colors with Team.

Coding questions and auto-grading

Python, JavaScript, TypeScript, Java, C# and Go. Sample tests the examinee can run; hidden, weighted tests on submit. An isolated sandbox with no network and a cap of 300 runs per attempt.

solution.py·Python Run tests
1n = int(input())
2print(n * 2)
Sample · input 2 → 4
Sample · input 21 → 42
Hidden test casesgraded on submit

Integrity signals

Focus, tab, paste, copy and fullscreen events recorded during every attempt and summarized per examinee. No webcam, no biometrics.

Six question formats

Single and multiple choice, short answer, numeric with tolerance, rubric-graded long answer, coding. Each with points, difficulty, a hint and an explanation.

Invitations and share links

Invite one examinee or paste up to 200. Or one link per audience: domain-restricted, use-capped, expiring, revocable.

Analytics and item analysis

Score distributions, pass rate, and per-question difficulty and discrimination so weak items surface before they cost you a good examinee.

PricingAssessment

Start free. Pay for what you run.

Every account starts on Free with unlimited non-coding attempts. Usage-Based adds running code with 200 free attempts a month, coding included, and a spend cap you set; Team includes 3,000 attempts a month, a coding attempt counting as 15. Prices cover the whole organization, with no charge per member. Each product is subscribed to on its own.

0
free attempts every month on Usage-Based, coding included
0¢
per non-coding attempt after that; a coding attempt is $1.50
$0/mo
Team, with 3,000 attempts a month (coding counts as 15), co-grading and your branding
FreeCheapest fit
unlimited non-coding attempts, ten examinations
$0 / mo
Usage-Based
200 free, then $0.04 non-coding / $1.50 coding
$10 / mo
Team · annual
450 of 3,000 attempts (coding ×15) · $990 billed yearly
$82.50 / mo

Free has no running code and ten active examinations, and needs no card. Usage-Based takes a card when it starts, includes the first 200 attempts each month free, is invoiced monthly in arrears with a $5 minimum in any month you are billed, and has a spend cap you set (default $200 — new attempts pause at the cap). On Team a non-coding attempt counts as one and a coding attempt as 15; unused attempts expire at month end. Prices in USD before tax.

Run your first exam for free

The Free plan costs nothing and needs no card: unlimited non-coding attempts and ten active examinations. Author an exam this afternoon, share one link, and read the results tomorrow.