---
title: "Get Optimization Job Status"
method: GET
path: "/api/v1/jobs/gepa/{job_id}"
---

# Get Optimization Job Status

`GET /api/v1/jobs/gepa/{job_id}`

## Request

- The document declares no server URL.
- Auth: none declared
- TypeScript: <https://skmtc.dev/modaic-ai/apis/modaic-api/docs/api/v1/jobs/gepa/:job_id/get.ts> (a function with typed inputs; its response is checked against the schema)

Get the status of a GEPA optimization job.

This endpoint is a pure Postgres reader. The sandbox writes logs and
terminal state directly to the hub_jobs row; a background Celery task
handles finalization (env_var cleanup, Slack notification, re-predict
trigger). Subsequent re-predict/scoring phases are tracked via the
``phase`` column updated by the Celery pipeline.

## Path parameters

- `job_id` string, required

## Headers

- `authorization` string, nullable

## Cookies

- `modaic_session` string, nullable

## Response `200`

Successful Response

- GepaJobResponse
  - `job_id` string, required
  - `status` 'in_progress' | 'completed' | 'failed', required
  - `message` string, nullable
  - `results` object, nullable
  - `phase` 'optimizing' | 'finalizing' | 're_predicting' | 'scoring' | 'tuning' | 'done', nullable
  - `commit_hash` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/modaic-ai/apis/modaic-api.md) - [All operations](https://skmtc.dev/modaic-ai/apis/modaic-api/llms.txt) - [OpenAPI document](https://skmtc.dev/modaic-ai/apis/modaic-api/revisions/43a90513ac59?raw)
