Runs
A run is one execution of a capability’s published version. Every run is recorded: its inputs, the version it used, who started it and through what (the app, the API, the CLI or an agent), how it ended, its output or error, and its log.
Running a capability
Section titled “Running a capability”In the app, open the capability, fill in its form and click Run. From
the command line, reminix capabilities run <slug> --input '<json>'.
Agents connected through the MCP server see a tool per
published capability, run_<slug>. Through the API, with a key or token
holding runs:write:
curl -X POST https://api.reminix.com/v1/capabilities/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…", "capability": { "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 is "status": "failed" with its error — still 200,
because the run happened. Read what it logged with
GET /v1/runs/{id}/logs.
Inputs are checked first
Section titled “Inputs are checked first”The inputs must match the version’s inputSchema. When they do not, the
run does not start: 400 invalid_request with one entry per problem in
details:
{ "error": { "code": "invalid_request", "message": "The inputs do not match the capability'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 isolate, with no access to other
capabilities or to your workspace — only its inputs. It has no network
access unless its version declares hosts, and then it reaches only
those, over HTTPS, at most 50 requests a run, with its secrets attached
by Reminix (Capabilities → Calling APIs).
Every request appears in the run’s log. A run may use up to 30 seconds;
longer runs fail with a time-out.
A run whose secrets cannot be used — one is not set, may not be sent to that host, or may not be read by code — fails before it starts, and the run says why.
History and usage
Section titled “History and usage”GET /v1/runs lists runs, newest first (?capability=<slug> for one
capability); GET /v1/runs/{id} reads one. Every run counts toward your
workspace’s runs usage (the Free plan includes 1,000 runs a month).
Webhook events: run.completed, run.failed, and
capability.published when a new version goes live.