---
title: "POST /api/v1/agent/roder/session"
method: POST
path: "/api/v1/agent/roder/session"
tags: ["agent"]
---

# POST /api/v1/agent/roder/session

`POST /api/v1/agent/roder/session`

## Request

- Base URL: `https://composal.com` (the document declares no server; this is the origin it was published from)
- URL: `https://composal.com/api/v1/agent/roder/session`
- Auth: HTTP bearer

## Request body

- AgentRoderSessionPayload
  - `organization_id` string, required
  - `repository_slug` string, nullable
  - `github_repository` string, nullable: Internal operator access to an explicit owner/name connected to this organization. Uses GitHub authentication directly for the normal coding workspace.
  - `session_purpose` 'coding' | 'browser_setup' | 'onboarding'
  - `checkpoint_handoff` object
    - `organization_slug` string, required
    - `repository_slug` string, required
    - `change_id` string, required
    - `expected_commit_id` string, required
    - `agent_checkpoint_id` string, required
    - `purpose` 'ask_why' | 'continue', required
    - `max_bytes` integer, required

## Response `200`

Roder browser session

- AgentRoderSession
  - `repository_slug` string, nullable, required
  - `session_purpose` 'coding' | 'browser_setup' | 'onboarding', required
  - `browser_collaboration_version` 0 | 1, required
  - `ws_url` string, required
  - `token` string, required
  - `expires_at` string, date-time, required
  - `expires_in_seconds` integer, required: Remaining capability lifetime measured by the server when the response was created.
  - `workspace_dir` string, required: Compatibility root used to establish the SDK connection. workspace/list is authoritative for the active workspace.
  - `organization_id` string, required
  - `mcp_token` string, required
  - `model_provider` string, nullable, required
  - `model` string, nullable, required

## Other responses

- `400`: Organization is required
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Organization not found
- `422`: Checkpoint handoff context is unavailable
- `502`: Bad gateway

---

[API](https://skmtc.dev/composal/apis/vex-api.md) - [All operations](https://skmtc.dev/composal/apis/vex-api/llms.txt) - [OpenAPI document](https://skmtc.dev/composal/apis/vex-api/revisions/74298a24e040?raw)
