shell
Operations of the Xema Shell API. Paths are relative to your deployment's API host.
GET /api/xema-shell-api/shell/help
List the Shell command catalog (public, no auth)
Returns every built-in Shell command descriptor straight from the in-process registry so a pre-login browser visitor can render help/login guidance. No authentication, no capability dispatch.
Authentication: none
| Status | Description | Body |
|---|---|---|
| 200 | application/json ShellHelpListResponseDtoDataEnvelope |
GET /api/xema-shell-api/shell/help/{command}
Get a single Shell command descriptor (public, no auth)
Returns one command descriptor from the in-process registry. Responds 404 when no command with that name is registered.
Authentication: none
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
command | path | string | yes | The command name to describe. |
| Status | Description | Body |
|---|---|---|
| 200 | application/json ShellHelpCommandResponseDtoDataEnvelope |
POST /api/xema-shell-api/shell/parse
Parse a Shell command without dispatching
Runs only the structural verb-noun parser. Returns the same ParsedCommand the dispatcher would consume.
Authentication: bearer token (Authorization: Bearer <token>)
Request body: application/json ShellRunRequestDto
| Status | Description | Body |
|---|---|---|
| 200 | application/json ShellParseResponseDtoDataEnvelope |
POST /api/xema-shell-api/shell/run
Execute a Shell command
Parses argv, looks up the command descriptor, dispatches through xema-capability-router, and returns the structured result.
Authentication: bearer token (Authorization: Bearer <token>)
Request body: application/json ShellRunRequestDto
| Status | Description | Body |
|---|---|---|
| 200 | application/json ShellRunResponseDtoDataEnvelope |
GET /api/xema-shell-api/shell/ws
Shell WebSocket endpoint (upgrade required)
Interactive Shell session transport. Clients must open it with a WebSocket upgrade carrying the bearer as the second subprotocol (xema-shell.v1, <token>); a plain HTTP GET is answered 426. Declared here so the path is part of this service's public surface — public-gateway-api derives its browser allow-list from this document and refuses any upgrade to a path that is absent from it.
Authentication: bearer token (Authorization: Bearer <token>)
| Status | Description | Body |
|---|---|---|
| 426 | This endpoint speaks WebSocket; open it with an upgrade. |