Human Verification
Verify Skills
Reviewer submits their endorsement decision.
POST
Overview
Skills included inskillIds are marked verified. Skills currently pending but not included are marked rejected. After saving:
- Fires a
verification.completedwebhook with full results. - Sends a confirmation email to the student.
- Marks the reviewer session as completed (preventing re-submission).
- Increments
verifiedProfileson the API key.
Uses the
reviewerToken from the email link for authorisation — no session authentication required.Query Parameters
The reviewer token embedded in the email link.
Request Body
IDs of the skills the reviewer is endorsing. Must not be empty.
Token Validation Rules
| Condition | Result |
|---|---|
| Token not found | 401 INVALID_REVIEWER_TOKEN |
| Token found but expired | 410 REVIEWER_TOKEN_EXPIRED — session marked expired |
| Session already completed | 409 ALREADY_VERIFIED |
| Token valid and pending | Proceeds normally |
Error Codes
| Code | HTTP | Description |
|---|---|---|
MISSING_REVIEWER_TOKEN | 400 | reviewerToken query param not provided |
MISSING_SKILL_IDS | 400 | skillIds is missing or empty |
INVALID_REVIEWER_TOKEN | 401 | Token not found in live or test database |
REVIEWER_TOKEN_EXPIRED | 410 | Review link has expired — student must resend |
ALREADY_VERIFIED | 409 | This verification has already been completed |
REVIEWER_NOT_FOUND | 404 | Reviewer details not found for this session |
INTERNAL_ERROR | 500 | Unexpected server error |

