Commands
The Commands operations of the Hub REST API (3 operations).
bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
workspaceId?stringCommands
application/json- response
[index: integer]?curl -X GET 'https://pod.example.com/api/hub/commands'[ { "id": "string", "workspaceId": "string", "name": "string", "description": "string", "triggerSlug": "string", "skillId": "string", "config": { "property1": null, "property2": null }, "createdAt": "string", "updatedAt": "string", "property1": null, "property2": null }]bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
id*stringCommand
application/json- response
id*stringworkspaceId?string|nullname*stringdescription?string|nulltriggerSlug?string|nullskillId?string|nullconfig?createdAt?string|updatedAt?string|[key: string]?unknowncurl -X GET 'https://pod.example.com/api/hub/commands/string'{ "id": "string", "workspaceId": "string", "name": "string", "description": "string", "triggerSlug": "string", "skillId": "string", "config": { "property1": null, "property2": null }, "createdAt": "string", "updatedAt": "string", "property1": null, "property2": null}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
application/json- body
command*stringShell-compatible command line. Subject to BLOCKED_COMMAND_PATTERNS.
workingDir?stringOptional working directory. Path traversal and sensitive system dirs are rejected.
timeoutMs?numberDefaults to 30s. Hard-capped at 5 minutes.
userId?stringworkspaceId?stringWorkspace context. When set, rate-limit (10/min) applies and an event is emitted on completion.
agentUserId?stringsourceMessageId?stringreason?stringHuman-readable reason — included in proposal payload when one is created.
Execution result, proposal, or denial
application/json- response
status*string"executed""proposed""denied"stdout?stringstderr?stringexitCode?numberproposalId?stringsummary?stringreasoning?stringreviewPath?stringreviewUrl?stringmessage?stringcurl -X POST 'https://pod.example.com/api/hub/commands/execute' \ -H 'Content-Type: application/json' \ -d '{ "command": "string"}'{ "status": "executed", "stdout": "string", "stderr": "string", "exitCode": 0, "proposalId": "string", "summary": "string", "reasoning": "string", "reviewPath": "string", "reviewUrl": "string", "message": "string"}