Skill Verification
Init Session
Initialize a skill verification session for a student.
POST
Overview
Validates the student’s data, creates or retrieves a user record, stores a session in Redis, registers a callback webhook, and returns a session token to drive the rest of the verification flow.Request Body
External student identifier from your system.
URL to receive
verification.initiated and verification.completed webhook callbacks.Full name of the student.
Student email address. Required if
phoneNumber is absent.Student phone number. Required if
email is absent.List of student project objects. Can be empty only if
experience or certificates is non-empty.List of student work experience objects.
List of student certificate objects.
Optional array of skill IDs to verify against.
Response
true on success.Server-side execution time (e.g.
"42ms").Behavior Notes
- User lookup: Searches for an existing user by
email(preferred) orphoneNumber. Creates a new user if not found. - Session storage: Stored in Redis with a 40-day TTL. A reverse lookup key
verification:{recordVerificationId}→sessionTokenis also stored. - Callback registration: A
VerificationCallbackrecord is upserted usingrecordVerificationIdas the unique key. - Mode: Derived from the API key —
liveortest. Determines database models and ID prefixes.
Validation Rules
| Rule | Error Code |
|---|---|
studentId missing | MISSING_STUDENT_ID |
callbackWebhookUrl missing | MISSING_CALLBACK_WEBHOOK_URL |
name missing | MISSING_NAME |
Both email and phoneNumber missing | MISSING_CONTACT |
projects, experience, or certificates not an array | INVALID_DATA_FORMAT |
| All three arrays are empty | NO_DATA |
skillIds provided but not an array | INVALID_SKILL_IDS |

