Skip to content

API zaplanowanych skanów

Autor: Zespół Aether365 Odbiorcy: Deweloperzy Zakres: Endpointy API zaplanowanych skanów - tworzenie i zarządzanie harmonogramami skanów

Zaplanowane skany definiują cykliczne zadania skanowania. Każdy zaplanowany skan definiuje cykliczny wyzwalacz uruchamiany w skonfigurowanym interwale.

Lista zaplanowanych skanów

Zwraca wszystkie zaplanowane skany uwierzytelnionego tenanta, włącznie z automatycznym skanem planu.

GET /tenants/me/scheduled-scans

Przykładowe żądanie

bash
curl https://api.aether365.io/tenants/me/scheduled-scans \
  -H "Authorization: Bearer <token>"

Przykładowa odpowiedź

json
{
  "success": true,
  "data": [
    {
      "id": "plan",
      "isPlanSchedule": true,
      "name": "Automatic plan scan",
      "frequency": "weekly",
      "hour": 0,
      "minute": 0,
      "dayOfWeek": 0,
      "dayOfMonth": 1,
      "timezone": "UTC",
      "enabled": true,
      "scanType": "compliance",
      "lastTriggeredAt": "2026-04-07T00:00:00Z"
    },
    {
      "id": "sched_abc123",
      "isPlanSchedule": false,
      "name": "Weekly exposure scan",
      "frequency": "weekly",
      "hour": 6,
      "minute": 0,
      "dayOfWeek": 3,
      "dayOfMonth": null,
      "timezone": "Europe/London",
      "enabled": true,
      "scanType": "exposure",
      "lastTriggeredAt": "2026-04-09T06:00:00Z"
    }
  ]
}

Pola odpowiedzi

PoleTypOpis
idstringIdentyfikator harmonogramu ("plan" dla automatycznego planu)
isPlanSchedulebooleantrue jeśli to automatyczny skan planu
namestringNazwa wyświetlana
frequencystringdaily, weekly lub monthly
hourintegerGodzina uruchomienia (0-23)
minuteintegerMinuta uruchomienia (0-59)
dayOfWeekintegerDzień tygodnia dla harmonogramów weekly (0=Pn, 6=Nd)
dayOfMonthintegerDzień miesiąca dla harmonogramów monthly (1-31)
timezonestringStrefa czasowa IANA
enabledbooleanCzy harmonogram jest aktywny
scanTypestringcompliance lub exposure
lastTriggeredAtstring lub nullZnacznik czasu ISO 8601 ostatniego uruchomienia

Tworzenie zaplanowanego skanu

Tworzy nowy zaplanowany skan.

POST /tenants/me/scheduled-scans

Treść żądania

json
{
  "name": "Monthly exposure scan",
  "frequency": "monthly",
  "hour": 3,
  "minute": 0,
  "dayOfMonth": 1,
  "timezone": "UTC",
  "scanType": "exposure",
  "enabled": true
}
PoleTypWymaganeOpis
namestringTakNazwa wyświetlana
frequencystringTakdaily, weekly lub monthly
hourintegerTak0-23
minuteintegerTak0-59
dayOfWeekintegerDla weekly0=Pn, 6=Nd
dayOfMonthintegerDla monthly1-31
timezonestringTakStrefa czasowa IANA (np. UTC, Europe/Berlin)
scanTypestringTakcompliance lub exposure
enabledbooleanNieDomyślnie true

Przykładowe żądanie

bash
curl -X POST https://api.aether365.io/tenants/me/scheduled-scans \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Monthly exposure scan",
    "frequency": "monthly",
    "hour": 3,
    "minute": 0,
    "dayOfMonth": 1,
    "timezone": "UTC",
    "scanType": "exposure",
    "enabled": true
  }'

Błędy

KodHTTPOpis
SCAN_PLAN_LIMIT_REACHED429Osiągnięto limit własnych harmonogramów dla planu
VALIDATION_ERROR400Brakujące lub nieprawidłowe pola

Aktualizacja zaplanowanego skanu

Aktualizuje istniejący zaplanowany skan. Zmieniane są tylko przesłane pola.

PATCH /tenants/me/scheduled-scans/{scheduledScanId}

Przykład: wstrzymanie harmonogramu

bash
curl -X PATCH https://api.aether365.io/tenants/me/scheduled-scans/sched_abc123 \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"enabled": false}'

Przykład: zmiana godziny

bash
curl -X PATCH https://api.aether365.io/tenants/me/scheduled-scans/sched_abc123 \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"hour": 8}'

Usunięcie zaplanowanego skanu

Trwale usuwa zaplanowany skan i powiązany harmonogram.

DELETE /tenants/me/scheduled-scans/{scheduledScanId}

WARNING

Automatycznego skanu planu (id: "plan") nie można usunąć przez API.

Przykładowe żądanie

bash
curl -X DELETE https://api.aether365.io/tenants/me/scheduled-scans/sched_abc123 \
  -H "Authorization: Bearer <token>"

Przykładowa odpowiedź

json
{
  "success": true,
  "data": null
}
Czy ta strona była pomocna?