---
title: "Run ad-hoc command on sprouts"
method: POST
path: "/api/v1/cmd"
tags: ["cmd"]
---

# Run ad-hoc command on sprouts

`POST /api/v1/cmd`

Execute a command on one or more targeted sprouts.
The request body is a `TargetedAction` with a `CmdRun` action
payload containing the command, arguments, working directory,
optional runas user, environment variables, and timeout.

## Request body

- TargetedAction — A targeted action request containing a list of sprout targets and an action payload. Used by cook, cmd.run, and test.ping endpoints.
  - `target` object[], required — List of sprouts to target
    - `id` string, required — Sprout identifier
  - `action` unknown, required

## Response `200`

Command results per sprout

- NATSEnvelope — Standard NATS proxy response envelope. On success, `result` contains the response data. On error, `error` contains a message string.
  - `result` unknown
  - `error` string — Error message (present only on failure)

## Other responses

- `400` — Invalid request body
- `502` — NATS communication error — farmer unreachable or returned an error

---

[API](https://skmtc.dev/gogrlx/apis/grlx-cli-api.md) · [All operations](https://skmtc.dev/gogrlx/apis/grlx-cli-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/gogrlx/grlx-cli-api/revisions/f88a30dcb10f/schema)
