Runs
Set up
Section titled “Set up”npm install @reminix/sdkimport { createClient } from "@reminix/sdk";
const reminix = createClient(); // reads REMINIX_API_KEYpip install reminixfrom reminix import Reminix
reminix = Reminix() # reads REMINIX_API_KEYnpm install -g @reminix/clireminix loginexport REMINIX_API_KEY="<your API key>"Run a script
Section titled “Run a script”POST /v1/scripts/{slug}/runs
Runs the script’s PUBLISHED version with these inputs and answers when it finishes, with its output (or error).
await reminix.runs.create("unlock-account");reminix.runs.create("unlock-account")reminix run <slug>, short for:
reminix runs create unlock-accountcurl -X POST "https://api.reminix.com/v1/scripts/unlock-account/runs" \ -H "Authorization: Bearer $REMINIX_API_KEY" \ -H "Content-Type: application/json" \ -d '{}'| Field | Description |
|---|---|
slug | |
inputs | The script's inputs, by name. Default: none. |
via | How it was started (for the history). Default: api; agents' runs are recorded as mcp. |
More about this endpoint
The inputs are checked against the version’s input schema first — a mismatch is a 400 with one details entry per field. A file input takes a file id (upload it with files.create first, or pass another run’s output) or an https link Reminix fetches. The script runs in its own container, reaching only the hosts its version declares, for at most 30 seconds — a script whose timeout is longer runs durably and answers 202 at once. Every run counts toward the workspace’s runs usage.
List runs
Section titled “List runs”GET /v1/runs
The workspace’s runs, newest first — of one script with ?script=<slug>.
await reminix.runs.list();reminix.runs.list()reminix runs listcurl -X GET "https://api.reminix.com/v1/runs" \ -H "Authorization: Bearer $REMINIX_API_KEY"| Field | Description |
|---|---|
limit | Items per page, 1–100 (default 25). |
cursor | Opaque token from a previous page's nextCursor. |
script | Only this script's runs (its slug). |
More about this endpoint
Paginate with the opaque nextCursor token.
Get a run
Section titled “Get a run”GET /v1/runs/{runId}
One run: its inputs, status, output or error, who started it and how, and its files — given to it and written by it — with download links.
await reminix.runs.get("<run-id>");reminix.runs.get("<run-id>")reminix runs get '<run-id>'curl -X GET "https://api.reminix.com/v1/runs/<run-id>" \ -H "Authorization: Bearer $REMINIX_API_KEY"| Field | Description |
|---|---|
runId |
Cancel a run
Section titled “Cancel a run”POST /v1/runs/{runId}/cancel
Stops a LONG run that is still running: its code stops and the run ends cancelled.
await reminix.runs.cancel("<run-id>");reminix.runs.cancel("<run-id>")reminix runs cancel '<run-id>'curl -X POST "https://api.reminix.com/v1/runs/<run-id>/cancel" \ -H "Authorization: Bearer $REMINIX_API_KEY"| Field | Description |
|---|---|
runId |
More about this endpoint
For the person who started it, the script’s owner, or an owner or admin.
Get a run’s log
Section titled “Get a run’s log”GET /v1/runs/{runId}/logs
What the script wrote to standard error, line by line, with a line per request it made.
await reminix.runs.logs("<run-id>");reminix.runs.logs("<run-id>")reminix runs logs '<run-id>'curl -X GET "https://api.reminix.com/v1/runs/<run-id>/logs" \ -H "Authorization: Bearer $REMINIX_API_KEY"| Field | Description |
|---|---|
runId |