Uptimeify Docs
MonitorsTcp monitors

Get TCP Monitor Incident History

Returns paginated incidents for a single TCP monitor, including a computed duration.

GET /api/tcp-monitors/:tcpMonitorPublicId/incident-history

Authentication

Requires a valid session.

  • Header: Authorization: Bearer <token>

Parameters

  • tcpMonitorPublicId (Path, required): TCP monitor public UUID.

Query Parameters

  • page (number, optional): Page number (default: 1).
  • limit (number, optional): Items per page (default: 25; max 100). Ignored in favor of export defaults when format=csv or download=1 (default 10000, max 50000).
  • status (string, optional): open, acknowledged, or resolved.
  • type (string, optional): downtime, http_status, ssl_expiry, ssl_critical, ssl_warning, response_time, dnsbl, domain_expiry_warning, critical, or inconclusive.
  • from / to (ISO date string, optional): Filter by startedAt range.
  • format (string, optional): json (default) or csv.
  • download (string, optional): 1 to force an attachment download.

Example (cURL)

BASE_URL="https://uptimeify.io"
TOKEN="<your-api-token>"

curl -X GET "$BASE_URL/api/tcp-monitors/11111111-1111-4111-8111-111111111111/incident-history" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Example Response

{
  "data": [
    {
      "id": 123,
      "publicId": "55555555-5555-4555-8555-555555555555",
      "type": "downtime",
      "status": "resolved",
      "startedAt": "2026-02-26T12:10:00.000Z",
      "endedAt": "2026-02-26T12:12:30.000Z",
      "durationMs": 150000,
      "duration": "2m 30s",
      "statusCode": null,
      "errorMessage": "connect ETIMEDOUT",
      "details": "connect ETIMEDOUT",
      "isOngoing": false
    }
  ],
  "total": 1,
  "page": 1,
  "pageCount": 1
}

status is open, acknowledged, or resolved. Ongoing incidents have a null endedAt and isOngoing: true.

When format=csv (or download=1), the response is a text/csv (or application/json for format=json&download=1) attachment instead of the paginated JSON envelope above.

Common Errors

  • 400 TCP monitor public ID (UUID) required if :tcpMonitorPublicId is invalid
  • 401 Unauthorized if you are not authenticated
  • 403 Forbidden if you do not have access to the monitor

On this page