Skip to content

API de Análises Agendadas

As análises agendadas definem tarefas de análise recorrentes. Cada análise agendada define um acionamento recorrente que é executado no intervalo configurado.

Listar Análises Agendadas

Devolve todas as análises agendadas para o tenant autenticado, incluindo a análise automática do plano.

GET /tenants/me/scheduled-scans

Exemplo de Pedido

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

Exemplo de Resposta

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"
    }
  ]
}

Campos da Resposta

CampoTipoDescrição
idstringIdentificador do agendamento ("plan" para a análise automática do plano)
isPlanSchedulebooleantrue se for a análise automática do plano
namestringNome de apresentação
frequencystringdaily, weekly ou monthly
hourintegerHora do dia para acionamento (0-23)
minuteintegerMinuto da hora para acionamento (0-59)
dayOfWeekintegerDia da semana para agendamentos semanais (0=Seg, 6=Dom)
dayOfMonthintegerDia do mês para agendamentos mensais (1-31)
timezonestringFuso horário IANA
enabledbooleanSe o agendamento está ativo
scanTypestringcompliance ou exposure
lastTriggeredAtstring ou nullData e hora ISO 8601 do último acionamento

Criar Análise Agendada

Cria uma nova análise agendada.

POST /tenants/me/scheduled-scans

Corpo do Pedido

json
{
  "name": "Monthly exposure scan",
  "frequency": "monthly",
  "hour": 3,
  "minute": 0,
  "dayOfMonth": 1,
  "timezone": "UTC",
  "scanType": "exposure",
  "enabled": true
}
CampoTipoObrigatórioDescrição
namestringSimNome de apresentação
frequencystringSimdaily, weekly ou monthly
hourintegerSim0-23
minuteintegerSim0-59
dayOfWeekintegerPara semanal0=Seg, 6=Dom
dayOfMonthintegerPara mensal1-31
timezonestringSimFuso horário IANA (ex.: UTC, Europe/Berlin)
scanTypestringSimcompliance ou exposure
enabledbooleanNãoPredefinido como true

Exemplo de Pedido

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
  }'

Erros

CódigoHTTPDescrição
SCAN_PLAN_LIMIT_REACHED429Limite de agendamentos personalizados atingido para o plano
VALIDATION_ERROR400Campos em falta ou inválidos

Atualizar Análise Agendada

Atualiza uma análise agendada existente. Apenas os campos incluídos são atualizados.

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

Exemplo: Pausar um agendamento

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}'

Exemplo: Alterar a hora

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}'

Eliminar Análise Agendada

Elimina permanentemente uma análise agendada e o respetivo agendamento subjacente.

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

WARNING

A análise automática do plano (id: "plan") não pode ser eliminada através da API.

Exemplo de Pedido

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

Exemplo de Resposta

json
{
  "success": true,
  "data": null
}
Esta página foi útil?