Croncool

by Unknown

Not rated
Website

About

Inspect scheduled jobs, runs, durable workflows, and webhook health; run one confirmed job.

Details

Author
Unknown
Categories
Developer Tools

Drive your scheduled jobs from your own code: a REST API with scoped keys and per-key rate limits, the full execution history of every run, and signed webhooks when something happens.

The Cron REST API lets your own backend do everything the dashboard does with your scheduled jobs: create and edit them, run one immediately, and read what happened on every past run.

Open your project in the Cron dashboard and create an API key under API keys. The secret is shown once, when the key is created, and never again — store it somewhere safe. A key belongs to a single project, so the project is implied by the key and never has to be sent.

Authenticate every request with HTTP Basic auth carrying only the key secret, base64-encoded, in the Authorization header.

# The Authorization header is HTTP Basic auth carrying only the key secret, # with no username and no colon. Authorization: Basic $(printf %s YOUR_API_KEY_SECRET | base64)

Every endpoint lives underhttps://api.cron.cool. Requests made with a key are rate limited per key; going over the limit returns 429.

List the jobs of your project, schedule a new one, then read its execution history.

# List the cron jobs of the project the key belongs to curl https://api.cron.cool/api/jobs \ -H "Authorization: Basic $(printf %s YOUR_API_KEY_SECRET | base64)" # Create a job that calls your endpoint every five minutes. # expression is an EventBridge Scheduler expression — rate(5 minutes) or # cron(0/5    ? ), not a five-field unix crontab line. curl -X POST https://api.cron.cool/api/jobs \ -H "Authorization: Basic $(printf %s YOUR_API_KEY_SECRET | base64)" \ -H "Content-Type: application/json" \ -d '{ "name": "warm-cache", "type": "webhook", "expression": "rate(5 minutes)", "url": "https://example.com/warm-cache", "httpMethod": "POST", "contentType": "application/json", "input": { "reason": "scheduled warm-up" } }' # Read the last executions of that job curl https://api.cron.cool/api/jobs/JOB_ID/executions?limit=20 \ -H "Authorization: Basic $(printf %s YOUR_API_KEY_SECRET | base64)"

Browse the full API reference— every endpoint with its parameters, request body, responses and required scope.

The same projects, jobs and execution status are available from your terminal through the croncool CLI. Install it globally with npm, or run it ad hoc with npx.

The CLI is open source atgithub.com/croncool/cliand published ascroncool on npm. Run any command with --help to see its options.

Each key carries a list of scopes, so an integration that only needs to watch your jobs never gets the ability to change them. New keys start read-only; widen them explicitly in the dashboard. A request whose key is missing the scope an endpoint requires is refused with 403.

- jobs:readList your cron jobs and read a single job.
- jobs:writeCreate, update and delete jobs, and run one on demand.
- executions:readRead a job's execution history.
- workflows:readRead hosted workflow runs, steps, events and hooks.
- workflows:writeCreate workflow events, enqueue and dispatch work, cancel and replay runs.

The workflows:read and workflows:write scopes gate the endpoints the hosted workflow runtime calls on your behalf. The reference at /api/ covers the job and webhook subscription endpoints you call yourself; the workflow endpoints are not part of it.

Croncool’s remote MCP connector lets an assistant inspect the projects, jobs, executions, durable workflows and webhook delivery health already available to your signed-in organization. Add the same production URL in any host that supports remote MCP over HTTP:

Choose the host’s option to add a custom connector or MCP server, paste that URL, then complete Croncool’s OAuth sign-in and consent screen. Never paste an API key into a conversation. OAuth keeps every call inside the organization and scopes approved for that signed-in account.

- list_projectsFind accessible projects and their exact ids.
- list_jobsPage through safe job schedules and target origins within the authenticated organization.
- get_jobInspect one job’s schedule, method, target origin and latest status.
- get_job_runsReview bounded execution status, HTTP code, duration and time metadata.
- list_workflowsSummarize hosted workflow run counts for an exact project.
- list_workflow_runsPage through safe workflow status and timing metadata.
- get_workflow_runInspect one workflow run and a bounded step trace without payloads.
- list_webhook_subscriptionsAudit endpoint origins, event filters and delivery health without secrets.
- show_project_overviewRender a bounded project and job overview in compatible MCP hosts.
- run_jobRun one existing job now after explicit confirmation; every call can cause real downstream effects.

