> ## Documentation Index
> Fetch the complete documentation index at: https://docs.archetypeai.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Resume Fine-tuning Job

> Resume a paused or failed fine-tuning job

<Callout icon="clock" color="#3064E3" iconType="solid">
  Requires [version 1.1.5](/release-notes/1.1.x#v1-1-5) or later of the Archetype platform.
</Callout>

## Overview

Resumes a paused or failed fine-tuning job, continuing from the most recent checkpoint.

## Request

<ParamField path="id" type="string" required>
  The ID of the fine-tuning job to resume. This is a TypeID-encoded identifier with the `FineTuningJobId` prefix.
</ParamField>

## Response

Returns a description of the fine-tuning job after resuming it.

<ResponseField name="object" type="string" required>
  The object type. Always `fine_tuning.job`.
</ResponseField>

<ResponseField name="id" type="string" required>
  The unique identifier of the fine-tuning job.
</ResponseField>

<ResponseField name="name" type="string" required>
  The human-readable name supplied when the job was created.
</ResponseField>

<ResponseField name="model" type="string" required>
  The base model being fine-tuned.
</ResponseField>

<ResponseField name="created_at" type="integer" required>
  The Unix timestamp (in seconds) at which the job was created.
</ResponseField>

<ResponseField name="org_id" type="string" required>
  The organization that owns the job.
</ResponseField>

<ResponseField name="status" type="string" required>
  The job's current lifecycle stage. One of `PENDING`, `ADMITTED`, `RUNNING`, `COMPLETED`, `FAILED`, `PREEMPTED`, `CANCELLED`, `PAUSED`, `INTERRUPTED`.
</ResponseField>

<ResponseField name="training_files" type="array" required>
  Identifiers of the files used to train the model.
</ResponseField>

<ResponseField name="validation_files" type="array" required>
  Identifiers of the files used to evaluate the model during training.
</ResponseField>

<ResponseField name="errors" type="array" required>
  Failure details when the job has failed, as the platform error envelope (a list of `{code,
      message, suggestion, error_uid}`). Empty while the job is queued or running, or on success.
</ResponseField>

<ResponseField name="checkpoint_id" type="string">
  The checkpoint ID of the checkpoint from which the job was started (**not** the checkpoint from
  which the job was resumed), or `null` if it trained from the base model.
</ResponseField>

<ResponseField name="fine_tuned_model" type="string">
  The name of the model produced by the job, available once training has succeeded; `null` until then.
</ResponseField>

<ResponseField name="finished_at" type="integer">
  The Unix timestamp (in seconds) at which the job finished, or `null` if it is not yet complete.
</ResponseField>

<ResponseField name="outcome" type="string">
  For a `COMPLETED` job, this indicates whether it succeeded fully (`SUCCESS`), partially
  (`PARTIAL`), or produced nothing (`FAILED`). This is `null` for any non-completed status.
</ResponseField>

<ResponseField name="seed" type="integer">
  The random seed used for the job.
</ResponseField>

<ResponseField name="user_provided_suffix" type="string">
  The suffix supplied on the request, applied to the fine-tuned model's name.
</ResponseField>

<RequestExample>
  ```bash cURL theme={"system"}
  curl -X POST https://api.u1.archetypeai.app/v0.6/fine_tuning/jobs/your-job-id/resume \
    -H "Authorization: Bearer $ATAI_API_KEY"
  ```

  ```python Python theme={"system"}
  import requests
  import os

  api_key = os.environ.get("ATAI_API_KEY")

  job_id = "your-job-id"

  response = requests.post(
      f"https://api.u1.archetypeai.app/v0.6/fine_tuning/jobs/{job_id}/resume",
      headers={"Authorization": f"Bearer {api_key}"}
  )

  print(response.json())
  ```

  ```javascript JavaScript theme={"system"}
  const jobId = 'your-job-id';

  const response = await fetch(
    `https://api.u1.archetypeai.app/v0.6/fine_tuning/jobs/${jobId}/resume`,
    {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${process.env.ATAI_API_KEY}`
      }
    }
  );

  const data = await response.json();
  console.log(data);
  ```
</RequestExample>

<ResponseExample>
  ```json 200 - Fine-tuning job resumed theme={"system"}
  {
    "object": "fine_tuning.job",
    "id": "your-job-id",
    "name": "my-tune",
    "model": "newton",
    "created_at": 1765201323,
    "org_id": "your-org",
    "status": "PENDING",
    "checkpoint_id": "ckp_...",
    "fine_tuned_model": null,
    "finished_at": null,
    "outcome": null,
    "seed": 42,
    "user_provided_suffix": "v2",
    "training_files": ["fil_..."],
    "validation_files": ["fil_..."],
    "errors": []
  }
  ```

  ```json 404 - Not found theme={"system"}
  {
    "code": "not_found",
    "message": "Not found",
    "suggestion": null,
    "error_uid": "err-xxxxxxxx"
  }
  ```

  ```json 409 - Invalid state transition theme={"system"}
  {
    "code": "invalid_state_transition",
    "message": "Invalid state transition",
    "suggestion": null,
    "error_uid": "err-xxxxxxxx"
  }
  ```
</ResponseExample>
