Scan Template Form
The Scan Template form creates a new template or edits an existing one. A scan template combines target subnets (or subnet groups, or discovery lists) with port lists (or port list groups) to define what gets scanned and when. Templates are reused by both manual runs (/scans/run) and Schedules (/scans/schedules).
Inputs
| Name | Description | Allowed values | Default |
|---|---|---|---|
Name | Human-readable label for this template | Non-empty string, must be unique across scan templates (e.g., "weekly-perimeter-scan") | — |
Description | Optional free-text note | Any text, max 10,000 characters | Empty |
Subnets | Direct subnet selection — every selected subnet becomes a target | Zero or more from the Subnets list | None |
Subnet Groups | Group selection — every subnet in each selected group becomes a target | Zero or more from the Subnet Groups list | None |
Port Lists | Direct port-list selection | Zero or more from the Port Lists list | None |
Port List Groups | Group selection — every port list in each selected group is included | Zero or more from the Port List Groups list | None |
Discovery Lists | Optional — IPs from external discovery sources (cloud providers, CMDBs) | Zero or more from the Discovery Lists | None |
Gotchas
- The form REQUIRES at least one target source (subnet, subnet group, OR discovery list) AND at least one port source (port list OR port list group). The submit button shows an error if either tier is empty.
- **When creating:** Use the Scan Summary panel above the sections to verify the deduplicated target/port count BEFORE saving. Overlapping subnets and overlapping port lists are deduplicated automatically — what you see in the summary is what gets scanned.
- **When editing:** Removing a target or port source affects FUTURE scans only — historical scan results remain read-only for audit integrity.
- A scan template referenced by a schedule cannot be deleted from the parent list page until the schedule is updated to drop it.
- Discovery lists that have not received their first push (zero IPs) can be selected, but the resulting scan will have zero targets from that list. Wait until the discovery source has populated before relying on it.
API calls (8)
| Method | Path | Description |
|---|---|---|
| GET | /api/config/scan-templates/:id/details | Load an existing template with all selected subnets/groups/ports (Edit mode) |
| GET | /api/config/subnets | List available subnets |
| GET | /api/config/subnet-groups | List available subnet groups |
| GET | /api/config/port-lists | List available port lists |
| GET | /api/config/port-list-groups | List available port list groups |
| GET | /api/config/discovery-lists | List available discovery lists |
| POST | /api/config/scan-templates | Create a new template (Create mode) |
| PUT | /api/config/scan-templates/:id | Update an existing template (Edit mode) |
Related
- Scan Templates — Parent list page
- Subnets — Direct target sources
- Subnet Groups — Grouped target sources
- Port Lists — Direct port sources
- Port List Groups — Grouped port sources
- Run Scan — Executes a scan template manually
- Schedules — Runs templates on a recurring cadence