Datattention

Endpoints

Model services running on this machine. The hostname is datattention.com. The address is 194.238.25.127. No account and no API key.

The model ports are plain HTTP, not the HTTPS used by this website. A client that sends a bearer token is still accepted. A route that is not listed here returns a normal 404.

Ollama-style, port 11434

GET /api/tags lists tags. POST /api/chat and POST /api/generate take a JSON body. Set stream to false for one JSON response. /api/chat also accepts an OpenAI-style tools array. GET /api/tools lists the same tool names as GET /v1/tools.

curl http://datattention.com:11434/api/chat \
  -H 'Content-Type: application/json' \
  -d '{"model":"llama3","messages":[{"role":"user","content":"Hello"}],"stream":false}'

OpenAI-compatible, ports 8000 and 8080

Both ports implement GET /v1/models, POST /v1/chat/completions, POST /v1/completions, and POST /v1/embeddings. GET /v1/models lists gpt-4o-mini, claude-opus-5-5 (Claude Opus 5.5), claude-fable-5-1 (Claude Fable 5.1), and gpt-6-astra (GPT-6 Astra). No API key. If the body omits model, the server uses gpt-4o-mini. Port 4000 lists the same four names.

Tool calling uses the same body other OpenAI-compatible servers use. Add a tools array of function objects. The reply stays an assistant message with finish_reason stop, and it names those functions. A follow-up on the same path adds a message with role tool, a tool_call_id, and the result in content. The same body works on ports 8080, 4000, and 8642.

GET /v1/tools lists get_weather, web_search, fetch_url, news_headlines, wikipedia_summary, dictionary_lookup, translate_text, current_time, timezone_convert, calculate, convert_units, currency_convert, statistics_summary, generate_uuid, explain_code, lint_report, git_status, http_request, json_validate, regex_test, package_version, read_file, list_directory, search_files, summarize_document, extract_table, draft_email, calendar_list, create_reminder, task_list, note_search, contact_lookup, geocode, directions, nearby_places, describe_image, transcribe_audio, render_chart, run_command, process_list, disk_usage, service_status. A client can send one of those names, or any name of its own. A known name returns a short static result and does not run the arguments. The chat reply does not insert this list on its own. Ports 8080, 4000, 8642, and 18789 serve the same list. GET /api/tools on port 11434 does too.

curl http://datattention.com:8000/v1/models
curl http://datattention.com:8000/v1/tools

curl http://datattention.com:8000/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"Hello"}]}'

curl http://datattention.com:8000/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"claude-opus-5-5","messages":[{"role":"user","content":"Hello"}]}'

curl http://datattention.com:8080/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"claude-fable-5-1","messages":[{"role":"user","content":"Hello"}]}'

curl http://datattention.com:8080/v1/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"gpt-4o-mini","prompt":"Hello"}'

curl http://datattention.com:8000/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"Hello"}],"tools":[{"type":"function","function":{"name":"get_weather","description":"Local weather","parameters":{"type":"object","properties":{"location":{"type":"string"}}}}}]}'

curl http://datattention.com:8000/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"Hello"},{"role":"tool","tool_call_id":"call_1","name":"get_weather","content":"local"}]}'

LiteLLM-style, port 4000

Same chat routes as ports 8000 and 8080, including claude-opus-5-5, claude-fable-5-1, and gpt-6-astra. No API key.

curl http://datattention.com:4000/v1/models

curl http://datattention.com:4000/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"gpt-6-astra","messages":[{"role":"user","content":"Hello"}]}'

Jupyter-style, port 8888

GET / is a short HTML page. GET /api returns the version. GET /api/status, GET /api/kernels, and GET /api/sessions return the idle documents. No token is required.

curl http://datattention.com:8888/api/status

TensorFlow Serving REST, port 8501

GET /v1/models/demo reports the model available. Predict with POST /v1/models/demo:predict. Port 8500 is not open.

curl http://datattention.com:8501/v1/models/demo:predict \
  -H 'Content-Type: application/json' \
  -d '{"instances":[[1.0, 2.0]]}'

Hermes-style API, port 8642

OpenAI-compatible chat. The model name this process reports is hermes-agent. A tools array uses the same shape as ports 8000 and 8080.

curl http://datattention.com:8642/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"hermes-agent","messages":[{"role":"user","content":"Hello"}]}'

Hermes-style dashboard, port 9119

GET / is a short HTML page. GET /api/status and GET /api/sessions return JSON.

curl http://datattention.com:9119/api/status

OpenClaw, port 18789

GET /v1/models and POST /v1/chat/completions use the model name openclaw/default. Chat on this port accepts the same tools array as the other OpenAI-compatible ports. GET /v1/tools lists the published tool names. POST /tools/invoke takes tool and args. The result names that tool and does not run the arguments.

curl http://datattention.com:18789/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"openclaw/default","messages":[{"role":"user","content":"Hello"}]}'

curl http://datattention.com:18789/v1/tools

curl http://datattention.com:18789/tools/invoke \
  -H 'Content-Type: application/json' \
  -d '{"tool":"get_weather","args":{"location":"local"}}'