Cron for HTTP, with a record of what actually ran.
A cron expression, a timezone, and an HTTP request. Each occurrence creates an ordinary job with its own attempts. Missed occurrences are skipped, not backfilled.
test
Nightly reconciliation
sch_2d71 · 0 2 * * * · Europe/Berlin
- target
- POST /reconcile
- missed ticks
- skip, not backfill
Occurrences
Not an in-process timer. The schedule survives deploys and restarts. Next fire: 02:00.
What it does
Real product states, not a promise.
A cron expression, a timezone, and an HTTP request. Each occurrence creates an ordinary job with its own attempts. Missed occurrences are skipped, not backfilled.
- Five-field cron with an IANA timezone
- Survives deploys and restarts
- Each occurrence is an inspectable job
- Pause without losing history
Input
Cron, timezone, and an HTTP request
Output
A durable schedule and the jobs it creates
Where it fits
Where it fits
01
Nightly reconciliation
02
Periodic syncs
03
Waking an agent on a timetable
API example
One request.
POST /v1/schedules. Use an idempotency key on create calls. The full request and response contract is in Flowyn Docs.
POSThttps://api.flowyn.dev/v1/schedules200
curl -X POST https://api.flowyn.dev/v1/schedules \
-H "Authorization: Bearer flw_test_••••" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: nightly-report" \
-d '{
"name": "Nightly report",
"cron": "0 2 * * *",
"timezone": "Europe/Berlin",
"method": "POST",
"url": "https://api.example.com/reports/nightly"
}'Related capabilities
Frequently asked questions
Where is the exact request contract for Scheduled Jobs?
In Flowyn Docs and the OpenAPI document at https://api.flowyn.dev/openapi/v1.yaml. This page shows the request; the docs page lists every field, status value, error, and limit.
Is execution exactly once?
No. Execution is at-least-once. Send an Idempotency-Key on create; every outbound attempt carries Idempotency-Key set to the job id so the destination can deduplicate.
What happens to missed schedule occurrences?
They are skipped, not backfilled. Each occurrence that runs creates an ordinary job with its own attempts.
Build with Scheduled Jobs.
Create a workspace, make your first call in the test environment, and inspect every attempt.
