Overview
Every endpoint is public and read-only. Nothing here sends messages or changes content. There is no SDK or MCP server.
- Base URL
https://dhrv.pw- Authentication
- None
- Methods
- GET and HEAD
- Rate limit
- None enforced
Endpoints
- GET
/The homepage. Accept selects the format. HTML is the default.text/htmltext/markdown - GET
/index.mdThe homepage as Markdown, for clients that can't set headers.text/markdown - GET
/api/siteProfile, homepage text, and links. Also at /api/site.json.application/json - GET
/openapi.jsonOpenAPI 3.1.1 description of these endpoints.application/json - GET
/llms.txtA guide for agents: when to use this site and how to call it.text/plain
Examples
curl -H 'Accept: text/markdown' https://dhrv.pw/curl https://dhrv.pw/api/sitecurl -I https://dhrv.pw/api/site/api/site returns one object. The OpenAPI file defines the full schema.
{ "name": "Dhruv Suthar", "url": "https://dhrv.pw", "description": "…", "content": "…", "links": [ { "title": "…", "url": "https://dhrv.pw/…" } ]}Content negotiation
The homepage returns HTML or Markdown based on the Accept header. Quality values are honored, and HTML wins a tie. A missing header or */* returns HTML.
curl -i \ -H 'Accept: text/markdown;q=0.9, text/html;q=0.5' \ https://dhrv.pw/Negotiated responses send Vary: Accept and Cache-Control: no-store. If no format is acceptable, the response is HTTP 406.
Errors
API errors return JSON with a code, a message, and a hint for resolving them.
{ "error": { "code": "NOT_FOUND", "message": "This API endpoint does not exist.", "hint": "Read /openapi.json for available endpoints." }}404NOT_FOUND- The /api path does not exist.
405METHOD_NOT_ALLOWED- Use GET or HEAD. The Allow header lists both.
406NOT_ACCEPTABLE- Accept excludes every available format.
500INTERNAL_ERROR- The request failed. Retry later.
Rate limits
No application rate limit is enforced, so responses carry no RateLimit headers. If the network returns HTTP 429 or 503, wait for the Retry-After interval, when present, before retrying.
Discovery
Agents can find these resources without reading this page.
/llms.txt- Linked from every page as rel=describedby.
/openapi.json- Linked from every page as rel=service-desc.
/developers- This page, linked as rel=service-doc.
/index.md- Linked from the homepage as a Markdown alternate.
/sitemap.xml- Every public page URL.
/robots.txt- Crawling is allowed.