curl "https://app.runtm.com/api/cloud/sessions/ses_abc123" \
-H "Authorization: Bearer runtm_xxx"
import requests
response = requests.get(
"https://app.runtm.com/api/cloud/sessions/ses_abc123",
headers={"Authorization": "Bearer runtm_xxx"},
)
session = response.json()
print(f"{session['name']} - {session['state']}")
const response = await fetch(
"https://app.runtm.com/api/cloud/sessions/ses_abc123",
{
headers: { "Authorization": "Bearer runtm_xxx" },
}
);
const session = await response.json();
console.log(`${session.name} - ${session.state}`);
{
"id": "ses_abc123",
"name": "API refactor",
"state": "active",
"agent": "claude-code",
"template_id": "tpl_xyz",
"sandbox_url": "https://ses-abc123.runtm.dev",
"visibility": "team",
"user_id": "user_xyz",
"organization_id": "org_abc123",
"created_at": "2026-05-09T10:00:00Z",
"updated_at": "2026-05-09T12:30:00Z"
}
Sessions
Get Session
Retrieve a single cloud session by ID
GET
/
api
/
sessions
/
{session_id}
curl "https://app.runtm.com/api/cloud/sessions/ses_abc123" \
-H "Authorization: Bearer runtm_xxx"
import requests
response = requests.get(
"https://app.runtm.com/api/cloud/sessions/ses_abc123",
headers={"Authorization": "Bearer runtm_xxx"},
)
session = response.json()
print(f"{session['name']} - {session['state']}")
const response = await fetch(
"https://app.runtm.com/api/cloud/sessions/ses_abc123",
{
headers: { "Authorization": "Bearer runtm_xxx" },
}
);
const session = await response.json();
console.log(`${session.name} - ${session.state}`);
{
"id": "ses_abc123",
"name": "API refactor",
"state": "active",
"agent": "claude-code",
"template_id": "tpl_xyz",
"sandbox_url": "https://ses-abc123.runtm.dev",
"visibility": "team",
"user_id": "user_xyz",
"organization_id": "org_abc123",
"created_at": "2026-05-09T10:00:00Z",
"updated_at": "2026-05-09T12:30:00Z"
}
Returns the full session object including state, agent, sandbox URL, and timestamps.
Required scope:
sessions:read
Path Parameters
string
required
The session ID (e.g.
ses_abc123).Headers
string
required
Bearer token. Example:
Bearer runtm_xxxstring
Scope to an organization.
Response
string
Session ID.
string
Display name.
string
Session state:
active, paused, or destroyed.string
Coding agent assigned to the session.
string | null
Template used to initialize the session.
string
URL of the sandbox environment.
string
Session visibility:
private or team.string
Owner user ID.
string | null
Organization the session belongs to.
string
ISO 8601 creation timestamp.
string | null
ISO 8601 last update timestamp.
curl "https://app.runtm.com/api/cloud/sessions/ses_abc123" \
-H "Authorization: Bearer runtm_xxx"
import requests
response = requests.get(
"https://app.runtm.com/api/cloud/sessions/ses_abc123",
headers={"Authorization": "Bearer runtm_xxx"},
)
session = response.json()
print(f"{session['name']} - {session['state']}")
const response = await fetch(
"https://app.runtm.com/api/cloud/sessions/ses_abc123",
{
headers: { "Authorization": "Bearer runtm_xxx" },
}
);
const session = await response.json();
console.log(`${session.name} - ${session.state}`);
{
"id": "ses_abc123",
"name": "API refactor",
"state": "active",
"agent": "claude-code",
"template_id": "tpl_xyz",
"sandbox_url": "https://ses-abc123.runtm.dev",
"visibility": "team",
"user_id": "user_xyz",
"organization_id": "org_abc123",
"created_at": "2026-05-09T10:00:00Z",
"updated_at": "2026-05-09T12:30:00Z"
}