# curl

What this client asked https://www.pathwren.workers.dev for, from that host's own request log.
Window: 2026-09-01 02:28:30Z to 2026-09-14 00:09:41Z UTC. Generated 2026-09-14.

## User-agent strings, exactly as they arrived

- `curl/8.5.0` — 176 request(s), 3 address(es), 2026-09-07 00:18:11Z to 2026-09-13 09:40:00Z
- `curl/8.7.1` — 79 request(s), 15 address(es), 2026-09-01 11:53:31Z to 2026-09-12 20:32:55Z
- `curl/7.88.0` — 28 request(s), 1 address(es), 2026-09-01 02:28:30Z to 2026-09-14 00:09:41Z
- `curl/8.19.0` — 15 request(s), 5 address(es), 2026-09-01 07:37:05Z to 2026-09-09 18:37:36Z
- `curl/8.14.1` — 10 request(s), 1 address(es), 2026-09-03 17:52:22Z to 2026-09-03 18:12:50Z
- `curl/8.18.0` — 8 request(s), 2 address(es), 2026-09-05 02:26:19Z to 2026-09-08 10:03:52Z
- `curl/8.21.0` — 7 request(s), 4 address(es), 2026-09-03 14:02:49Z to 2026-09-09 09:07:58Z
- `curl/7.81.0` — 6 request(s), 1 address(es), 2026-09-08 14:08:01Z to 2026-09-08 14:09:11Z
- `curl/7.88.1` — 1 request(s), 1 address(es), 2026-09-06 03:09:39Z to 2026-09-06 03:09:39Z
- `curl/8.0` — 1 request(s), 1 address(es), 2026-09-07 08:57:26Z to 2026-09-07 08:57:26Z
- `curl/7.68.0` — 1 request(s), 1 address(es), 2026-09-11 22:18:27Z to 2026-09-11 22:18:27Z
- `curl/8.22.0` — 1 request(s), 1 address(es), 2026-09-13 08:35:42Z to 2026-09-13 08:35:42Z

