Skip to content
For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Primary navigation

List fine-tuning jobs

client.fineTuning.jobs.list(query?, options?): CursorPage<FineTuningJob { id, created_at, error, 16 more } >
GET
/fine_tuning/jobs

List your organization’s fine-tuning jobs

Parameters
query: JobListParams { after, limit, metadata }
after?: string

Identifier for the last job from the previous pagination request.

limit?: number

Number of fine-tuning jobs to retrieve.

metadata?: Record<string, string> | null

Optional metadata filter. To filter, use the syntax metadata[k]=v. Omitting the parameter or passing an empty object applies no metadata filter. An empty value, such as metadata[k]=, filters for that key with an empty string value. To select jobs with null metadata, send the literal query string metadata=null. Nullable caller types do not specify how a client serializes null for a deep-object parameter. Use a raw query parameter if the client omits null. Do not combine the two query forms.

Returns
FineTuningJob { id, created_at, error, 16 more }

The fine_tuning.job object represents a fine-tuning job that has been created through the API.

id: string

The object identifier, which can be referenced in the API endpoints.

created_at: number

The Unix timestamp (in seconds) for when the fine-tuning job was created.

formatunixtime
error: Error | null

For fine-tuning jobs that have failed, this will contain more information on the cause of the failure.

fine_tuned_model: string | null

The name of the fine-tuned model that is being created. The value will be null if the fine-tuning job is still running.

finished_at: number | null

The Unix timestamp (in seconds) for when the fine-tuning job was finished. The value will be null if the fine-tuning job is still running.

formatunixtime
hyperparameters: Hyperparameters { batch_size, learning_rate_multiplier, n_epochs }

The hyperparameters used for the fine-tuning job. This value will only be returned when running supervised jobs.

model: string

The base model that is being fine-tuned.

object: "fine_tuning.job"

The object type, which is always “fine_tuning.job”.

organization_id: string

The organization that owns the fine-tuning job.

result_files: Array<string>

The compiled results file ID(s) for the fine-tuning job. You can retrieve the results with the Files API.

seed: number

The seed used for the fine-tuning job.

status: "validating_files" | "queued" | "running" | 3 more

The current status of the fine-tuning job, which can be either validating_files, queued, running, succeeded, failed, or cancelled.

trained_tokens: number | null

The total number of billable tokens processed by this fine-tuning job. The value will be null if the fine-tuning job is still running.

training_file: string

The file ID used for training. You can retrieve the training data with the Files API.

validation_file: string | null

The file ID used for validation. You can retrieve the validation results with the Files API.

estimated_finish?: number | null

The Unix timestamp (in seconds) for when the fine-tuning job is estimated to finish. The value will be null if the fine-tuning job is not running.

formatunixtime
integrations?: Array<FineTuningJobWandbIntegrationObject { type, wandb } > | null

A list of integrations to enable for this fine-tuning job.

metadata?: Metadata | null

Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.

method?: Method { type, dpo, reinforcement, supervised }

The method used for fine-tuning.

List fine-tuning jobs

import OpenAI from "openai";

const openai = new OpenAI();

async function main() {
  const list = await openai.fineTuning.jobs.list();

  for await (const fineTune of list) {
    console.log(fineTune);
  }
}

main();
{
  "object": "list",
  "data": [
    {
      "object": "fine_tuning.job",
      "id": "ftjob-abc123",
      "model": "gpt-4o-mini-2024-07-18",
      "created_at": 1721764800,
      "fine_tuned_model": null,
      "organization_id": "org-123",
      "result_files": [],
      "status": "queued",
      "validation_file": null,
      "training_file": "file-abc123",
      "error": null,
      "finished_at": null,
      "trained_tokens": null,
      "seed": 42,
      "hyperparameters": {
        "batch_size": "auto",
        "learning_rate_multiplier": "auto",
        "n_epochs": "auto"
      },
      "method": {
        "type": "supervised",
        "supervised": {
          "hyperparameters": {
            "batch_size": "auto",
            "learning_rate_multiplier": "auto",
            "n_epochs": "auto"
          }
        }
      },
      "metadata": {
        "key": "value"
      }
    }
  ],
  "has_more": false
}
Returns Examples
{
  "object": "list",
  "data": [
    {
      "object": "fine_tuning.job",
      "id": "ftjob-abc123",
      "model": "gpt-4o-mini-2024-07-18",
      "created_at": 1721764800,
      "fine_tuned_model": null,
      "organization_id": "org-123",
      "result_files": [],
      "status": "queued",
      "validation_file": null,
      "training_file": "file-abc123",
      "error": null,
      "finished_at": null,
      "trained_tokens": null,
      "seed": 42,
      "hyperparameters": {
        "batch_size": "auto",
        "learning_rate_multiplier": "auto",
        "n_epochs": "auto"
      },
      "method": {
        "type": "supervised",
        "supervised": {
          "hyperparameters": {
            "batch_size": "auto",
            "learning_rate_multiplier": "auto",
            "n_epochs": "auto"
          }
        }
      },
      "metadata": {
        "key": "value"
      }
    }
  ],
  "has_more": false
}