Use Enterprise entities and assets when the decision requires certificate validity or issuer fields. GET /enterprise/certificates returns certificate-derived domain candidates and observation times, but it does not return issuer or expiry details.

Requirements

  • Enterprise API access
  • A FullHunt organization ID
  • An approved issuer list and expiry threshold
  • Python 3.10 or later with requests

Data path

The asset endpoint is limited to 20 requests per minute. The example paces entity requests so the workflow stays below that route limit.

Run the monitor

monitor_certificates.py

Review policy

  • Expiring: Route to the asset owner using the organization-defined renewal window.
  • Unexpected issuer: Compare against service ownership and certificate-automation policy before escalating.
  • New DNS name: Treat it as a candidate relationship until ownership is confirmed.
  • Invalid hostname: Confirm the served hostname, certificate name, and latest observation before opening an incident.
  • Unknown expiry: Preserve the raw value and review the host manually. Do not silently treat an unparseable date as valid.
last_seen is the host observation time. An expired certificate in stale data does not prove the asset currently serves that certificate. Re-query the host or complete an authorized scan before making a current-state decision.