---
title: "Start Fine Tuning Job"
method: POST
path: "/fine_tuning/jobs/{jobId}/start"
tags: ["fine-tuning"]
---

# Start Fine Tuning Job

`POST /fine_tuning/jobs/{jobId}/start`

## Request

- Base URL: `https://api.mistral.ai/v1`
- URL: `https://api.mistral.ai/v1/fine_tuning/jobs/{jobId}/start`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/ballerina-platform/apis/mistral-ai-api/docs/fine_tuning/jobs/:jobId/start/post.ts> (a function with typed inputs; its response is checked against the schema)

Request the start of a validated fine tuning job.

## Path parameters

- `jobId` string, uuid, required

## Response `200`

OK

- DetailedJobOut
  - `job_type` string, required
  - `metadata` JobMetadataOut
    - `data_tokens` integer, nullable
    - `train_tokens_per_step` integer, nullable
    - `cost` number, nullable
    - `cost_currency` string, nullable
    - `estimated_start_time` integer, nullable
    - `expected_duration_seconds` integer, nullable
    - `train_tokens` integer, nullable
  - `fine_tuned_model` string, nullable
  - `created_at` integer, required
  - `checkpoints` CheckpointOut[]
    - `step_number` integer, required: The step number that the checkpoint was created at.
    - `created_at` integer, required: The UNIX timestamp (in seconds) for when the checkpoint was created.
    - `metrics` MetricOut, required: Metrics at the step number during the fine-tuning job. Use these metrics to assess if the training is going smoothly (loss should decrease, token accuracy should increase).
      - `valid_loss` number, nullable
      - `valid_mean_token_accuracy` number, nullable
      - `train_loss` number, nullable
  - `suffix` string, nullable
  - `auto_start` boolean, required
  - `training_files` string[], required
  - `repositories` GithubRepositoryOut[]
    - `owner` string, required
    - `ref` string, nullable
    - `name` string, required
    - `weight` number
    - `type` 'github'
    - `commit_id` string, required
  - `hyperparameters` TrainingParameters, required
    - `fim_ratio` number, nullable
    - `weight_decay` number, nullable
    - `training_steps` integer, nullable
    - `learning_rate` number
    - `epochs` number, nullable
    - `seq_len` integer, nullable
    - `warmup_fraction` number, nullable
  - `model` 'open-mistral-7b' | 'mistral-small-latest' | 'codestral-latest' | 'mistral-large-latest' | 'open-mistral-nemo' | 'ministral-3b-latest', required: The name of the model to fine-tune.
  - `id` string, uuid, required
  - `trained_tokens` integer, nullable
  - `modified_at` integer, required
  - `integrations` WandbIntegrationOut[], nullable
    - `name` string, nullable: A display name to set for the run. If not set, will use the job ID as the name.
    - `project` string, required: The name of the project that the new run will be created under.
    - `type` 'wandb'
    - `run_name` string, nullable
  - `events` EventOut[]: Event items are created every time the status of a fine-tuning job changes. The timestamped list of all events is accessible here.
    - `data` object, nullable
    - `name` string, required: The name of the event.
    - `created_at` integer, required: The UNIX timestamp (in seconds) of the event.
  - `status` 'QUEUED' | 'STARTED' | 'VALIDATING' | 'VALIDATED' | 'RUNNING' | 'FAILED_VALIDATION' | 'FAILED' | 'SUCCESS' | 'CANCELLED' | 'CANCELLATION_REQUESTED', required
  - `validation_files` string[], nullable
  - `object` 'job'

## Changes

- **2026-07-17** `062746a4d99e`: 1 info
  - endpoint added
- **2025-03-12** `a88399f645b2`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/ballerina-platform/apis/mistral-ai-api/changes/fine_tuning/jobs/:jobId/start/post.md)

---

[API](https://skmtc.dev/ballerina-platform/apis/mistral-ai-api.md) - [All operations](https://skmtc.dev/ballerina-platform/apis/mistral-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ballerina-platform/apis/mistral-ai-api/revisions/062746a4d99e?raw)
