Runs
A run is one execution of a script’s published version. Reminix records every run: its inputs, the version it used, and who started it from where (the app, the API, the command line or an agent). It also records how the run ended, its output or error, and its log.
Running a script
Section titled “Running a script”In the app, open the script, fill in its form and click Run.
From the command line, reminix scripts run <slug> --input '<json>'.
Agents connected through the MCP server see a tool for
each published script, named after it (refund_customer). Through the API, with a key or
token that has runs:write:
curl -X POST https://api.reminix.com/v1/scripts/refund-customer/runs \ -H "Authorization: Bearer $REMINIX_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "orderId": "o_123" } }'The answer comes when the run finishes:
{ "id": "run_7b1a…", "script": { "id": "cap_3f0c…", "slug": "refund-customer" }, "version": 3, "status": "succeeded", "inputs": { "orderId": "o_123" }, "output": { "refunded": "o_123" }, "error": null, "interface": "api", "logLines": 1, "durationMs": 42}A run that throws ends with "status": "failed" and its error. That’s
still a 200, because the run happened. Read what it logged with
GET /v1/runs/{id}/logs.
Reminix checks inputs first
Section titled “Reminix checks inputs first”The inputs must match the version’s inputSchema. If they don’t, the
run doesn’t start, and you get 400 invalid_request with one entry per
problem in details:
{ "error": { "code": "invalid_request", "message": "The inputs do not match the script's input schema", "details": [ { "path": "/orderId", "message": "Instance type \"number\" is invalid. Expected \"string\"." } ] }}Where the code runs
Section titled “Where the code runs”Each version runs in its own sandbox, with no access to other
scripts or to your workspace, only its inputs. It has no network
access unless its version declares hosts. Then it can reach only
those, over HTTPS, at most 50 requests a run, with its secrets attached
by Reminix (Scripts → Calling APIs).
Every request appears in the run’s log.
A run can take up to 30 seconds. On Team and Business, a script can ask for longer: see Long runs.
If a run can’t use one of its secrets, it fails before it starts and says why. The secret may not be set, may not be allowed to go to that host, or may not be readable by code.
History and usage
Section titled “History and usage”GET /v1/runs lists runs, newest first (add ?script=<slug> for
one script). GET /v1/runs/{id} reads one.
Every run counts toward your plan’s runs for the month: 1,000 on Free,
10,000 on Team, 100,000 on Business. Reminix counts a run when it starts, and never counts one it refuses. Past the limit, Reminix refuses a new run with
402 plan_limit_reached until the month resets or you upgrade. See
Plans and limits.
Webhook events: run.completed and run.failed, and
script.published when a new version goes live.