Skip to content

Get one job's pipeline steps, ATS breakdown and Scout label

GET
/api/pipeline/job
curl --request GET \
--url 'http://127.0.0.1:8765/api/pipeline/job?job_identity=example'

One job’s pipeline: its steps with their numbers, requirements met before and after tailoring, the Scout ATS breakdown, the Scout label. For a job page. A job has ONE pipeline, whichever and however many roles tag it; profile_id in the answer is the role that asked for it first (the one named, or null, when the job never entered the pipeline). steps: the job’s steps in order (tailor, reassess, ats, label), each with its state, the model target it runs with, why it waits and last_run, the numbers of its last attempt (model, tokens, seconds; null before the first). An empty list: the job never entered the pipeline (state null). requirements_met: what the job’s own assessment (base) and the assessment of the tailored resume (tailored) found met; each null until it exists. tailor_outcome: tailored, or tailor_kept_user_edits when the stored resume is the user’s and was kept. ats: the Scout ATS score of the tailored resume with its line, its three parts (parse fidelity of 40, keyword coverage of 40, format rules of 20), the key skills found, the ones missing and the format rules that failed, and the wording that always goes with the score. label: the Scout label as codes with the wording that always goes with it; null until the label step is done. ats.line and ats.missing are words of the posting (public-untrusted); nothing here is the user’s own text. Reading makes no model call and creates nothing.

job_identity
required
string

The job’s identity: the posting’s link (or text:sha256:...).

profile_id
string

The role whose page asks. Optional and selects nothing: a job has one pipeline, whichever role asks.

Success.

Media typeapplication/json
object
schema_version
required
Allowed value: scout-pipeline-job:1
key
additional properties
any
Example
{
"ats": {
"failed_rules": [],
"key_skills": "9/11",
"line": "Scout ATS 84: parses cleanly · 9/11 key skills · missing: Terraform, SOC 2",
"missing": [
"Terraform",
"SOC 2"
],
"parts": {
"coverage": 31,
"fidelity": 38.5,
"format": 20
},
"score": 84,
"updated_at": "2026-10-03T09:31:05.000000Z",
"wording": "GigAI’s own local check of how well this resume reads and matches the posting. Not any real ATS’s score."
},
"enabled": true,
"job_identity": "https://boards.greenhouse.io/acme/jobs/101",
"label": {
"ats_score": 84,
"label": "recommended",
"min_ats": 0,
"name": "Scout label",
"reasons": [],
"updated_at": "2026-10-03T09:31:10.000000Z",
"wording": "Scout's own suggestion from your settings, resume and answers. Not a prediction of what an employer will decide."
},
"profile_id": "prof_1",
"requirements_met": {
"base": {
"met": 8,
"percent": 73,
"total": 11
},
"tailored": {
"met": 10,
"percent": 91,
"total": 11
}
},
"schema_version": "scout-pipeline-job:1",
"state": "done",
"steps": [
{
"attempts": 1,
"error_code": null,
"last_run": {
"cached_tokens": 0,
"input_tokens": 30000,
"model": "gpt-5.1-codex",
"outcome": "ok",
"output_tokens": 4000,
"seconds": 24.2,
"started_at": "2026-10-03T09:30:15.000000Z"
},
"model_target": "codex_cli",
"name": "tailor",
"retry_at": null,
"state": "done",
"updated_at": "2026-10-03T09:30:40.000000Z",
"waiting": null
}
],
"tailor_outcome": "tailored"
}

Forbidden / forbidden_origin: loopback peer and Host 127.0.0.1:<port> or localhost:<port> only (Origin too on writes).

Media typeapplication/json
object
error
required
object
allowed_keys
Array<string>
code
required
string
message
required
string
key
additional properties
any
Examplegenerated
{
"error": {
"allowed_keys": [
"example"
],
"code": "example",
"message": "example"
}
}

Target_unavailable

Media typeapplication/json
object
error
required
object
allowed_keys
Array<string>
code
required
string
message
required
string
key
additional properties
any
Example
{
"error": {
"code": "target_unavailable",
"message": "..."
}
}

Unknown_key, invalid_value

Media typeapplication/json
object
error
required
object
allowed_keys
Array<string>
code
required
string
message
required
string
key
additional properties
any
Example
{
"error": {
"code": "unknown_key",
"message": "..."
}
}