---
title: "Get job status"
method: GET
path: "/jobs/{job_id}"
tags: ["jobs"]
---

# Get job status

`GET /jobs/{job_id}`

## Request

- Base URL: `https://api.whoisgeni.us` (the document declares no server; this is the origin it was published from)
- URL: `https://api.whoisgeni.us/jobs/{job_id}`
- Auth: none declared

Poll a job's current status.

Returns the current job state (Postgres-first, with live progress
overlaid from the Redis hash). When the job is completed or partial, the
scoring_result from PostgreSQL is included in the response for immediate
access to results.

## Path parameters

- `job_id` string, required

## Headers

- `X-API-Key` string, nullable

## Response `200`

Successful Response

- ApiResponseJobStatusResponse
  - `data` JobStatusResponse: Response for polling a job's current status. When the job is completed, ``scoring_result`` contains the full ScoringResult dict from the scoring engine. When LLM enrichment is enabled and the ambiguity gate triggers, the scoring_result dict includes additional fields: enriched_conclusion, entity_resolution_notes, arbitration_reasoning. These fields are null/absent when LLM was not invoked. Attributes: job_id: Unique job identifier. status: Current job status (pending, processing, completed, failed). domain: Domain being analyzed. collectors_done: Number of collectors that have finished. collectors_total: Total number of collectors in the pipeline. analysis_run_id: Database analysis run ID. started_at: ISO 8601 timestamp when the job started processing. completed_at: ISO 8601 timestamp when the job finished. scoring_result: Full scoring result dict when completed. May include enriched_conclusion, entity_resolution_notes, and arbitration_reasoning when LLM enrichment was invoked.
    - `job_id` string, required
    - `status` 'pending' | 'processing' | 'completed' | 'failed' | 'partial', required
    - `domain` string, nullable
    - `phase` string, nullable
    - `collectors_done` integer, nullable
    - `collectors_total` integer, nullable
    - `analysis_run_id` string, nullable
    - `started_at` string, nullable
    - `completed_at` string, nullable
    - `scoring_result` object, nullable
  - `error` ErrorDetail: Structured error information for API error responses. Attributes: code: Machine-readable error code (e.g. "JOB_NOT_FOUND"). message: Human-readable error description. details: Optional additional context for debugging.
    - `code` string, required
    - `message` string, required
    - `details` object, nullable
  - `meta` object, nullable

## Other responses

- `401`: Unauthorized — missing or invalid API key/JWT.
- `404`: Job not found
- `422`: Validation Error

---

[API](https://skmtc.dev/whoisgeni/apis/whoisgenius.md) · [All operations](https://skmtc.dev/whoisgeni/apis/whoisgenius/llms.txt) · [OpenAPI document](https://skmtc.dev/whoisgeni/apis/whoisgenius/revisions/707f1c34f6b3?raw)
