developers

An OpenAPI spec, an MCP server and four SDKs. Every read endpoint is open: no key, no rate penalty.


SDKs

import { AshwinGopalsamyClient } from "@ashwingopalsamy/sdk";

const client = new AshwinGopalsamyClient();
const profile = await client.getProfile();
const results = await client.searchSite("rate limiters", 5);

CLI

Inspect profile facts, technical notes, and search index directly from your terminal:

NPX / Node.jsZero-install Node CLI for profile inspection, global search, and note retrieval.
npx ashwingopalsamy profile
npx ashwingopalsamy search "rate limiters"
npx ashwingopalsamy note designing-rate-limiters-for-payment-systems
Curl / POSIX ShellLightweight POSIX shell runner for Unix environments without Node installed.
curl -sSL https://ashwingopalsamy.in/cli.sh | sh -s -- profile
curl -sSL https://ashwingopalsamy.in/cli.sh | sh -s -- search "ISO 8583"

Endpoints

  • GET/api/v1/profile

    Authoritative career summary, current role, location, and verified profile facts.

  • GET/api/v1/search?query={q}&limit={n}

    Search technical notes, craft projects, and reading list entries.

  • GET/api/v1/content?kind={kind}&limit={n}

    List public entries by kind (note, craft, book, watch, or all).

  • GET/api/v1/notes/{slug}

    Retrieve raw Markdown content and metadata for a published note.

  • GET/api/v1/status

    API operational status, versioning policy, and capability catalog.


Protocols

  • Model Context Protocol (MCP)

    /mcp
    Streamable HTTP · JSON-RPC 2.0

    Production MCP endpoint offering native tool execution (search_site, get_profile, list_content, get_note_markdown), resources, and prompt templates for autonomous AI agents.

    npx -y @modelcontextprotocol/inspector https://ashwingopalsamy.in/mcp
  • Agent-to-Agent (A2A)

    /a2a
    JSON-RPC 2.0 Task Routing

    Direct agent message exchange protocol for task delegation, profile extraction, and capability handoff.

    curl -s -X POST https://ashwingopalsamy.in/a2a -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"message/send","params":{"message":{"parts":[{"kind":"text","text":"profile"}]}}}'
  • OpenAPI Specification

    /openapi.json
    OpenAPI 3.1.0

    Complete machine-readable REST API schema defining strongly typed parameters, request contracts, and response schemas.

    curl -s https://ashwingopalsamy.in/openapi.json
  • Web Bot Auth Directory (RFC 9421)

    /.well-known/http-message-signatures-directory
    RFC 9421 · Ed25519 JWK

    Cryptographic public signature keys directory for verifying authentic bot identities and mitigating spoofing.

    curl -s https://ashwingopalsamy.in/.well-known/http-message-signatures-directory

Headers

API responses carry a version header:

API-Version2026-08-22
Contract release timestamp defining endpoint behavior.

Errors RFC 9457

Explicit path versioning (/api/v1) paired with RFC 9457 Problem Details for typed error responses:

{
  "type": "https://ashwingopalsamy.in/developers#errors",
  "title": "Resource Not Found",
  "status": 404,
  "detail": "Note slug 'non-existent' was not found in published index.",
  "code": "note_not_found",
  "resolution_hint": "Check /api/v1/content?kind=note for a complete list of valid note slugs."
}

Discovery