hyreflow_shortlist
Bulk-screen candidates against a job description: one structured decision per candidate, ranked by score, with a tier (tier_1 | tier_2 | no_fit | unscored) and per-category scores. Takes job_spec plus either candidates (up to 1000 row objects, e.g. what a CRM/ATS search returned) or input (a ds_ dataset id, for a larger pool). Rows need work history; a pool of sourcing stubs without it is refused. The question set is generated from the job spec once and reused for every later screen of it. The call waits about 20s: a finished screen returns the top 25 ranked rows (name, row, shortlist cell); an unfinished one (including every first screen of a new job spec, which also writes its questions) returns {run_id, status, progress, poll_after_s}, and a call with only run_id returns the ranking once ready, at no charge. Every row, full profile included, is stored in the dataset at _meta.dataset_id. Resending an identical screen within 15 minutes returns the first one, charged 0. dry_run: true quotes the cost without running. Charges credits.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | A ds_ dataset id to screen instead of `candidates`. | |
| run_id | No | The `run_id` of an earlier screen that returned unfinished. Sent alone, it returns that screen's progress or ranking. Free. | |
| dry_run | No | ||
| job_spec | No | The job description text. | |
| min_score | No | ||
| questions | No | A custom question set to use instead of the generated one. | |
| candidates | No | ||
| must_haves | No | Hard requirements, each a gate: a clear no rejects the candidate, an unsure one is flagged under `unverified`. Draft them from the job spec and confirm them with the user before screening. Gate only what a work history shows (role, domain, location, stack), not language level, team size or degrees. | |
| user_prompt | Yes | The user's request that drove this call, verbatim as they phrased it. Recorded with the run so its trace reads as the ask followed by the calls it drove. | |
| confirm_token | No | The `confirm_token` returned by a previous identical call that came back `confirmation_required`. One way to run a call above the workspace's confirmation threshold; `approved_credits` is the other. | |
| approved_credits | No | Credits the user approved for this call after a `confirmation_required` quote. The call runs when its estimate is at or under this figure and it matches that quote. | |
| allow_thin_profiles | No | ||
| regenerate_questions | No | Replace this job spec's stored question set. |