Connector results use field-by-field allowlists. Job request inputs, target URL userinfo, paths, queries and fragments, execution response bodies and errors, workflow inputs and outputs, webhook endpoint paths and queries, signing secrets, credentials, tokens and organization ownership fields are never model-visible. Target and webhook destinations are reduced to their HTTP or HTTPS origin.

run_job is the only state-changing connector tool. It invokes the request already configured on one exact job. That downstream service can write data, send messages, charge for work or trigger another third party. Croncool does not add an idempotency key or application timeout, so the outcome can be unknown after a transport timeout and repeating the call can duplicate effects. The assistant must first show the exact job and target origin, ask for explicit confirmation, invoke it once, and use get_job_runs to check the recorded outcome instead of retrying automatically.

- “List my Croncool projects and show the first project overview.”
- “Show failed runs of the nightly-sync workflow in this project, then inspect the newest failure.”
- “Audit my webhook subscriptions and flag any disabled after repeated delivery failures.”

Croncool ships Agent Skills — guides following theagentskills.io standardthat teach coding agents how to inspect and operate scheduled jobs with the croncool CLI and the MCP connector, instead of guessing at commands and tools.

# Install the Croncool skills into your coding agent npx skills add croncool/skills

One command installs the skills into Claude Code, Cursor, Codex, Gemini CLI and any other agent that follows the Skills standard. The CLI also bundles the same guides, version-matched to the commands it ships:croncool skills get <name>prints one on demand.

The skills are open source atgithub.com/croncool/skills. Claude users can also install the Croncool Claude plugin, which bundles the connector together with the skills:github.com/croncool/claude-plugin.

Add a webhook subscription to your project and Cron POSTs the events you picked to your server as they happen.

- job.createdA job was created.
- job.updatedA job was edited, paused or resumed.
- job.deletedA job was deleted.
- job.executedA job ran; the payload is the execution, with its status, http status, duration and truncated response body.

POST https://your-server.com/cron-webhook { "event": "job.executed", "timestamp": 1719000000, "data": { "...": "..." } }

Every delivery carries an X-Croncool-Signature header of the form t=timestamp,v1=signature, where the signature is an HMAC-SHA256 of timestamp.body keyed by the subscription secret shown to you once when the subscription was created. Recompute it over the raw body and compare before trusting the payload.

import crypto from 'node:crypto' // body must be the RAW request body, byte for byte function verify(header, body, secret) { const [t, v1] = (header || '').split(',').map(part => part.split('=')[1]) if (!t || !v1) return false const expected = crypto .createHmac('sha256', secret) .update(\${t}.${body}\) .digest('hex') // timingSafeEqual throws on a length mismatch, so a malformed signature // has to be rejected before the comparison rather than by it. if (v1.length !== expected.length) return false return crypto.timingSafeEqual(Buffer.from(v1), Buffer.from(expected)) }

Delivery is one best-effort attempt with a five second timeout and no retries, so respond 2xx quickly and do the work asynchronously. An endpoint that fails twenty times in a row is disabled automatically and has to be re-enabled in the dashboard.

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Create crafted UI components inspired by the best 21st.dev design engineers.

Bring agent evaluations, observability, and synthetic test set generation directly into your IDE for free with Galileo's new MCP server

An MCP server to help AI assistants to answer questions and generate AccelByte Extend SDK code more effectively .

MCP server for AI Diagram Maker — generate beautiful software engineering diagrams directly inside Cursor, Claude Desktop, Claude Code, or any MCP-compatible AI agent

ALAPI MCP Tools,Call hundreds of API interfaces via MCP

AI-powered SVG animation generator that transforms static files into animated SVG components using the Allyson platform

MCP server that gives AI assistants on-demand access to 1,500+ amCharts docs, ~300 code examples, and 1000+ class API references.

APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMatic’s API.

One shared context layer for AI agents and humans — live API specs, DB schemas, and versioned contracts across repos so every agent and teammate works from the same source of truth.

Build and deploy full-stack Next.js apps with 98 tools for React, AWS, and MongoDB

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.