Run a scheduled job now
run_site_cron
Fires one scheduled job on a site immediately, without waiting for its schedule.
It runs even when the job is switched off, and it does whatever the job is configured to do, including calling external URLs, so the tool tells the client to run it only when you ask.
If the job is already running, nothing starts and the call is refused with This cron is already running. Try again once it finishes! Otherwise the call succeeds whether the request itself succeeded or failed, with the outcome in the returned run status. A run started by hand is recorded in the history without moving the job's last run or its failure count. See Scheduled jobs.
Request
Call it with a POST to https://api.modulify.ai/v1/run_site_cron, sending the inputs below as a JSON object. The token needs the config:write scope.
It makes changes, so send an Idempotency-Key header whenever you might retry it. A retry with the same key gets the first answer back instead of running again.
curl -X POST https://api.modulify.ai/v1/run_site_cron \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"projectId":"PROJECT_ID","cronId":"CRON_ID"}'Over MCP, the same method is the run_site_cron tool.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
projectId |
string | Yes | The site id. |
cronId |
string | Yes | The job to run. |
Response
Every call answers with the JSON envelope of success, message, data, code and version. data holds the result described above, and on a method that returns a total, count carries it. The response headers carry the call's X-Request-Id and what is left of your per-minute budget in X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Errors explains every status code a call can answer with.