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

# Save training checkpoint

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

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

## Path parameters

- `session_id` string, required — Training session ID

## Response `200`

Save training checkpoint operation details

- RLTrainingCheckpointOperation — Async save 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 save training checkpoint operation
    - `checkpoint_id` string, required — ID of the saved training checkpoint (use for resume via Start)
  - `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.

---

[API](https://skmtc.net/together/apis/together-apis.md) · [All operations](https://skmtc.net/together/apis/together-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/together/together-apis/revisions/f26a23fab8e0/schema)
