Engine ACTIVE SERVICE

Application Queue & Submission Engine

Orchestrates candidate application processing across the complete 10-state life-cycle. Handles question resolution, human verification checkpoints, retry queues with exponential backoff, rate limit caps, and instant emergency pause controls.

The 10 Application Lifecycle States

StateDescription
DISCOVEREDJob fetched and normalized into database.
MATCHEDMatch score calculated (exceeds threshold).
PREPARINGAI tailored resume and answers are generating.
READY_FOR_REVIEWPackage complete; ready for manual review or auto-apply.
REQUIRES_USER_ACTIONEmployer asks unknown/sensitive question not in profile.
SUBMITTINGDirect RPC submission in progress.
SUBMITTEDConfirmed receipt received from platform RPC.
SUBMISSION_UNCONFIRMEDAmbiguous result; checked via application history.
FAILEDPlatform error or rejection logged to audit table.
EXPIREDListing removed or no longer accepting applicants.

The 3 Automation Modes

  • 1. Research Only: Discovers jobs and calculates match scores. ZERO applications prepared or submitted.
  • 2. Prepare Automatically: Discovers jobs, tailors resumes, answers questionnaires, and places applications in READY_FOR_REVIEW. Submissions require explicit 1-click user approval.
  • 3. Auto Apply: Automatically submits applications for qualifying on-site jobs meeting score thresholds and not on blacklist. Halts on unknown questions or expired sessions.

Lifecycle REST Endpoints

POST /v1/jobs/:id/prepare

Prepares tailored resume and questionnaire answers for a job.

GET /v1/jobs/applications/list

List all applications filtered by status or platform.

POST /v1/jobs/applications/:id/submit

Triggers verified direct submission to LinkedIn Easy Apply or Naukri.

POST /v1/jobs/applications/:id/action

Submits candidate answers for an application in REQUIRES_USER_ACTION state.

Emergency Stop & Killswitch

Triggering POST /v1/jobs/automation/pause immediately trips the circuit breaker:

curl -X POST 'http://localhost:3010/v1/jobs/automation/pause' \ -H 'X-API-Key: um_live_...'