Candidate accounts and talent
Build candidate profiles and resume import, then expose the permitted talent directory.
A
JBuild two deliberately separate experiences: a candidate’s private profile editor under board.me, and the board’s public or employer-only talent directory under board.talent.
Prerequisites
board.context().features.candidatesistruefor candidate accounts.- A server-owned board-user session for every
board.merequest. features.talentDirectorychecked before creating a talent route (!== 'off').
The examples expect a stateless server client and pass the access token per call.
Load and update the candidate profile
update is a merge patch: omitted fields remain unchanged. Check handle availability before submission for responsive feedback, but treat the update response as authoritative because availability can change.
For the candidate's location, use a board.locations.search picker and send the picked id as locationId, with commuteRadiusKm and openToRelocate next to it. Job matches use these to keep on-site and hybrid jobs within commuting distance. Show the distance in miles for a US or UK home and kilometres elsewhere; see Home location and commute distance.
Import a resume
Resume parsing is asynchronous. Upload once, then poll until parseStatus is parsed or failed.
Use replace_all only after an explicit confirmation. The SDK requires confirmReplaceAll: true for that destructive import mode.
Load the talent directory
Only public profiles appear. On an employers_only board, anonymous requests throw a 403 talent_directory_restricted; render an employer sign-in or upsell rather than pretending the directory is empty.
Expected result
The private account loader returns the signed-in candidate’s profile and parsed resume state. The talent loader returns only profiles visible to the current viewer, or no route when the directory is off.
Verify the result
- Candidate profile responses never enter a shared cache.
- A profile update returns the edited values from the server.
- Resume import reaches
parsedor shows the returned failure reason. - Hidden and logged-in-only profiles do not appear in anonymous talent reads.
- An employers-only directory distinguishes 403 restricted access from 404 disabled access.
Production cautions
- Stop polling when the request is aborted or the user leaves the page.
- Keep short-lived resume download URLs out of logs and durable caches.
- Do not expose
board.meprofile data through public loaders. - Treat
jobSearchStatus: nullin a talent profile as an intentional visibility outcome.
Next, let candidates act on jobs with Applications.