Quick start
Get started in 5 minutes.
Install the SDK, set your API key, and make your first verification call. Three commands is all it takes to integrate verified skill data into your product.
One API call returns everything you need to verify a candidate.
{
"uid": "usr_7f3k...2x8m",
"displayName": "Alex Chen",
"skills": [
{
"key": "react",
"tier": "T3",
"sci": 84,
"sessionsCount": 14,
"lastEvidence": "2026-03-15"
},
{
"key": "typescript",
"tier": "T2",
"sci": 723,
"sessionsCount": 11
}
],
"verified": true
}{
"uid": "usr_7f3k...2x8m",
"skill": "react",
"tier": "T3",
"sci": 84,
"confidence": 0.94,
"evidenceCount": 23,
"lastAssessment": "2026-03-12",
"verified": true
}{
"results": [
{
"uid": "usr_7f3k...2x8m",
"skill": "react",
"verified": true,
"sci": 84
},
{
"uid": "usr_9a2b...5y1n",
"skill": "python",
"verified": true,
"sci": 691
}
],
"total": 2,
"verified": 2
}{
"uid": "usr_7f3k...2x8m",
"displayName": "Alex Chen",
"skills": [
{
"key": "react",
"tier": "T3",
"sci": 84,
"sessionsCount": 14,
"lastEvidence": "2026-03-15"
},
{
"key": "typescript",
"tier": "T2",
"sci": 723,
"sessionsCount": 11
}
],
"verified": true
}API
Core API surface.
/v1/assess/invitesCreate assessment invites
Send skill assessments to candidates. Track completion status and retrieve scored results programmatically.
{ "id": "inv_abc", "status": "pending", "candidate_email": "..." }/v1/verify/passport/:userIdRetrieve verified passport
Get a user's full skill passport including all credentials, SCI scores, and evidence history in a single call.
{ "user_id": "u_abc", "skills": [...], "sci_scores": {...} }/v1/verify/skill/:userId/:skillKeyVerify a single skill
Check a specific skill credential with tier, SCI score, and the complete evidence chain that backs it.
{ "skill": "react", "tier": "proficient", "sci": 78, "evidence": [...] }{
"event": "skill.tier_changed",
"user_id": "u_abc123",
"skill": "react",
"new_tier": "proficient"
}Webhooks
Real-time event stream.
Subscribe to skill changes, assessment completions, and passport updates. Events are delivered as signed POST requests with automatic retries and exponential backoff for up to 72 hours.
SDKs
Official libraries for every stack.
Node.js SDK
TypeScript / JavaScript
npm install @lemma/sdkPython SDK
Python 3.8+
pip install lemma-sdkGo SDK
Go 1.21+
go get github.com/lemma-io/sdk-goREST API
Any language via HTTP
curl -H 'Authorization: Bearer sk_...'Authentication
Secure by default.
API keys with granular scoping let you control exactly what each integration can access. Set rate limits per key, rotate credentials without downtime, and monitor usage in real time.
Developer experience
Built for developers who ship.
Sandbox environment
Test your integration with realistic mock data before going live. No risk, no cost, full API parity.
Detailed error messages
Every error returns a machine-readable code, human-readable message, and a link to the relevant documentation.
Request logging
Full request and response logs available in the dashboard. Debug integration issues in seconds, not hours.
Idempotency keys
Every write endpoint supports idempotency keys. Safely retry requests without creating duplicate records.
Built for developers
Everything you need to integrate skill verification into your product — from RESTful endpoints to real-time webhooks.
RESTful API
Clean, predictable endpoints following REST conventions. JSON responses, standard HTTP methods, pagination built in.
{
"skill": "react",
"tier": "proficient",
"sci": 84,
"confidence": 0.92,
"evidence": {
"sessions": 14,
"assessments": 3,
"endorsements": 7
},
"verified": true
}Webhooks
Real-time event delivery for skill changes, assessment completions, and tier upgrades. Retry with exponential backoff.
TypeScript SDK
Fully typed client with autocomplete, request validation, and built-in error handling. Ship faster with zero guesswork.
Rate limiting
Enterprise-grade rate limiting with per-key quotas, burst allowance, and clear headers so you never fly blind.
{
"skill": "react",
"tier": "proficient",
"sci": 84,
"confidence": 0.92,
"evidence": {
"sessions": 14,
"assessments": 3,
"endorsements": 7
},
"verified": true
}RESTful API
Clean, predictable endpoints following REST conventions. JSON responses, standard HTTP methods, pagination built in.
Webhooks
Real-time event delivery for skill changes, assessment completions, and tier upgrades. Retry with exponential backoff.
TypeScript SDK
Fully typed client with autocomplete, request validation, and built-in error handling. Ship faster with zero guesswork.
Rate limiting
Enterprise-grade rate limiting with per-key quotas, burst allowance, and clear headers so you never fly blind.
Choose your path
No-code dashboard
Manage API keys, configure webhooks, send assessment invites, and track verification results — no code required.
Build with the API
Integrate skill verification directly into your product with our TypeScript SDK, REST API, and comprehensive docs.
import { Lemma } from "@lemma/sdk";
const lemma = new Lemma("sk_live_...");
const passport = await lemma.verify
.passport("usr_7f3k2x8m");
console.log(passport.skills);
// → [{ key: "react", sci: 84 }]Start proving what you know.
Early access is rolling out for individuals and teams. No credit card, no PDFs — just the things you made, made visible.