Schedule recurring repository scans
Scheduled scans run a Smart or Deep scan for a selected repository and branch on a recurring cadence. Open Scans → Scheduled Scans from the dashboard.
Create a schedule
- Select New Schedule.
- Choose the repository and branch.
- Choose a frequency and scan type.
- Review the Plan impact estimate.
- Select Create.
Schedule times use the organization timezone configured in Settings. CodeStax calculates the next run in that timezone and stores it as UTC.
Scheduled scan availability, minimum frequency, and projected units depend on your plan. Deep scans have a higher schedule weight than Smart scans when the plan budget is calculated.
Only one recurring schedule can exist for the same repository and branch. Use another branch or edit the existing schedule if CodeStax reports a duplicate.
Pause, edit, or delete a schedule
Use the actions beside a schedule to:
- Pause or resume future runs
- Change its cadence, branch, or scan type
- Delete the schedule
Expanding a schedule shows recent executions, including status, scan link, issues found, duration, and any failure message.
Use the API
# Estimate plan usage before creating a schedule
$ curl -X POST https://codestax.co/api/scheduled-scans/estimate \
-H "Authorization: Bearer <jwt>" \
-H "Content-Type: application/json" \
-d '{"cron_expression":"0 9 * * 1","scan_type":"smart","is_active":true}'
# Create a weekly Smart scan
$ curl -X POST https://codestax.co/api/scheduled-scans \
-H "Authorization: Bearer <jwt>" \
-H "Content-Type: application/json" \
-d '{"repo_id":<repo_id>,"trigger_branch":"main","cron_expression":"0 9 * * 1","scan_type":"smart","is_active":true}'Use GET /api/scheduled-scans/{schedule_id}/history to retrieve recent executions, POST /api/scheduled-scans/{schedule_id}/toggle to pause or resume, and DELETE /api/scheduled-scans/{schedule_id} to remove the schedule.
These scheduling routes currently require an authenticated human session token. Organization API keys are not accepted on this route family.
For dependency-only schedules inside the SCA workspace, see Schedule dependency scans.