Skip to content

DHCP leases endpoints

Customer DHCP servers POST lease snapshots; the cloud joins them at display time to enrich audit rows with hostnames the collector couldn't resolve.

POST /v1/leases

Upsert a batch of leases. Tenant-scoped via Bearer token.

json
{
  "leases": [
    {
      "mac": "3c:22:fb:a1:b2:c3",
      "ip":  "10.0.3.42",
      "hostname": "mwilson-mbp",
      "vendor_class": "MSFT 5.0",
      "lease_starts_at":  1715519000,
      "lease_expires_at": 1715522600
    }
  ]
}
json
{ "ok": true, "ingested": 1 }

The feeder is dev/dhcp-feeder.py, suitable for cron. Supports ISC dhcpd and dnsmasq lease formats out of the box; --format stdin-json covers everything else.

GET /v1/leases?active_only=true

List the most-recent still-active lease per MAC for this tenant.

GET /v1/leases/lookup/{ip}

The freshest still-active lease for an IP. 404 if no active lease.

Documentation for kilasec — the AI Agent Firewall.