Schedules & Webhooks
Cron-driven sandbox runs with webhook delivery, HMAC-signed and redeliverable.
A schedule creates sandboxes on a cron, for nightly pipelines, morning briefs, and periodic evals. Each fire runs a real create with the stored sandbox options, billed to the credential that registered the schedule. A failed run never retries; the next cron occurrence is the retry.
import { Schedules } from "@corevelos/sdk";
const schedules = new Schedules(client);
const job = await schedules.create({
name: "nightly-summarize",
cron: "0 2 * * *",
sandbox: { template: "corevelos-data-science", timeoutSeconds: 3600 },
});cron is five UTC fields. The response includes the next fire. List, read,
update, pause, and delete schedules through the same module or the console.
Webhooks
Creating a schedule requires at least one registered webhook endpoint for your subject: a fire that fails silently is the one outcome the platform refuses to allow. Register each URL with the events it should receive:
import { Webhooks, verifyWebhookSignature } from "@corevelos/sdk";
const webhooks = new Webhooks(client);
const endpoint = await webhooks.create({
url: "https://your-app.example.com/hooks/corevelos",
events: ["schedule.fired", "schedule.failed"],
});The signing secret is shown once at creation; store it now, since a lost secret
is recovered only by rotation. Verify every delivery with
verifyWebhookSignature, list past deliveries, and redeliver any event that
your endpoint missed.