Modulify

List scheduled job runs

list_site_cron_runs

Lists recent runs of the scheduled jobs on a site, newest first, 25 to a page.

POST /v1/list_site_cron_runsScopeconfig:readRead only

The response carries nextCursor. Pass it back as cursor for the next page, and it is null once there is nothing more. This is the tool to reach for when you want to know why a job did not fire or what it returned.

Runs are kept for 30 days, and runs hidden with delete_site_cron_run or clear_site_cron_runs no longer appear. A deploy hook token inside a URL comes back as mdh_<redacted>, because that URL can publish the site, and reading it needs get_deploy_hook_url. See Scheduled jobs.

Request

Call it with a POST to https://api.modulify.ai/v1/list_site_cron_runs, sending the inputs below as a JSON object. The token needs the config:read scope.

It only reads and changes nothing, so retrying it is safe.

curl -X POST https://api.modulify.ai/v1/list_site_cron_runs \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"projectId":"PROJECT_ID"}'

Over MCP, the same method is the list_site_cron_runs tool.

Inputs

Input Type Required Description
projectId string Yes The site id.
cronId string No Only runs of this one job, by its id from list_site_crons. Leave it out for the runs of every job on the site.
status string No Which runs to keep, all, success, failure, or manual for the runs someone triggered by hand rather than on the schedule. Defaults to all.
sort string No newest first, the default, or oldest to walk the history forwards from the beginning.
cursor string No The nextCursor from the previous page. Leave it out for the first page.

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.