---
title: "Run one of Ranla's commands"
method: POST
path: "/growth/commands"
tags: ["RanlaCommands"]
---

# Run one of Ranla's commands

`POST /growth/commands`

## Request

- Base URL: `https://api.supersendtx.com`
- URL: `https://api.supersendtx.com/growth/commands`
- Auth: HTTP bearer

Runs `<noun> <verb>` with `input`, under the same rules as in the app:
the workspace's roles, the hire for anything that sends or runs on its
own, the command's input schema, and credits for a write. A command
that sends, publishes or spends is not run: it is parked as an approval
card and answered `202` with `pendingApproval`. `help <noun>` returns
that noun's verbs and their input schemas.

## Request body

- RanlaCommandRequest
  - `command` string, required: `<noun> <verb>`, such as `campaign list`, or `help <noun>`.
  - `input` object: The command's fields (see `help <noun>`).
  - `threadId` string: Ranla thread to record it in. Defaults to the workspace's main conversation, where any approval card shows up.

## Response `200`

The command ran (or `help <noun>`)

- union
  - RanlaCommandResult
    - `result` object, required: What the command returned, with `content` as its data.
  - RanlaCommandHelp
    - `noun` string, required
    - `commands` object, required

## Other responses

- `202`: Parked for approval; nothing has changed yet
- `400`: Unknown command or invalid input. The message lists the valid nouns, verbs or fields.
- `401`: Missing or invalid API key
- `402`: Out of credits for a write
- `403`: The workspace role or the hire does not allow it
- `422`: The command refused (its message says why); nothing changed

---

[API](https://skmtc.dev/ranla/apis/supersend-tx-api.md) · [All operations](https://skmtc.dev/ranla/apis/supersend-tx-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ranla/apis/supersend-tx-api/revisions/e3e782652f50?raw)
