Skip to main content

Documentation Index

Fetch the complete documentation index at: https://staplehire.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Use candidates enrich to start async candidate research, then poll the job and read results with candidates research.
JOB_ID=$(staplehire candidates enrich <candidateId> | jq -r '.job.id')
staplehire jobs poll "$JOB_ID"
staplehire candidates research <candidateId>

Quickstart

JOB_ID=$(staplehire candidates enrich <candidateId> \
  --prompt "Focus on backend systems, TypeScript, and startup experience." \
  | jq -r '.job.id')

staplehire jobs poll "$JOB_ID"
staplehire candidates research <candidateId>
Example enrich output:
{
  "job": {
    "id": "job_...",
    "type": "enrich",
    "status": "pending",
    "candidate_id": "cand_..."
  },
  "created": true
}
Example research output:
{
  "research": {
    "summary": "Candidate has recent backend platform experience.",
    "highlights": ["Built TypeScript services", "Worked in early-stage startups"],
    "sources": ["https://linkedin.com/in/..."]
  }
}

Parameters

FlagRequiredDescription
<candidateId>YesCandidate to enrich
--prompt <text>NoExtra research instructions
--forceNoStart a fresh job when allowed

Examples

Enrich and extract the summary

JOB_ID=$(staplehire candidates enrich <candidateId> | jq -r '.job.id')
staplehire jobs poll "$JOB_ID" -q
staplehire candidates research <candidateId> | jq -r '.research.summary'

Reuse an existing in-flight job

If the response has "created": false, a job is already running. Poll the returned job.id.
JOB_ID=$(staplehire candidates enrich <candidateId> | jq -r '.job.id')
staplehire jobs poll "$JOB_ID"

Read screening results

staplehire candidates screening-result <candidateId>

Common errors

ErrorCauseFix
NotFoundErrorCandidate does not existRun candidates list or candidates get
Exit code 9Poll timed outIncrease --timeout or check jobs get later
AuthenticationErrorMissing API keyRun staplehire login or set STAPLEHIRE_KEY

FAQ

Is candidate enrichment synchronous?

No. It creates a job. Poll it before calling candidates research.

Can I customize the research focus?

Yes. Pass --prompt to candidates enrich.

Where do I read the final research?

Call staplehire candidates research <candidateId> after the job reaches done. Related: Add a candidate with the Staplehire CLI · Poll Staplehire CLI jobs · CLI errors