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

StatusDescriptionBody
200application/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

ParameterInTypeRequiredDescription
commandpathstringyesThe command name to describe.
StatusDescriptionBody
200application/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

StatusDescriptionBody
200application/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

StatusDescriptionBody
200application/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>)

StatusDescriptionBody
426This endpoint speaks WebSocket; open it with an upgrade.