---
title: "List monitored hosts"
method: GET
path: "/v1/hosts"
tags: ["Hosts"]
---

# List monitored hosts

`GET /v1/hosts`

## Request

- Base URL: `https://api.peppolstatus.com`
- URL: `https://api.peppolstatus.com/v1/hosts`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Every monitored host with its current verdict, latest hourly all-locations latency and 24h uptime, worst-first, plus a network-wide rollup.

## Response `200`

The monitored fleet.

- HostsResponse
  - `items` HostSummary[], required
    - `hostname` string, required
    - `role` string, nullable, required
    - `verdict` 'up' | 'degraded' | 'down' | 'unresolvable' | 'null', nullable, required: Rolled-up host state (issue #310): a per-location `Verdict` (`up`/`degraded`/`down`) plus the derived `unresolvable` — a hostname that has NEVER resolved in DNS. `unresolvable` is neutral/informational, NOT an outage. null when unknown.
    - `latency` HostLatency, required: Latest total-latency percentiles, whole ms.
      - `p50` number, required
      - `p95` number, required
    - `uptime_24h` number, nullable, required: Mean uptime_pct over the last 24h, percent.
    - `last_bucket` string, date-time, nullable, required
    - `cert` HostCert, nullable
      - `fingerprint` string, required
      - `subject` string, required
      - `issuer` string, required
      - `not_before` string, date-time, required
      - `not_after` string, date-time, required
      - `days_to_expiry` integer: Whole days from the response instant to `not_after`, floored; negative once the certificate has expired (issue #519). Derived server-side.
      - `expiry_status` 'ok' | 'expiring' | 'expired': Derived TLS-expiry state (issue #519): `expired` once `not_after` is past, `expiring` within 30 days of now, else `ok`. A tighter near-term window additionally raises a `host_tls_cert_expiring`/`host_tls_cert_expired` anomaly.
    - `provider` HostProviderInfo, nullable
      - `key` string, required
      - `trade_name` string, required
      - `legal_name` string, nullable, required
      - `country` string, nullable, required
      - `ap_key` string, nullable: The provider's access-point directory key for the console's /providers/{key} link (the `key` field above is the natural key, which that route does not resolve); null when no seat of the provider is a member of any directory entry. Optional: an edge-cached /v1/hosts response minted before this field existed omits it.
    - `network` HostNetwork
      - `ips` string[], required
      - `ptr` string, nullable, required
  - `rollup` HostsRollup, required
    - `hosts` integer, required
    - `avg_uptime_24h` number, nullable, required
    - `avg_latency_p50` number, nullable, required
  - `generated_at` string, date-time, required

---

[API](https://skmtc.dev/peppolstatus/apis/peppolstatus-api.md) · [All operations](https://skmtc.dev/peppolstatus/apis/peppolstatus-api/llms.txt) · [OpenAPI document](https://skmtc.dev/peppolstatus/apis/peppolstatus-api/revisions/7e74fb32f23c?raw)
