---
title: "Retrieve a fine-tune: status, steps, evaluations per depth, inputs"
method: GET
path: "/fine_tuning/jobs/{job_id}"
---

# Retrieve a fine-tune: status, steps, evaluations per depth, inputs

`GET /fine_tuning/jobs/{job_id}`

## Request

- Base URL: `https://cactuscompute.com/v1`
- URL: `https://cactuscompute.com/v1/fine_tuning/jobs/{job_id}`
- Auth: HTTP bearer

## Path parameters

- `job_id` string, required

## Response `200`

Job

- Job
  - `id` string, required
  - `object` 'fine_tuning.job' | 'generation', required
  - `name` string, nullable
  - `deleted` boolean
  - `status` 'queued' | 'running' | 'succeeded' | 'failed' | 'cancelled', required
  - `created_at` integer, required: Unix seconds
  - `started_at` integer, nullable: Unix seconds
  - `finished_at` integer, nullable: Unix seconds
  - `elapsed_seconds` integer, nullable
  - `cancellation_requested` boolean
  - `error` object, nullable
    - `code` 'invalid_input' | 'execution_failed' | 'deadline_exceeded' | 'subscription_required' | 'insufficient_storage' | 'output_incomplete'
  - `model` 'needle-3': Fine-tunes only
  - `max_depth` integer: Fine-tunes only
  - `completed_steps` integer: Fine-tunes only, 0 to 5
  - `total_steps` integer: Fine-tunes only, always 5
  - `evaluations` object[]: Fine-tunes only; empty until status is succeeded, then one entry per depth from 2 to max_depth
    - `depth` integer, required
    - `validation` object, required
      - `correct` integer, required
      - `total` integer, required
      - `excluded` integer, required: Examples with no tools defined, left out of the score
    - `test` object, required
      - `correct` integer, required
      - `total` integer, required
      - `excluded` integer, required: Examples with no tools defined, left out of the score
  - `fine_tuned_model` string, nullable: Fine-tunes only; the full-depth model once succeeded
  - `files` JobFile[]: On retrieve only. Fine-tunes: the submitted inputs. Generations: the files it published (empty until succeeded)
    - `id` string, required
    - `filename` string, required
    - `group` 'train' | 'validation' | 'test' | 'unknown', required
    - `ordinal` integer, required

## Other responses

- `4XX`: The request was rejected; `code` says why and `url` (when present) is the console page that clears it

---

[API](https://skmtc.dev/cactuscompute/apis/needle-fine-tuning-api.md) - [All operations](https://skmtc.dev/cactuscompute/apis/needle-fine-tuning-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cactuscompute/apis/needle-fine-tuning-api/revisions/227acc9b45e8?raw)
