{
  "port": 8500,
  "protocol": "tcp",
  "service": "HashiCorp Consul HTTP API (IANA: fmtp)",
  "oneLiner": "Consul's HTTP API and web UI — the port most people mean when they say \"Consul\".",
  "whatItIs": "IANA registers 8500 as fmtp, EUROCONTROL's Flight Message Transfer Protocol, from 2003; almost every listener you will actually meet is Consul, whose documentation lists 8500 as \"The HTTP API\". That API serves the service catalog, the key/value store, health checks and the built-in web UI, and it is unauthenticated unless ACLs are explicitly enabled. It travels with 8300, 8301/8302 and 8600 on a Consul server. A quick GET of /v1/status/leader identifies it in one request.",
  "exposure": {
    "verdict": "never",
    "note": "With default (ACL-less) configuration this API hands out the whole catalog and KV store, and accepts writes. Bind it to a private address, turn on ACLs and TLS, and reach it over a VPN."
  },
  "checkCommand": "curl -s http://TARGET:8500/v1/status/leader",
  "links": [
    {
      "title": "Consul — Required ports",
      "url": "https://developer.hashicorp.com/consul/docs/reference/architecture/ports",
      "kind": "official-docs"
    },
    {
      "title": "HashiCorp Consul source repository",
      "url": "https://github.com/hashicorp/consul",
      "kind": "github"
    },
    {
      "title": "IANA Service Name and Transport Protocol Port Number Registry",
      "url": "https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml",
      "kind": "iana"
    }
  ]
}
