---
title: "Security overview"
method: GET
path: "/v1/overview"
tags: ["Service"]
---

# Security overview

`GET /v1/overview`

## Request

- Base URL: `https://api.ironfang.com/security`
- URL: `https://api.ironfang.com/security/v1/overview`
- Auth: HTTP bearer

The organisation's domains, open findings by severity, the latest scan, the top recommended actions and recent activity.

## Response `200`

Overview.

- Overview
  - `domains` DomainSummary[], required
    - `authorised` boolean, required
    - `can_scan` boolean, required
    - `created_at` string, date-time, required
    - `display_name` string, required
    - `id` string, uuid, required
    - `latest_scan` ScanSummary
      - `changes` ScanChanges
        - `fixed` integer, required
        - `new` integer, required
        - `reopened` integer, required
      - `counts` ScanCounts, required
        - `confirmed` integer, required: Findings with confirmed or high confidence.
        - `critical` integer, required
        - `errors` integer, required: Checks that could not complete.
        - `high` integer, required
        - `info` integer, required
        - `low` integer, required
        - `medium` integer, required
        - `passed` integer, required: Checks that observed a control working.
        - `unverified` integer, required: Findings with medium or low confidence.
      - `domain` string, required
      - `domain_id` string, uuid, required
      - `duration_ms` integer
      - `failure_class` 'asset' | 'ironfang': For a failed scan, whose problem it was — the domain did not answer, or Ironfang could not run it.
      - `finished_at` string, date-time
      - `id` string, uuid, required
      - `kind` 'full' | 'recheck' | 'certificate', required: `certificate` is monitoring looking at one host's certificate again before warning that it is about to expire.
      - `progress` object, required
        - `completed` integer, required
        - `total` integer, required
      - `recheck_finding_id` string, uuid
      - `requested_at` string, date-time, required
      - `started_at` string, date-time
      - `status` 'queued' | 'running' | 'completed' | 'partial' | 'failed' | 'cancelled' | 'killed', required
      - `status_reason` string: Why a scan was cancelled, stopped or failed.
      - `trigger` 'manual' | 'recheck' | 'monitoring' | 'admin' | 'api', required: Why a scan ran.
    - `monitoring` MonitoringBrief
      - `frequency` 'daily' | 'weekly', required
      - `health` 'healthy' | 'delayed' | 'attention' | 'paused' | 'off', required: healthy; delayed (a scheduled check is waiting on Ironfang's capacity); attention (recent scheduled checks could not complete); paused; off.
      - `next_run_at` string, date-time
      - `state` 'off' | 'pending_first_run' | 'active' | 'paused' | 'paused_verification_lost' | 'paused_authorisation' | 'paused_repeated_failures' | 'paused_by_ironfang', required: off (never switched on, or switched off), pending_first_run, active, paused (by the customer), paused_verification_lost, paused_authorisation, paused_repeated_failures, paused_by_ironfang.
    - `name` string, required: ASCII (punycode) name.
    - `next_scan_at` string, date-time: When the cooldown ends.
    - `open_findings` SeverityCounts, required
      - `critical` integer, required
      - `high` integer, required
      - `info` integer, required
      - `low` integer, required
      - `medium` integer, required
    - `scan_blocked_reason` 'verification_required' | 'authorisation_required' | 'policy_outdated' | 'scan_in_progress' | 'scan_cooldown' | 'daily_limit_reached' | 'organisation_suspended' | 'scans_paused' | 'security_disabled': Why a scan cannot start now.
    - `verification_status` 'waiting' | 'checking' | 'verified' | 'failed' | 'expired' | 'lapsed', required
  - `latest_scan` ScanSummary
    - `changes` ScanChanges
      - `fixed` integer, required
      - `new` integer, required
      - `reopened` integer, required
    - `counts` ScanCounts, required
      - `confirmed` integer, required: Findings with confirmed or high confidence.
      - `critical` integer, required
      - `errors` integer, required: Checks that could not complete.
      - `high` integer, required
      - `info` integer, required
      - `low` integer, required
      - `medium` integer, required
      - `passed` integer, required: Checks that observed a control working.
      - `unverified` integer, required: Findings with medium or low confidence.
    - `domain` string, required
    - `domain_id` string, uuid, required
    - `duration_ms` integer
    - `failure_class` 'asset' | 'ironfang': For a failed scan, whose problem it was — the domain did not answer, or Ironfang could not run it.
    - `finished_at` string, date-time
    - `id` string, uuid, required
    - `kind` 'full' | 'recheck' | 'certificate', required: `certificate` is monitoring looking at one host's certificate again before warning that it is about to expire.
    - `progress` object, required
      - `completed` integer, required
      - `total` integer, required
    - `recheck_finding_id` string, uuid
    - `requested_at` string, date-time, required
    - `started_at` string, date-time
    - `status` 'queued' | 'running' | 'completed' | 'partial' | 'failed' | 'cancelled' | 'killed', required
    - `status_reason` string: Why a scan was cancelled, stopped or failed.
    - `trigger` 'manual' | 'recheck' | 'monitoring' | 'admin' | 'api', required: Why a scan ran.
  - `limits` Limits, required
    - `full_scan_cooldown_seconds` integer, required
    - `manual_verification_interval_seconds` integer, required
    - `max_concurrent_scans` integer, required
    - `max_domains` integer, required
    - `max_monitored_domains` integer: Monitored domains per organisation during the preview.
    - `max_pending_verifications` integer, required
    - `max_scans_per_day` integer, required
    - `monitoring_daily_allowed` boolean
    - `monitoring_pause_after_failures` integer: Scheduled checks in a row that may fail before monitoring pauses.
    - `recheck_cooldown_seconds` integer, required
    - `verification_ttl_seconds` integer, required
  - `message` string
  - `open_findings` SeverityCounts, required
    - `critical` integer, required
    - `high` integer, required
    - `info` integer, required
    - `low` integer, required
    - `medium` integer, required
  - `recent_activity` ActivityItem[], required
    - `action` string, required: e.g. domain.added, domain.verified, authorisation.recorded, scan.started, scan.completed, finding.status_changed.
    - `actor` object, required
      - `kind` 'user' | 'staff' | 'system' | 'api_key', required
      - `label` string, required
    - `at` string, date-time, required
    - `id` string, uuid, required
    - `subject` object
      - `id` string, uuid, required
      - `kind` 'domain' | 'scan' | 'finding' | 'assessment' | 'producer', required
      - `label` string, required
    - `summary` string, required
  - `recommended_actions` RecommendedAction[], required
    - `confidence` 'confirmed' | 'high' | 'medium' | 'low', required: How sure Ironfang is. `low` is presented as "potential".
    - `domain_id` string, uuid, required
    - `finding_id` string, uuid, required
    - `host` string, required
    - `reason` string, required
    - `severity` 'critical' | 'high' | 'medium' | 'low' | 'info', required
    - `title` string, required
  - `state` 'enabled' | 'scans_paused' | 'disabled', required

## Other responses

- `default`: An error.

---

[API](https://skmtc.dev/ironfang/apis/ironfang-security-api.md) · [All operations](https://skmtc.dev/ironfang/apis/ironfang-security-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ironfang/apis/ironfang-security-api/revisions/73bd66283d59?raw)
