---
title: "Start shell connection"
method: POST
path: "/shell/start"
---

# Start shell connection

`POST /shell/start`

## Request

- Base URL: `http://localhost:21721`
- URL: `http://localhost:21721/shell/start`
- Auth: HTTP bearer

Starts a new shell session for a connection. If an existing shell session is already running for that connection, this operation will do nothing.

Note that there are a variety of possible errors that can occur here when establishing the shell connection.
These errors will be returned with the HTTP return code 500.

## Request body

- ShellStartRequest
  - `store` string, required: The store uuid

## Response `200`

The operation was successful. The shell session was started.

- ShellStartResponse
  - `shellDialect` integer, required: The shell dialect
  - `osType` string, required: The general type of operating system
  - `osName` string, required: The display name of the operating system
  - `ttyState` string: Whether a tty/pty has been allocated for the connection. If allocated, input and output will be unreliable. It is not recommended to use a shell connection then.
  - `temp` string, required: The location of the temporary directory

## Other responses

- `400`: Bad request. Please check error message and your parameters.
- `401`: Authorization failed. Please supply a `Bearer` token via the `Authorization` header.
- `403`: Authorization failed. Please supply a valid `Bearer` token via the `Authorization` header.
- `500`: Internal error.

---

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