Scheduled Endpoints
Any Wrapd endpoint can be configured with a cron schedule. Scheduled endpoints run automatically at the specified times while still remaining callable on demand via the API.
The schedule field
Section titled “The schedule field”Add a schedule field to an endpoint with a standard 5-field cron expression:
version: 1endpoints: - name: db-backup method: POST command: /ops/backup.sh timeout: 300 schedule: "0 2 * * *" # daily at 2:00 AM UTCAll schedules run in UTC. The cron expression follows the standard 5-field format:
minute hour day-of-month month day-of-week 0 2 * * *Setting schedules
Section titled “Setting schedules”From wrapd.yaml
Section titled “From wrapd.yaml”Add the schedule field directly to an endpoint definition:
endpoints: - name: cleanup method: POST command: ./cleanup.sh schedule: "*/5 * * * *"From the dashboard
Section titled “From the dashboard”Open the endpoint detail sidebar and enter a cron expression in the Schedule field. Click Save. The schedule takes effect on the agent’s next config refresh.
Schedule is additive
Section titled “Schedule is additive”A scheduled endpoint is not limited to automatic runs. It remains callable via the API at any time, just like a regular endpoint. The schedule simply adds automatic execution on top of the normal HTTP trigger.
# Still works, regardless of schedulecurl -X POST https://api.wrapd.sh/v1/yourname/db-backup \ -H "X-API-Key: YOUR_KEY"Both scheduled and manual executions count toward your monthly execution quota.
Offline behavior
Section titled “Offline behavior”If the agent is offline when a scheduled run is due to fire, the run is missed. Wrapd does not queue or retry missed runs. The missed execution is logged in the dashboard with a missed status so you can see what was skipped.
When the agent comes back online, the schedule resumes from the next fire time. There is no catch-up execution for runs missed during downtime.
Pause and resume
Section titled “Pause and resume”You can pause a schedule from the dashboard without removing it. In the endpoint detail sidebar, toggle the Pause switch next to the schedule. While paused:
- The cron expression is preserved but no automatic runs are triggered
- The endpoint is still callable manually via the API
- Resuming restarts the schedule from the next fire time
Tier limits
Section titled “Tier limits”Scheduled endpoints are available on paid plans:
| Plan | Scheduled endpoints |
|---|---|
| Free | 0 |
| Pro | 3 |
| Team | Unlimited |
If you exceed your plan’s limit, the agent logs a warning and ignores schedules beyond the cap. Upgrade your plan from Settings in the dashboard.
Common schedule examples
Section titled “Common schedule examples”| Expression | Meaning |
|---|---|
*/5 * * * * | Every 5 minutes |
0 * * * * | Every hour, on the hour |
0 2 * * * | Daily at 2:00 AM UTC |
30 9 * * 1-5 | Every weekday at 9:30 AM UTC |
0 0 * * 0 | Every Sunday at midnight UTC |
0 6,18 * * * | Twice daily at 6:00 AM and 6:00 PM UTC |
0 0 1 * * | First day of every month at midnight UTC |
Cron expression reference
Section titled “Cron expression reference”A cron expression has five fields separated by spaces:
| Field | Allowed values | Special characters |
|---|---|---|
| Minute | 0-59 | * , - / |
| Hour | 0-23 | * , - / |
| Day of month | 1-31 | * , - / |
| Month | 1-12 | * , - / |
| Day of week | 0-6 (0 = Sunday) | * , - / |
Special characters:
*— matches all values,— list separator (e.g.1,15means the 1st and 15th)-— range (e.g.1-5means 1 through 5)/— step (e.g.*/10means every 10 units)