---
title: "Create a direct WebSocket SSH session"
method: POST
path: "/api/v0beta1/rigs/{id}/ssh-sessions"
tags: ["Sandboxes"]
---

# Create a direct WebSocket SSH session

`POST /api/v0beta1/rigs/{id}/ssh-sessions`

## Request

- Base URL: `https://app.amika.dev` (the document declares no server; this is the origin it was published from)
- URL: `https://app.amika.dev/api/v0beta1/rigs/{id}/ssh-sessions`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `wos-session`

## Path parameters

- `id` string, required

## Query parameters

- `sandbox_by` 'name' | 'id' | 'ref' | 'name_or_id': How to interpret the sandbox `{id}` path param: ref/name_or_id (default; matches an id or a name and rejects an ambiguous match with 409 `resource_ref_ambiguous`), name, or id.

## Response `200`

One no-relay SSH transport descriptor.

- DirectWebSocketSshSessionResponse
  - `session_id` string, required
  - `transport` 'direct_ws', required
  - `connect_url` string, uri, required
  - `connect_credential` string, required
  - `sandbox_id` string, required
  - `ssh_user` 'amika', required
  - `host_public_key` string, required

## Other responses

- `400`: Error
- `401`: Error
- `403`: Error
- `404`: Error
- `409`: Error
- `503`: Error

## Changes

- **2026-10-23** `c46868fd7b41`: 1 info
  - added the new optional `query` request parameter `sandbox_by`
- **2026-09-16** `25ba06b40ead`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/amika/apis/amika-api/changes/api/v0beta1/rigs/:id/ssh-sessions/post.md)

---

[API](https://skmtc.dev/amika/apis/amika-api.md) - [All operations](https://skmtc.dev/amika/apis/amika-api/llms.txt) - [OpenAPI document](https://skmtc.dev/amika/apis/amika-api/revisions/86f031a957c1?raw)
