Hunt Scheduling and Cadence Controls

Configure automated, recurring hunt execution against defined targets using daily, weekly, or monthly schedules.

Hunt scheduling lets you define a recurring assessment cadence so Guard automatically launches hunts on your behalf — no manual intervention required. Each schedule associates a target asset with a hunt capability (Hannibal or Constantine) and a cadence, and is stored as a per-tenant setting giving each team independent control.

Overview

Attribute

Details

Capabilities supported

Hannibal, Constantine

Cadences

Daily, Weekly, Monthly

Schedule timezone

UTC

Scope

Per-tenant

Creating a hunt schedule

Via the AI Budget wizard

When a hunts budget allocation is configured, a Hunt scheduling step appears in the AI spend configuration wizard. This is the recommended path for teams that want to tie budget directly to an automated cadence.

  1. Open Settings → AI Budget and start the budget configuration wizard.
  2. Set a budget allocation for hunts. The Hunt scheduling step becomes available once a hunts allocation is saved.
  3. In the Hunt scheduling step, select:
    • Target — the asset or asset group the hunt will run against.
    • Capability — Hannibal or Constantine.
    • Cadence — Daily, Weekly, or Monthly.
    • Day / Time (UTC) — (optional) the specific day and time within the cadence window.
  4. Save the schedule. Guard will begin running hunts automatically at the configured cadence.

Via the API

Use the hunt schedules API to create and manage schedules programmatically.

List schedules

GET /hunt/schedules

Returns all schedules configured for the authenticated tenant.

Create a schedule

POST /hunt/schedules

Request body fields:

Field

Type

Required

Description

target

string

Yes

Asset or asset group identifier to hunt against.

capability

string

Yes

hannibal or constantine.

cadence

string

Yes

daily, weekly, or monthly.

day

string/integer

No

Day of the week or month for the run (UTC).

time

string

No

Time of day in HH:MM format (UTC).

prompt

string

No

Custom prompt used when auto-creating hunts.

Update a schedule

PUT /hunt/schedules/{id}

Replace any fields on an existing schedule. The schedule ID is returned by GET /hunt/schedules or by the POST response.

Delete a schedule

DELETE /hunt/schedules/{id}

Permanently removes the schedule. Hunts already in progress are not affected.

Per-tenant configurability

Each schedule is stored as a tenant setting. Schedules created by one tenant are not visible to or executable by other tenants. This means:

  • Different teams can run Hannibal against one set of targets while running Constantine against another, each on independent cadences.
  • A custom prompt can be attached to a schedule, controlling the instructions used when Guard auto-creates each hunt run.

Behavior and expectations

  • Guard creates a new hunt at the start of each scheduled window. If a previous hunt for the same schedule is still running, behavior follows the capability's standard concurrency rules.
  • All times are interpreted as UTC. Ensure day and time values account for your local timezone offset.
  • Disabling or removing a budget allocation does not automatically delete associated schedules; delete schedules explicitly via the wizard or the DELETE endpoint if they are no longer needed.
  • Hunt results from scheduled runs appear in the standard hunts view and are subject to the same AI budget accounting as manually launched hunts.