---
title: "Update a training session"
method: PATCH
path: "/v1/rl/training-sessions/{session_id}"
tags: ["RL"]
---

# Update a training session

`PATCH /v1/rl/training-sessions/{session_id}`

## Request

- Base URL: `https://api.together.ai`
- URL: `https://api.together.ai/v1/rl/training-sessions/{session_id}`
- Auth: HTTP bearer

Updates the display name or metadata associated with a training session. Omitted fields remain unchanged, and empty strings clear existing values.

## Path parameters

- `session_id` string, required: ID of the training session

## Request body

- RLUpdateTrainingSessionRequest: Fields to update on a training session
  - `display_name` string: Display name to update. An empty string clears the existing display name.
  - `metadata` RLTrainingSessionMetadata: Auxiliary metadata associated with a training session
    - `wandb` RLWandbMetadata: Details that associate a training session with a Weights & Biases run
      - `entity` string: Weights & Biases username or team that owns the project
      - `project` string: Weights & Biases project containing the run
      - `group` string: Weights & Biases group used to organize related runs
      - `run_name` string: Human-readable name of the Weights & Biases run
      - `run_id` string: Unique identifier assigned to the run by Weights & Biases
      - `url` string: HTTPS URL for the Weights & Biases run

## Response `200`

Updated training session details

- RLTrainingSession: A training session and its current state
  - `id` string, required: ID of the training session
  - `display_name` string: Display name used to identify the training session
  - `metadata` RLTrainingSessionMetadata, required: Auxiliary metadata associated with a training session
    - `wandb` RLWandbMetadata: Details that associate a training session with a Weights & Biases run
      - `entity` string: Weights & Biases username or team that owns the project
      - `project` string: Weights & Biases project containing the run
      - `group` string: Weights & Biases group used to organize related runs
      - `run_name` string: Human-readable name of the Weights & Biases run
      - `run_id` string: Unique identifier assigned to the run by Weights & Biases
      - `url` string: HTTPS URL for the Weights & Biases run
  - `status` 'TRAINING_SESSION_STATUS_UNSPECIFIED' | 'TRAINING_SESSION_STATUS_CREATING' | 'TRAINING_SESSION_STATUS_RUNNING' | 'TRAINING_SESSION_STATUS_STOPPED' | 'TRAINING_SESSION_STATUS_STOPPING' | 'TRAINING_SESSION_STATUS_ERROR' | 'TRAINING_SESSION_STATUS_EXPIRED', required: Status of the training session
  - `error` RLTrainingSessionError: Structured detail for the training session's current error
    - `code` 'TRAINING_SESSION_ERROR_CODE_RESOURCE_UNAVAILABLE' | 'TRAINING_SESSION_ERROR_CODE_RESOURCE_AT_CAPACITY' | 'TRAINING_SESSION_ERROR_CODE_TIMED_OUT' | 'TRAINING_SESSION_ERROR_CODE_SESSION_FAILED', required: Finite machine-readable training session lifecycle error code
    - `message` string, required: User-safe human-readable detail for the current status
    - `occurred_at` string, date-time, required: Timestamp when this error was reported
  - `inference_checkpoints` RLInferenceCheckpoint[], required: List of saved inference checkpoints for this session
    - `id` string, required: Unique identifier for the checkpoint
    - `step` union, required: Training step at time of save
      - string
      - integer
    - `created_at` string, date-time, required: Timestamp when the checkpoint was created
    - `registration` RLInferenceCheckpointRegistration: Where an inference checkpoint's weights are stored in the Together model registry. At least one of `model` and `adapter` is set.
      - `model` RLModelRegistryArtifact: A specific revision of a model in the Together model registry
        - `id` string, required: ID of the model in the Together model registry, as used by the models API
        - `revision_id` string, required: Revision of the model that holds this checkpoint
      - `adapter` RLModelRegistryArtifact: A specific revision of a model in the Together model registry
        - `id` string, required: ID of the model in the Together model registry, as used by the models API
        - `revision_id` string, required: Revision of the model that holds this checkpoint
  - `training_checkpoints` RLTrainingCheckpoint[], required: List of saved training checkpoints for this session
    - `id` string, required: Unique identifier for the checkpoint
    - `step` union, required: Training step at time of save
      - string
      - integer
    - `created_at` string, date-time, required: Timestamp when the checkpoint was created
    - `registration` RLModelRegistryArtifact: A specific revision of a model in the Together model registry
      - `id` string, required: ID of the model in the Together model registry, as used by the models API
      - `revision_id` string, required: Revision of the model that holds this checkpoint
  - `resume_from_checkpoint_id` string: Checkpoint ID this session was resumed from
  - `step` union, required: Current training step
    - string
    - integer
  - `created_at` string, date-time, required: Timestamp when the training session was created
  - `updated_at` string, date-time, required: Timestamp when the training session was last updated
  - `lora_config` RLLoraConfig: LoRA adapter configuration
    - `rank` integer: Rank of the LoRA adapter
    - `alpha` integer: Alpha of the LoRA adapter
    - `dropout` number: Dropout of the LoRA adapter
    - `seed` union: Random seed for initializing LoRA adapter weights. Ignored when LoRA is disabled or the session resumes from a checkpoint.
      - string
      - integer
    - `train_unembed` boolean: Whether to also train a LoRA adapter on the output head. Defaults to true.
  - `model_resources_id` string, required: ID of the model resource used by this training session.
  - `base_model` string, required: Base model the session trains, taken from the model resource it is attached to
  - `created_by` string, required: ID of the user who created the training session
  - `policy_state` RLSessionPolicyState, required: Policy and weight versions for this training session. Compare these with `policy_segments[].version` on sample results from the same session. Versions may reset after session recovery or resume.
    - `trainer_step` union, required: Policy version produced by the last completed optimizer step. Distinct from `TrainingSession.step`, which is the durable optimizer-step counter.
      - string
      - integer
    - `target_weights_version` union, required: Policy version promised to the generator by the latest weights-sync.
      - string
      - integer
    - `applied_weights_version` union, required: Policy version successfully applied to the generator for this session.
      - string
      - integer
    - `pending_publish` boolean, required: True when a generator publish has been requested but has not finished.

## Other responses

- `default`: An unexpected error response.

## Changes

- **2026-10-22** `bb5257b3173a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/together/apis/together-apis/changes/v1/rl/training-sessions/:session_id/patch.md)

---

[API](https://skmtc.dev/together/apis/together-apis.md) - [All operations](https://skmtc.dev/together/apis/together-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/together/apis/together-apis/revisions/93438ddac711?raw)
