How to tell a model endpoint is exposed
A short external check for the ports teams accidentally publish.
You can learn a lot from outside your own host, using only the addresses you already own. From a network that is not your office, request the health or tags route and see whether anything answers. If it answers, the port is part of your public surface, whatever the diagram says.
The ports that show up in notes and examples are predictable: 11434 for Ollama, 8000 and 8080 for homemade OpenAI-compatible servers, 4000 for a LiteLLM proxy, 8888 for Jupyter, 8501 for TensorFlow Serving REST, and a pair such as 8642 and 9119 for an agent gateway and its dashboard. Checking those on your own addresses is ordinary hygiene.
A response that names a model, lists tags, or returns a chat completion is enough. You do not need to send a clever prompt. The existence of the route is the finding. Follow it with the firewall rule and the process list on the host.
Do the same check after every cloud-image rebuild. Defaults come back. A security group copied from a demo template comes back. The check is cheap and it catches the regressions that reviews miss.
Keep the results with the date and the source address you used. “It was closed in March” is not evidence about October.
On this host
Checked from outside, this host answers on the usual set. datattention.com is 194.238.25.127. Ollama-style chat is :11434/api/chat. OpenAI-style chat is :8000/v1/chat/completions and :8080/v1/chat/completions. LiteLLM-style is :4000, Jupyter-style is :8888, TensorFlow Serving REST is :8501, Hermes is :8642 with the dashboard on :9119, and OpenClaw is :18789. None of them ask for an API key.
curl http://datattention.com:11434/api/tags
curl http://datattention.com:8000/v1/models
The full list of ports and paths is on the endpoints page.