Skip to content

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.

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:

Terminal window
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.

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\"."
}
]
}
}

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.

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.