---
title: "Save training checkpoint"
method: POST
path: "/v1/rl/training-sessions/{session_id}/operations/training-checkpoint"
tags: ["RL"]
---

# Save training checkpoint

`POST /v1/rl/training-sessions/{session_id}/operations/training-checkpoint`

## Request

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

Submits an operation that will asynchronously save the full training state (adapter + optimizer + step).

## Path parameters

- `session_id` string, required: Training session ID

## Headers

- `Idempotency-Key` string, required: Required key that makes retries return the original operation; use a new key for changed request bodies.

## Response `200`

Save training checkpoint operation details

- RLTrainingCheckpointOperation: Async training checkpoint operation
  - `id` string, required: Operation ID
  - `status` 'TRAINING_OPERATION_STATUS_UNSPECIFIED' | 'TRAINING_OPERATION_STATUS_PENDING' | 'TRAINING_OPERATION_STATUS_RUNNING' | 'TRAINING_OPERATION_STATUS_COMPLETED' | 'TRAINING_OPERATION_STATUS_FAILED', required
  - `output` RLTrainingCheckpointResult: Result of a training checkpoint operation
    - `checkpoint` RLTrainingCheckpoint, required: Saved training checkpoint
      - `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
  - `error` RLTrainingOperationError: Error details for a failed training operation
    - `code` 'TRAINING_OPERATION_ERROR_CODE_UNSPECIFIED' | 'TRAINING_OPERATION_ERROR_CODE_RESOURCE_EXHAUSTED' | 'TRAINING_OPERATION_ERROR_CODE_TIMEOUT' | 'TRAINING_OPERATION_ERROR_CODE_INTERNAL_ERROR' | 'TRAINING_OPERATION_ERROR_CODE_SESSION_NOT_ACTIVE' | 'TRAINING_OPERATION_ERROR_CODE_INVALID_INPUT' | 'TRAINING_OPERATION_ERROR_CODE_NON_FINITE_LOSS': Application error code for a failed training operation
    - `message` string: Human-readable error message

## 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/operations/training-checkpoint/post.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)
