---
title: "Developer guide"
description: "Keyless public reads, Markdown and remote MCP for Ravanan Kudil."
canonical: https://home.ashwingopalsamy.in/developers/
last_updated: 2026-10-04
revision: a4aa627d10837dc0964ad9aadf90e8e9134eb220022be8b0ee139fe27f6b0a46
language: en
---

# Developer guide

The base origin is https://home.ashwingopalsamy.in. These interfaces retrieve public journal information; they cannot modify records, contact people, access private evidence or make payments. Access is free and no signup or API key is required.

## First request
~~~sh
curl -fsS https://home.ashwingopalsamy.in/api/v1/site
curl -fsS 'https://home.ashwingopalsamy.in/api/v1/search?q=roof&limit=20'
curl -fsS https://home.ashwingopalsamy.in/api/v1/content/journal-summary
~~~

## Interfaces
The [OpenAPI 3.1.0 contract](/openapi.json) describes every published REST operation. GET /api/v1/site returns identity and documentation links. GET /api/v1/content lists content; GET /api/v1/content/{id} retrieves one record. GET /api/v1/search accepts literal words in q. Optional kind filters are page, summary, cost and work. There is no regex execution, external URL fetching or generated-answer service.

## Pagination and limits
Default limit is 20, maximum 100. Follow next_cursor with the same query, kind and limit. Results use ascending stable IDs against one content snapshot. Signed cursors expire after one hour; invalid, tampered or mismatched cursors return 400, and a changed snapshot returns 409. Start a fresh traversal after expiry or snapshot change. Search is bounded to 160 characters. The Worker enforces 120 integration requests per client IP per 60 seconds using Cloudflare’s per-location limiter, and 32 concurrent requests per isolate. This is approximate infrastructure protection, not a global billing quota. A 429 includes Retry-After: 60. X-Read-Limit describes this configured policy, not a remaining balance.

## Errors and caching
REST failures use application/problem+json following RFC 9457, with code and request_id extensions. Codes include invalid_input, not_found, invalid_cursor, snapshot_changed, rate_limited and unavailable. Do not retry invalid input. Retry safe reads with bounded backoff and jitter; never loop indefinitely. Public HTML and Markdown use separate ETags, Last-Modified and Vary: Accept; list/search responses use no-store because cursors expire. Cross-origin browser access is not enabled. Server clients are supported without CORS.

## Markdown and MCP
Fetch [index.md](/index.md), [developers.md](/developers.md), or the deterministic .md counterpart advertised by a public page. Explicit Accept: text/markdown also selects Markdown; q values and exclusions are respected. Wildcard browser requests default to HTML. Unsupported representations receive 406.

Connect a compatible Streamable HTTP MCP client to https://home.ashwingopalsamy.in/mcp. Protocol target is 2026-07-28 with official TypeScript SDK 2.0.0; legacy stateless negotiation is also provided by that SDK. The read-only tools are search_content and get_content. Resources expose the site guide and bounded navigation index. All interfaces share the same content projection and access policy. [Agent guide](/agents.md) · [Authentication](/auth.md) · [API catalog](/.well-known/api-catalog).

## Versions and local testing
REST paths are /api/v1; compatible additions may be made within v1. Stable IDs, operation IDs and existing field meanings must not change silently. Breaking contracts require a new major path and at least 90 days of documented notice while the prior version remains supported. No interface is currently deprecated. The local typed client and CLI are build artifacts, not published registry packages. See the repository’s readiness inventory for build, install and fixture commands. Local fixture tests are not production verification. This read-only service has no separate public sandbox because it has no destructive or paid workflow.

## Source

Review: not independently reviewed. Last updated: 2026-10-04.
Freshness comes from source/correction dates; month-only sources use their publication date as a disclosed release-date fallback. Work and payment dates are separate.

[Canonical page](https://home.ashwingopalsamy.in/developers/) · [Developer guide](/developers/) · [Navigation](/llms.txt)