- Requests: 333
- Distinct addresses (salted hashes, never published): 35
- Distinct paths: 83
- Visits (30-minute gap rule): 56
- Status codes: 200×323, 404×6, 202×2, 405×1, 400×1
- Accept headers: */*, application/json, text/event-stream, application/json, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, text/event-stream
- Our classifier called it: agent×333 (ours, from the user-agent)

## What it asked for, in order

1. `/` — 2026-09-01 02:28:30Z — 200
2. `/c/a2a-registry-org/.well-known/agent-card.json` — 2026-09-01 07:37:05Z — 200
3. `/.well-known/mcp.json` — 2026-09-01 11:53:31Z — 200
4. `/apis.json` — 2026-09-01 11:54:09Z — 200
5. `/.well-known/api-catalog` — 2026-09-01 11:56:56Z — 200
6. `/.well-known/ai-plugin.json` — 2026-09-01 11:56:56Z — 200
7. `/.well-known/security.txt` — 2026-09-01 11:56:56Z — 200
8. `/.well-known/agent-card.json` — 2026-09-01 11:56:56Z — 200
9. `/.well-known/agent.json` — 2026-09-01 11:56:56Z — 200
10. `/.well-known/api-onboarding` — 2026-09-01 11:56:56Z — 200
11. `/mcp` — 2026-09-01 11:57:23Z — 200
12. `/mcp/triage` — 2026-09-01 11:57:44Z — 200
13. `/mcp/doctor` — 2026-09-01 11:57:44Z — 200
14. `/status.json` — 2026-09-01 11:58:09Z — 200
15. `/.well-known/owners.json` — 2026-09-01 11:58:09Z — 200
16. `/.well-known/x402` — 2026-09-01 11:58:09Z — 200
17. `/about.html` — 2026-09-01 11:58:19Z — 200
18. `/api.html` — 2026-09-01 11:58:19Z — 200
19. `/changelog.html` — 2026-09-01 11:58:19Z — 200
20. `/security.html` — 2026-09-01 11:58:19Z — 200
21. `/a2a.html` — 2026-09-01 11:58:20Z — 200
22. `/mcp.html` — 2026-09-01 11:58:20Z — 200
23. `/feed.json` — 2026-09-01 11:58:35Z — 200
24. `/data/agents.json` — 2026-09-01 11:58:48Z — 200
25. `/crawler/nope.json` — 2026-09-01 11:58:49Z — 404
26. `/graphql` — 2026-09-01 12:06:14Z — 405
27. `/c/mcp-registry-official/mcp` — 2026-09-02 11:30:43Z — 200
28. `/a2a` — 2026-09-03 09:18:43Z — 200
29. `/c/mcp-registry-official/mcp/lint` — 2026-09-03 10:49:44Z — 200
30. `/c/a2a-registry-global/a2a/doctor/.well-known/agent-card.json` — 2026-09-03 14:02:49Z — 200
31. `/a2a/doctor` — 2026-09-03 14:03:18Z — 400
32. `/bot/exaforce-mcprep.json` — 2026-09-03 17:52:22Z — 200
33. `/bot/mcp-verify.json` — 2026-09-03 17:52:22Z — 404
34. `/c/mcp-registry-official/mcp/robots` — 2026-09-04 09:51:44Z — 200
35. `/openapi.json` — 2026-09-04 17:29:47Z — 200
36. `/robots/block-ai-training.txt` — 2026-09-04 17:29:57Z — 200
37. `/tools/classify_user_agent` — 2026-09-04 17:29:57Z — 200
38. `/c/openwebui/a2a` — 2026-09-04 22:24:52Z — 200
39. `/c/mcp-registry-official/mcp-doctor.html` — 2026-09-05 02:26:19Z — 200
40. `/.well-known/ai-catalog.json` — 2026-09-05 02:26:39Z — 200

## What it asked for that did not exist

- `/crawler/nope.json` — 404×1 — first asked 2026-09-01 11:58:49Z; still absent
- `/graphql` — 405×1, 404×1 — first asked 2026-09-01 12:06:14Z; still absent, on purpose — No (https://www.pathwren.workers.dev/security.html)
- `/a2a/doctor` — 400×1 — first asked 2026-09-03 14:03:18Z; still absent
- `/bot/mcp-verify.json` — 404×1 — first asked 2026-09-03 17:52:22Z; still absent
- `/.well-known/oauth-authorization-server` — 404×3 — first asked 2026-09-05 20:05:31Z; still absent, on purpose — No (https://www.pathwren.workers.dev/security.html)

## Verification

Not observed. This client publishes no address list we could read and no reverse-DNS convention we could test, so the user-agent is the only identity it has here — and a user-agent is a claim, not a proof. Anyone can send this string.

## Ask this page a question, with one GET

A question about this page, answered by a call you can make right now — no key, no account, no JSON-RPC, nothing to assemble. The query string is already filled in with this page's own subject.

- **What is curl/8.5.0?**  
  `curl -s 'https://www.pathwren.workers.dev/tools/classify-ua?ua=curl%2F8.5.0&s=client-dossiers'`  
  This exact user-agent run through the catalogue: which crawler it is, who operates it, what the crawl is for, what blocking it costs — or an honest "not recognised" if it is nobody we know.

Every parameter above is a value the endpoint reads, not an address it visits: nothing is fetched on your behalf. Called without any parameter, each endpoint returns its own specification instead of an error.


## What it publishes about you

Not observed. We have not seen this client publish a grade, a listing or a record about this host anywhere, and we make no claim that it does or does not.

## Documentation it names

not observed — no URL in its user-agent

JSON: https://www.pathwren.workers.dev/bot/curl.json · all clients: https://www.pathwren.workers.dev/data/observed-clients.json
