> ## 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.

# List Checkpoint Options

> List checkpoints available to warm-start a new 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

Lists checkpoints available to warm-start a new fine-tuning job. This returns the organization's
checkpoints, optionally filtered to a model family. The results are cursor-paginated and are
sorted newest first.

To list only checkpoints for a specific job, use the [List Job
Checkpoints](/api-reference/fine-tuning/list-job-checkpoints) endpoint.

<Note>
  This endpoint is used by the Fine-Tuning dashboard to build the list of checkpoints from which
  to start a job.
</Note>

## Request

<ParamField query="model" type="string">
  Filters checkpoints to include only those of the specified model, e.g. `newton`. Omit to list all of the org's checkpoints.
</ParamField>

<ParamField query="after" type="string">
  Forward cursor: return checkpoints older than the one with this ID. Mutually exclusive with `before`.
</ParamField>

<ParamField query="before" type="string">
  Backward cursor: return checkpoints newer than the one with this ID. Mutually exclusive with `after`.
</ParamField>

<ParamField query="limit" type="integer">
  The maximum number of options to return (1–100).
</ParamField>

## Response

Returns a page of checkpoint options.

<ResponseField name="object" type="string">
  The object type of a list response. Always `list`.
</ResponseField>

<ResponseField name="data" type="array">
  The selectable checkpoint options.

  <Expandable title="FineTuningCheckpointOption">
    A page of checkpoint options that match the specified options.

    <ResponseField name="id" type="string" required>
      The checkpoint's identifier. This is the value to submit as `checkpoint_id` when using the
      [Create Job](/api-reference/fine-tuning/create-job) endpoint.
    </ResponseField>

    <ResponseField name="name" type="string" required>
      The human-readable registry name.
    </ResponseField>

    <ResponseField name="base_model" type="string">
      The base model variant the checkpoint was produced from. This is parsed from the registry
      name, such as `newton/c:2.5.1-8b-base`, and is `null` if not parseable. A warm-start only loads
      cleanly from a checkpoint of the same base.
    </ResponseField>

    <ResponseField name="step" type="integer" required>
      Training step at which the checkpoint was produced.
    </ResponseField>

    <ResponseField name="metrics" type="object" required>
      Structured metrics captured with the checkpoint (e.g. loss). This is useful for ranking options.
    </ResponseField>

    <ResponseField name="created_at" type="integer" required>
      The Unix timestamp (seconds) at which the checkpoint was produced.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="has_more" type="boolean">
  Whether or not  more options exist beyond this page.
</ResponseField>

<RequestExample>
  ```bash cURL theme={"system"}
  curl "https://api.u1.archetypeai.app/v0.6/fine_tuning/checkpoints?model=newton&limit=20" \
    -H "Authorization: Bearer $ATAI_API_KEY"
  ```

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

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

  response = requests.get(
      "https://api.u1.archetypeai.app/v0.6/fine_tuning/checkpoints",
      headers={"Authorization": f"Bearer {api_key}"},
      params={"model": "newton", "limit": 20}
  )

  print(response.json())
  ```

  ```javascript JavaScript theme={"system"}
  const params = new URLSearchParams({ model: 'newton', limit: '20' });

  const response = await fetch(
    `https://api.u1.archetypeai.app/v0.6/fine_tuning/checkpoints?${params}`,
    {
      headers: {
        'Authorization': `Bearer ${process.env.ATAI_API_KEY}`
      }
    }
  );

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

<ResponseExample>
  ```json 200 - Selectable checkpoints theme={"system"}
  {
    "object": "list",
    "data": [
      {
        "id": "ckp_...",
        "name": "newton/c:2.5.1-8b-base",
        "base_model": "newton/c:2.5.1-8b-base",
        "step": 1000,
        "metrics": {
          "loss": 0.123
        },
        "created_at": 1765201323
      }
    ],
    "has_more": false
  }
  ```
</ResponseExample>
