API Reference

All /applications/* and /auth/oauth-upsert require the relevant credential. /auth/* (except oauth-upsert) and /healthz are public.

MethodPathAuthPurpose
POST/auth/registerCreate unverified user, send verify email
POST/auth/verifyConsume verify token, mark email verified
POST/auth/loginValidate password + verified status (called by Auth.js)
POST/auth/forgotSend reset email (always 200)
POST/auth/resetConsume reset token, set new password
POST/auth/oauth-upsertX-Auth-SecretFind-or-create user from OAuth profile
GET/applicationsBearerList own applications
POST/applicationsBearerCreate
GET/applications/{id}BearerDetail (own only)
PATCH/applications/{id}BearerPartial update
DELETE/applications/{id}BearerRemove
POST/applications/{id}/match?force=falseBearerRun LLM match. Returns cached unless force=true. Deducts from daily budget.
POST/applications/{id}/suggested-profiles?refresh=falseBearerCached LinkedIn profile hits via Brave Search. refresh=true re-fetches.
POST/cv/parse-pdf (multipart)BearerExtract plain text from a PDF resume.
GET/healthzLiveness