API Reference

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

MethodPathAuthPurpose
POST/auth/register—Create unverified user, send verify email
POST/auth/verify—Consume verify token, mark email verified
POST/auth/login—Validate password + verified status (called by Auth.js)
POST/auth/forgot—Send reset email (always 200)
POST/auth/reset—Consume 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/healthz—Liveness