List training sessions
curl --request GET \
--url https://api.together.ai/v1/rl/training-sessions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.together.ai/v1/rl/training-sessions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.together.ai/v1/rl/training-sessions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.together.ai/v1/rl/training-sessions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.together.ai/v1/rl/training-sessions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.together.ai/v1/rl/training-sessions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.together.ai/v1/rl/training-sessions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"metadata": {
"wandb": {
"entity": "example-org",
"project": "grpo-gsm8k",
"group": "gsm8k-35b-sweep",
"run_name": "exp2-thinking-4k-ctx",
"run_id": "abc123",
"url": "https://wandb.ai/example-org/example-project/runs/run-id"
}
},
"status": "TRAINING_SESSION_STATUS_RUNNING",
"inference_checkpoints": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"step": "42",
"created_at": "2026-01-02T00:00:00Z",
"registration": {
"model": {
"id": "ml_abc123",
"revision_id": "rv_def456"
},
"adapter": {
"id": "ml_abc123",
"revision_id": "rv_def456"
}
}
}
],
"training_checkpoints": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"step": "42",
"created_at": "2026-01-02T00:00:00Z",
"registration": {
"id": "ml_abc123",
"revision_id": "rv_def456"
}
}
],
"step": "100",
"created_at": "2026-01-02T00:00:00Z",
"updated_at": "2026-01-02T00:00:05Z",
"model_resources_id": "123e4567-e89b-12d3-a456-426614174000",
"base_model": "Qwen/Qwen3.5-4B",
"created_by": "user_123",
"policy_state": {
"trainer_step": "7",
"target_weights_version": "7",
"applied_weights_version": "6",
"pending_publish": true
},
"display_name": "gsm8k-experiment-2",
"error": {
"code": "TRAINING_SESSION_ERROR_CODE_RESOURCE_AT_CAPACITY",
"message": "The session could not start because the selected resource has no available capacity.",
"occurred_at": "2026-01-02T00:00:05Z"
},
"resume_from_checkpoint_id": "123e4567-e89b-12d3-a456-426614174000",
"lora_config": {
"rank": 32,
"alpha": 64,
"dropout": 0,
"seed": "59",
"train_unembed": true
}
}
],
"meta": {
"limit": 20,
"has_more": true,
"next_cursor": "123e4567-e89b-12d3-a456-426614174000"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"param": null,
"code": null
}
}Training sessions
List training sessions
Lists all training sessions.
GET
/
rl
/
training-sessions
List training sessions
curl --request GET \
--url https://api.together.ai/v1/rl/training-sessions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.together.ai/v1/rl/training-sessions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.together.ai/v1/rl/training-sessions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.together.ai/v1/rl/training-sessions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.together.ai/v1/rl/training-sessions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.together.ai/v1/rl/training-sessions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.together.ai/v1/rl/training-sessions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"metadata": {
"wandb": {
"entity": "example-org",
"project": "grpo-gsm8k",
"group": "gsm8k-35b-sweep",
"run_name": "exp2-thinking-4k-ctx",
"run_id": "abc123",
"url": "https://wandb.ai/example-org/example-project/runs/run-id"
}
},
"status": "TRAINING_SESSION_STATUS_RUNNING",
"inference_checkpoints": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"step": "42",
"created_at": "2026-01-02T00:00:00Z",
"registration": {
"model": {
"id": "ml_abc123",
"revision_id": "rv_def456"
},
"adapter": {
"id": "ml_abc123",
"revision_id": "rv_def456"
}
}
}
],
"training_checkpoints": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"step": "42",
"created_at": "2026-01-02T00:00:00Z",
"registration": {
"id": "ml_abc123",
"revision_id": "rv_def456"
}
}
],
"step": "100",
"created_at": "2026-01-02T00:00:00Z",
"updated_at": "2026-01-02T00:00:05Z",
"model_resources_id": "123e4567-e89b-12d3-a456-426614174000",
"base_model": "Qwen/Qwen3.5-4B",
"created_by": "user_123",
"policy_state": {
"trainer_step": "7",
"target_weights_version": "7",
"applied_weights_version": "6",
"pending_publish": true
},
"display_name": "gsm8k-experiment-2",
"error": {
"code": "TRAINING_SESSION_ERROR_CODE_RESOURCE_AT_CAPACITY",
"message": "The session could not start because the selected resource has no available capacity.",
"occurred_at": "2026-01-02T00:00:05Z"
},
"resume_from_checkpoint_id": "123e4567-e89b-12d3-a456-426614174000",
"lora_config": {
"rank": 32,
"alpha": 64,
"dropout": 0,
"seed": "59",
"train_unembed": true
}
}
],
"meta": {
"limit": 20,
"has_more": true,
"next_cursor": "123e4567-e89b-12d3-a456-426614174000"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"param": null,
"code": null
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Status filters. When omitted, sessions in any status are returned.
Available options:
TRAINING_SESSION_STATUS_CREATING, TRAINING_SESSION_STATUS_RUNNING, TRAINING_SESSION_STATUS_STOPPED, TRAINING_SESSION_STATUS_STOPPING, TRAINING_SESSION_STATUS_ERROR, TRAINING_SESSION_STATUS_EXPIRED Maximum number of sessions to return (1-100)
Cursor for pagination (ID of the last session from the previous page)
Filter sessions by the model resource they are attached to
Filter sessions in the current project by the creator ID. Pass "me" to show sessions you created.
Was this page helpful?
⌘I