---
title: "Get SMTP Monitor Details"
description: "Consolidated endpoint that returns the SMTP monitor details page data in one call."
---

`GET /api/smtp-monitors/:smtpMonitorPublicId/details`

## Authentication

Requires a valid session.

- Header: `Authorization: Bearer <token>`

## Parameters

- `smtpMonitorPublicId` (Path, required): SMTP monitor public UUID.

## Query Parameters

- `range` (string, optional): `day`, `week`, `month`, `year` (default: `day`)
- `date` (string, optional): Reference date (parsed by `new Date(date)`)
- `startDate` (string, optional)
- `endDate` (string, optional)
- `granularity` (string, optional)
  - If set to `raw`, disables aggregation.

## cURL

```bash
curl "https://YOUR_DOMAIN/api/smtp-monitors/33333333-3333-4333-8333-333333333333/details?range=day" \
  -H "Authorization: Bearer $TOKEN"
```

## Response

The response is a single object with these top-level keys:

- `smtpMonitorId`
- `monitor`
- `latestCheck`
- `uptimeStats`
- `uptimeStatsMeta`
- `monitoringData`
- `incidents`
- `alerts`
- `testResultLog`
- `maintenance`

Example (truncated):

```json
{
  "smtpMonitorId": 200,
  "monitor": {
    "id": 200,
    "customerId": 10,
    "name": "Outbound SMTP",
    "hostname": "smtp.deinkunde.com",
    "port": 587,
    "status": "active",
    "checkInterval": 60,
    "timeoutSeconds": 30,
    "config": {
      "secure": false,
      "requireTls": true
    }
  },
  "latestCheck": {
    "status": "success",
    "checkedAt": "2026-01-01T12:00:00.000Z",
    "timingSmtp": 123,
    "locationCode": "de-nbg",
    "locationName": "Nuremberg (DE)"
  },
  "uptimeStats": {
    "day": 99.9,
    "month": 99.5,
    "year": 99.0,
    "dayAvgResponse": 120,
    "monthAvgResponse": 140,
    "yearAvgResponse": 150
  },
  "maintenance": {
    "inMaintenance": false,
    "activeWindows": [],
    "allWindows": []
  }
}
```

## Errors

- `400` Invalid SMTP monitor public ID (UUID)
- `401` Unauthorized
- `403` Forbidden
- `404` Not found
- `500` Failed to fetch SMTP monitor details

