Sreenitya Thatikunta Developer Portal

Public, read-only JSON API, OpenAPI 3.0.3 specification, CLI and agent resources for the Sreenitya Thatikunta portfolio.

Sreenitya Thatikunta's portfolio publishes a small, public, read-only JSON API so that AI agents, scripts and other developers can read the same information the website shows without scraping a JavaScript single-page app. Everything below is free to use, needs no API key, and is served over HTTPS with permissive CORS.

Quickstart

curl -s https://www.sreenitya.in/api/profile
curl -s "https://www.sreenitya.in/api/projects?kind=research"
curl -s https://www.sreenitya.in/api/projects/manus

Authentication

None. There are no API keys, tokens or sign-up. Every endpoint is public and read-only, so there is nothing to authorise. Please keep request volume reasonable — the whole dataset is a few kilobytes and responses are cached at the edge for an hour.

Endpoints

GET /api
Index of every endpoint, with links to the spec.
GET /api/health
Liveness check.
GET /api/profile
Identity, headline, links, contact.
GET /api/skills
Skills grouped by category.
GET /api/experience
Roles with dates and highlights.
GET /api/projects
Projects; filter with ?kind= or ?tag=.
GET /api/projects/{slug}
A single project by slug.
GET /api/contact
Machine-readable contact channels.
GET /api/openapi.json
The OpenAPI 3.0.3 specification.

Errors

Every error is JSON, never HTML. The shape is stable: an error object with code, message, hint, documentation_url and status.

{
  "error": {
    "code": "project_not_found",
    "message": "No project exists with slug 'nope'.",
    "hint": "List valid slugs with GET /api/projects.",
    "documentation_url": "https://www.sreenitya.in/docs",
    "status": 404
  }
}

Command line

A dependency-free CLI wraps the same endpoints, so you can script against the site without writing an HTTP client.

npx sreenitya profile
npx sreenitya projects --kind research
npx sreenitya project manus --json

Agent resources

Sandbox

The production API is the sandbox: it is read-only, so no request can change anything. Use GET /api/health as a harmless smoke test when wiring up a client.