Skip to main content
A scan points Aquila at a target and tells the engine which tools to run. The engine queues the scan, plans a workflow, and publishes an event per tool result.

Scan types

Create a scan

POST /api/scans with at least a target:
Fields:
  • target — required. One host or domain.
  • scope — optional allowlist entries. The engine stays inside the scope.
  • workflowSteps — optional custom tool plan. Each step names a tool, its args, env, retry count, and timeout.
  • scheduleTypenow, once with runAt, or recurring with cron or recurringInterval.
Scan starts sit in the expensive rate tier: 10 per minute.

Hackbot scans

Send "mode": "hackbot" to create a scope container for a Hackbot chat session instead of an engine scan. The row stays pending. Hackbot hunts with its own tools. The dashboard wizard never sends this mode.

Manage scans

  • GET /api/scans — list with pagination. ?q= searches the target.
  • GET /api/scans/{id} — one scan. Falls back to the linked schedule when the id names a schedule.
  • POST /api/scans/{id}/rescan — queue a fresh run of a finished scan.
  • PUT /api/scans/{id} — partial update of the scan or its schedule fields.
  • DELETE /api/scans/{id} — delete the scan and its dependent rows.
  • PATCH /api/scans/{id}/toggle — pause or resume the recurring schedule behind a scan.

Recurring scans

Set scheduleType to recurring and give a cron, or a recurringInterval of daily, weekly, monthly, every_n_days with intervalDays, or custom. Aquila computes the next run and the scheduler fires it. See Schedules.